parallel_disk_usage/
lib.rs

1//! The library crate for `pdu`.
2//!
3//! The things you are most interested in are likely [`fs_tree_builder::FsTreeBuilder`],
4//! [`tree_builder::TreeBuilder`], [`data_tree::DataTree`], or [`visualizer::Visualizer`].
5
6#![deny(warnings)]
7
8#[cfg(feature = "json")]
9pub use serde;
10#[cfg(feature = "json")]
11pub use serde_json;
12
13#[cfg(feature = "cli")]
14pub mod app;
15#[cfg(feature = "cli")]
16pub mod args;
17#[cfg(feature = "cli")]
18pub mod runtime_error;
19
20/// The main program.
21#[cfg(feature = "cli")]
22pub fn main() -> std::process::ExitCode {
23    if let Err(error) = app::App::from_env().run() {
24        eprintln!("[error] {error}");
25        return error.code();
26    }
27    std::process::ExitCode::SUCCESS
28}
29
30#[cfg(feature = "cli")]
31pub use clap;
32#[cfg(feature = "cli")]
33pub use clap_complete;
34#[cfg(feature = "cli")]
35pub use clap_utilities;
36
37pub mod bytes_format;
38pub mod data_tree;
39pub mod fs_tree_builder;
40pub mod get_size;
41pub mod hardlink;
42pub mod inode;
43pub mod json_data;
44pub mod os_string_display;
45pub mod reporter;
46pub mod size;
47pub mod status_board;
48pub mod tree_builder;
49pub mod visualizer;
50
51pub use zero_copy_pads;