A path handling library for Rust. See the api docs!
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());
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