swdir 0.5.0

Swiftly traverse and scan directories recursively. Sway 💃, swing 🎷 or swim 🪼 in directories.
Documentation

swdir

Rust crates.io Rust Documentation Dependency Status License

Swiftly traverse and scan directories recursively. Sway 💃, swing 🎷 or swim 🪼 in directories.

Quick start

use swdir::Swdir;

let dir_node = Swdir::default().set_root_path("/some/path").scan();
// -> DirNode (files and subdirectories)

Recurse option

use swdir::{Recurse, Swdir};

let recurse = Recurse {
    enabled: true,
    skip_hidden: true,    // skip hidden files and directories
    depth_limit: Some(1), // only first level subdirectory is scanned
};

let dir_node = Swdir::default()
    .set_root_path("/some/path")
    .set_recurse(recurse)
    .scan();

Allowlist and denylist

use swdir::Swdir;

let dir_node_with_allowlist = Swdir::default()
    .set_root_path("/some/path")
    .set_extension_allowlist(&["md"])
    .unwrap()
    .scan();

let dir_node_with_denylist = Swdir::default()
    .set_root_path("/some/path")
    .set_extension_allowlist(&["md"])
    .unwrap()
    .scan();