2 releases
0.0.1 | Apr 22, 2020 |
---|---|
0.0.0 | Apr 22, 2020 |
#91 in #clean
21,673 downloads per month
Used in 16 crates
(9 directly)
6KB
60 lines
lexiclean
Lexically clean rust paths.
See the docs for more information.
lib.rs
:
This crate exports a single trait, Lexiclean
, with a single method,
lexiclean
, implemented on &Path
, that performs lexical path cleaning.
Lexical path cleaning simplifies paths without looking at the underlying filesystem. This means:
-
Normally, if
file
is a file and not a directory, the pathfile/..
will fail to resolve to. Lexiclean resolves this to.
-
Path::canonicalize
returnsio::Result<PathBuf>
, because it must make system calls, that might fail. Lexiclean does not make system calls, and thus cannot fail. -
The path returned by lexiclean will only contain components present in the input path. This can make the resultant paths more legible for users, since
foo/..
will resolve to.
, and not/Some/absolute/directory
. -
Lexiclean does not respect symlinks.
-
Lexiclean has only been lightly tested. In particular, it has not been tested with windows paths, which are very complicated, and can contain many types of components that the author of this crate never contemplated.
Additional test cases and bug fixes are most welcome!