A path handling library for Rust. See the api docs!

Quick tour

The sys_absolute function is similar to std::fs::canonicalize but doesn't require accessing the filesystem.

rust // Normalizes the path and makes it absolute. // On Windows platforms this will use `\` as the path separator. let absolute = omnipath::sys_absolute("path/to/.//file".as_ref());

The sys_canonicalize function is almost the same std::fs::canonicalize except that it will try to return an non-verbatim path on Windows.

rust // On Windows this returns r"C:\path\to\file" instead of `\\?\C:\path\file` let canonical = omnipath::sys_absolute(r"C:\path\to\file".as_ref());

Platform-specific functions

The traits PosixPathExt and WinPathExt provide platform specific extension traits for std::path::Path. For example, on Windows they allow converting to a user path (useful for displaying a path to the user without the \\?\ part) or as a verbatim path