8 releases
0.2.7 | Aug 25, 2024 |
---|---|
0.2.6 | May 13, 2024 |
0.2.4 | Apr 14, 2020 |
#158 in Filesystem
4,801 downloads per month
Used in 5 crates
(via wezterm-ssh)
36KB
827 lines
filenamegen
Filename Generation, aka Globbing.
This crate implements shell style file name generation a.k.a.: globbing.
The provided globber can expand globs relative to a specified directory (or
just the current working directory). filenamegen
tries to avoid
walking down paths that will never match a glob in order to reduce
pressure on the underlying filesystem.
This simple example recursively finds all of the rust source files under the current directory.
use filenamegen::Glob;
fn main() -> anyhow::Result<()> {
let glob = Glob::new("**/*.rs")?;
for path in glob.walk(std::env::current_dir()?) {
println!("{}", path.display());
}
Ok(())
}
License: MIT
lib.rs
:
Filename Generation, aka Globbing.
This crate implements shell style file name generation a.k.a.: globbing.
The provided globber can expand globs relative to a specified directory (or
just the current working directory). filenamegen
tries to avoid
walking down paths that will never match a glob in order to reduce
pressure on the underlying filesystem.
This simple example recursively finds all of the rust source files under the current directory.
use filenamegen::Glob;
fn main() -> anyhow::Result<()> {
let glob = Glob::new("**/*.rs")?;
for path in glob.walk(std::env::current_dir()?) {
println!("{}", path.display());
}
Ok(())
}
Dependencies
~3–10MB
~100K SLoC