use super::*; use std::{ str, fmt, path::{ PathBuf, Path, }, }; mod parse; mod format; pub use format::*; mod error; pub use error::*; mod job; pub use job::*; mod global; pub use global::*; /// Parse a single config file #[inline] pub async fn parse_global_single(path: impl AsRef) -> Result { let mut cfg = Config::default(); parse::global(&mut cfg, path).await?; Ok(cfg) } /// Re-exporting `build/config.toml` #[allow(unused_imports)] mod build_cfg; pub mod build { use super::build_cfg::*; use crate::static_assert; /// Config for hotreload module `hot` pub mod hot { pub use super::*; /// `GLOBAL_BACKLOG` pub const BACKLOG: usize = CONFIG.hot.backlog as usize; /// `GLOBAL_TIMEOUT` pub const TIMEOUT: u64 = CONFIG.hot.timeout as u64; static_assert!(BACKLOG > 0); static_assert!(TIMEOUT > 0); } pub mod log { pub use super::*; pub const DEFAULT_LOCAL_TIME: bool = CONFIG.log.default_time_local; pub const DATE_FORMAT: std::borrow::Cow<'static, str> = CONFIG.log.date_format; } /// Print the status of `build.toml` vars #[cfg(any(debug_assertions,feature="debug_logger"))] pub fn stat() { use crate::status; status!("Static options:"); status!(" hot::BACKLOG = {}", hot::BACKLOG); status!(" hot::TIMEOUT = {}", hot::TIMEOUT); } /// Print the status of `build.toml` vars #[cfg(not(any(debug_assertions,feature="debug_logger")))] #[inline] pub const fn stat(){} }