9 unstable releases (4 breaking)
Uses new Rust 2024
| 0.5.0 | Aug 22, 2025 |
|---|---|
| 0.4.3 | May 28, 2025 |
| 0.4.1 | Mar 12, 2025 |
| 0.4.0 | Feb 22, 2025 |
| 0.1.1 | Sep 26, 2024 |
#1040 in Filesystem
31,857 downloads per month
Used in workspace_root
24KB
390 lines
Get Dir
A utility to get directory.
This utility searches for a target directory by checking for any directories or files that match the provided input.
Usage
Get directory by target with the following code:
use std::path::PathBuf;
use get_dir::{
GetDir,
Target,
DirTarget,
};
let path: PathBuf = GetDir::new()
.target(
Target::Dir(DirTarget::new("src")),
)
.run()
.unwrap();
Or get directory by target in reverse with the following code:
use std::path::PathBuf;
use get_dir::{
GetDir,
Target,
FileTarget,
};
let path: PathBuf = GetDir::new()
.target(
Target::File(FileTarget::new("LICENSE")),
)
.run_reverse()
.unwrap();
Async version also available with async_std, smol and tokio features:
use std::path::PathBuf;
use get_dir::{
GetDir,
Target,
DirTarget,
// async_std
async_std::GetDirAsyncExt,
// smol
smol::GetDirAsyncExt,
// tokio
tokio::GetDirAsyncExt,
};
let path: PathBuf = GetDir::new()
.target(
Target::Dir(DirTarget::new("src")),
)
.run_async()
.await
.unwrap();
See also
For resolving the root of a workspace, consider using the workspace_root library.
License
This project is licensed under the terms of the MIT license.
Dependencies
~0–5MB
~110K SLoC