swdir
Swiftly traverse and scan directories recursively. Sway ðŸª, swing 🎷 or swim 🪼 in directories.
Quick start
use Swdir;
Recurse option
use ;
Allowlist and denylist
use Swdir;
Swiftly traverse and scan directories recursively. Sway ðŸª, swing 🎷 or swim 🪼 in directories.
cargo install swdir
use swdir::Swdir;
fn run() {
let dir_node = Swdir::default().set_root_path("/some/path").walk();
// -> DirNode (files and subdirectories)
// -> flatten_paths() returns Vec<PathBuf>
}
use swdir::{Recurse, Swdir};
fn run() {
let recurse = Recurse {
enabled: true,
depth_limit: Some(1), // only first level subdirectory is scanned
};
let dir_node = Swdir::default()
.set_root_path("/some/path")
.set_recurse(recurse)
.disable_skip_hidden() // don't skip hidden files and directories
.walk();
}
use swdir::Swdir;
fn run() {
let dir_node_with_allowlist = Swdir::default()
.set_root_path("/some/path")
.set_extension_allowlist(&["md"])
.unwrap()
.walk();
let dir_node_with_denylist = Swdir::default()
.set_root_path("/some/path")
.set_extension_denylist(&["md"])
.unwrap()
.walk();
}