#path #platform-agnostic #quirks

nightly quirks_path

A Rust path library with quirks that is as platform-agnostic as possible

1 unstable release

new 0.1.0 Jan 5, 2025

#438 in Filesystem

Download history 121/week @ 2025-01-04

121 downloads per month

MIT license

170KB
3.5K SLoC

quirks-path

A Rust path library with quirks that is as platform-agnostic as possible.

Quick Start

Install

cargo install quirks-path

Import

use quirks_path::{ Path, PathBuf };

FAQ

1. Why create a quirky path library?

Forked from std::path, the library provides as much cross-platform path manipulation capability as possible.

One major use case is serving as an intermediary server: receiving path data from clients, performing path operations, and then forwarding it to a third party service (with the third party's system platform determined solely by the client).

2. Support List

  • *nix Paths (without /): /bin/sh
  • Windows Verbatim: \\?\cat_pics
  • Windows Verbatim UNC: \\?\UNC\server\share
  • Windows Verbatim Disk: \\?\C:
  • Windows DeviceNS: \\.\COM42
  • Windows UNC: \\server\share
  • Windows Disk: C:

3. Quirks

  • Think any of / or \ be a seperator or special mark

  • Prefer think paths that not have verbatim prefix and start with / be *nix-like root paths

  • Prefer think paths start with drive as windows drive paths, and if not contains / sep then default use \ sep

  • When call absolute method it will not trim components trailing space and dots (windows style) and not remove parent ..

  • Prefer think paths that not have verbatim prefix and start with \ be *windows-like root paths

  • Lack of extra information, think COM1 as relative path

Dependencies

~2.9–4MB
~73K SLoC