Skip to main content

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 man_page;
19#[cfg(feature = "cli")]
20pub mod runtime_error;
21#[cfg(feature = "cli")]
22pub mod usage_md;
23
24/// The main program.
25#[cfg(feature = "cli")]
26pub fn main() -> std::process::ExitCode {
27    if let Err(error) = app::App::from_env().run() {
28        eprintln!("[error] {error}");
29        return error.code();
30    }
31    std::process::ExitCode::SUCCESS
32}
33
34#[cfg(feature = "cli")]
35pub use clap;
36#[cfg(feature = "cli")]
37pub use clap_complete;
38#[cfg(feature = "cli")]
39pub use clap_utilities;
40
41pub mod bytes_format;
42pub mod data_tree;
43pub mod device;
44pub mod fs_tree_builder;
45pub mod get_size;
46pub mod hardlink;
47pub mod inode;
48pub mod json_data;
49pub mod os_string_display;
50pub mod reporter;
51pub mod size;
52pub mod status_board;
53pub mod tree_builder;
54pub mod visualizer;
55
56pub use zero_copy_pads;