Skip to main content

dua/
lib.rs

1//! Public library API for `dua` core traversal and aggregation functionality.
2//!
3//! This crate powers the `dua` binary and can also be used as a library.
4#![deny(unsafe_code)]
5#![deny(missing_docs)]
6
7pub(crate) use dua_core as walk;
8pub use dua_core::Options as TraversalOptions;
9
10mod aggregate;
11mod common;
12mod config;
13pub use config::{Config, KeyBinding, KeyBindings, KeysConfig};
14mod crossdev;
15mod diff;
16pub use diff::diff_snapshots;
17mod inodefilter;
18/// Reading and writing dua traversal snapshots.
19pub mod snapshot;
20mod tree;
21
22mod stacks;
23/// Filesystem traversal, in-memory tree representation, and traversal events.
24pub mod traverse;
25
26#[cfg(any(windows, target_os = "macos"))]
27pub use aggregate::aggregate_entries;
28pub use aggregate::{aggregate, aggregate_replay, aggregate_snapshot};
29pub use common::*;
30pub(crate) use inodefilter::InodeFilter;
31pub use stacks::{stacks, stacks_from_replay, stacks_from_traversal};
32pub use tree::{aggregate_tree, aggregate_tree_from_replay, aggregate_tree_from_traversal};