swdir/lib.rs
1/// ## Quick start
2///
3/// ```sh
4/// cargo install swdir
5/// ```
6///
7/// ```rust
8/// use swdir::Swdir;
9///
10/// fn run() {
11/// let dir_node = Swdir::default().set_root_path("/some/path").scan();
12/// // -> DirNode (files and subdirectories)
13/// // -> flatten_paths() returns Vec<PathBuf>
14/// }
15/// ```
16///
17/// ### Recurse option
18///
19/// ```rust
20/// use swdir::{Recurse, Swdir};
21///
22/// fn run() {
23/// let recurse = Recurse {
24/// enabled: true,
25/// depth_limit: Some(1), // only first level subdirectory is scanned
26/// };
27///
28/// let dir_node = Swdir::default()
29/// .set_root_path("/some/path")
30/// .set_recurse(recurse)
31/// .disable_skip_hidden() // disable skip hidden files and directories
32/// .scan();
33/// }
34/// ```
35///
36/// ### Allowlist and denylist
37///
38/// ```rust
39/// use swdir::Swdir;
40///
41/// fn run() {
42/// let dir_node_with_allowlist = Swdir::default()
43/// .set_root_path("/some/path")
44/// .set_extension_allowlist(&["md"])
45/// .unwrap()
46/// .scan();
47///
48/// let dir_node_with_denylist = Swdir::default()
49/// .set_root_path("/some/path")
50/// .set_extension_denylist(&["md"])
51/// .unwrap()
52/// .scan();
53/// }
54/// ```
55mod core;
56mod helpers;
57
58pub use crate::{
59 core::Swdir,
60 helpers::{dir_node::DirNode, recurse::Recurse},
61};