9 releases
0.3.4 | Apr 21, 2020 |
---|---|
0.3.3 | Apr 18, 2020 |
0.3.1 | Jan 31, 2020 |
0.2.2 | Jan 13, 2020 |
0.1.3 |
|
#1316 in Filesystem
38KB
706 lines
ichwh
- an async implementation of GNU which
ichwh
aims to be a fully-async clone of GNU which
, compatible with the three major
operating systems. The main job of which
is to search for executables on the current PATH
.
This crate is similar to the synchronous which
crate. The main difference is
that ichwh
is asynchronous, and provides a which_all
method.
Usage
In Cargo.toml
:
ichwh = "*"
In your source files:
use ichwh::which;
let path_to_python = which("python").await.unwrap();
assert_eq!(path_to_python.to_str().unwrap(), "/usr/bin/python");
Testing
Run tests with cargo test
. The tests will create a set of temporary test folders. They are rooted
at /tmp/ichwh-test-<num>
(%TEMP%/...
on windows), where <num>
is the number of minutes since
the unix epoch. If all tests pass, the folders will be cleaned up. Any failing tests will preserve
their test folders for inspection and debugging.
Changelog
Versioning
This crate adheres to SemVer. This crate is pre-1.0, meaning that breaking changes to the publicly-documented API will bump the minor version, and non-breaking changes will bump the patch version.
All publicly-documented items in this crate (i.e., items visible for a platform on docs.rs) are considered stable until a breaking version increment. Do not depend on or use non-documented items that may be visible in-code; they may change at any time.
Please report any unexpected API breakage as a bug.
Contributing
See CONTRIBUTING.md.
Dependencies
~6–15MB
~194K SLoC