1#![cfg_attr(any(docsrs, feature = "nightly"), feature(doc_auto_cfg))]
46#![cfg_attr(any(docsrs, feature = "nightly"), feature(doc_cfg))]
47
48#[cfg(feature = "process")]
49mod process;
50#[cfg(feature = "process")]
51pub use process::{Child, Command, CommandBuilder, Spawn, color_flag, color_flag_eq, pio};
52#[cfg(all(feature = "process", feature = "print"))]
53pub use process::{width_flag, width_flag_eq};
54
55#[cfg(feature = "fs")]
56pub mod bin;
57#[cfg(feature = "fs")]
58#[doc(inline)]
59pub use bin::which;
60
61#[cfg(feature = "fs")]
63pub mod fs;
64
65#[cfg(feature = "fs")]
67mod path;
68#[cfg(feature = "fs")]
69pub use path::{PathExtension, PathExtensionOwned};
70
71#[cfg(feature = "cli")]
72pub mod cli;
73#[cfg(feature = "cli")]
74pub use pistonite_cu_proc_macros::cli;
75
76mod async_;
77pub use async_::BoxedFuture;
78#[cfg(feature = "coroutine")]
79pub mod co;
80
81#[cfg(feature = "print")]
83mod print;
84#[cfg(feature = "print")]
85pub use print::{
86 ProgressBar, init_print_options, log_init, progress_bar, progress_bar_lowp, progress_unbounded,
87 progress_unbounded_lowp, set_thread_print_name, term_width, term_width_height,
88 term_width_or_max,
89};
90
91pub mod lv;
93#[doc(inline)]
94pub use lv::{color_enabled, log_enabled};
95
96#[cfg(feature = "parse")]
98mod parse;
99#[cfg(feature = "parse")]
100pub use parse::*;
101#[cfg(feature = "parse")]
102pub use pistonite_cu_proc_macros::Parse;
103
104mod atomic;
106pub use atomic::*;
107
108mod misc;
110pub use misc::*;
111
112pub use anyhow::{Context, Ok, Result, anyhow as fmterr, bail, ensure};
114pub use log::{debug, error, info, trace, warn};
115#[cfg(feature = "coroutine")]
116pub use tokio::{join, try_join};
117
118#[doc(hidden)]
119pub mod __priv {
120 #[cfg(feature = "print")]
121 pub use crate::print::{__print_with_level, __prompt, __prompt_yesno};
122 #[cfg(feature = "process")]
123 pub use crate::process::__ConfigFn;
124}
125
126pub mod lib {
128 #[cfg(feature = "cli")]
129 pub use clap;
130}
131
132pub mod pre {
134 pub use crate::Context as _;
135 #[cfg(feature = "parse")]
136 pub use crate::ParseTo as _;
137 #[cfg(feature = "fs")]
138 pub use crate::PathExtension as _;
139 #[cfg(feature = "fs")]
140 pub use crate::PathExtensionOwned as _;
141 #[cfg(feature = "process")]
142 pub use crate::Spawn as _;
143 #[cfg(feature = "json")]
144 pub use crate::json;
145 #[cfg(feature = "cli")]
146 pub use crate::lib::clap;
147 #[cfg(feature = "toml")]
148 pub use crate::toml;
149 #[cfg(feature = "yaml")]
150 pub use crate::yaml;
151 #[cfg(feature = "serde")]
152 pub use ::serde::{Deserialize, Serialize};
153}