oma_console/lib.rs
1//! # oma-console
2//!
3//! `oma-console` is a utility crate that provides console functionalities for *oma*
4//!
5//! It offers modules for printing stylized messages, managing pagers, displaying progress bars, and handling terminal writing utilities.
6//!
7//! ## Features
8//!
9//! - **Print**: Stylized message printer with support for prefixes and automatic line wrapping.
10//! - **Pager**: Terminal pager with scrolling and searching capabilities.
11//!
12//! ## Modules
13//!
14//! - `pager`: Implements a terminal pager with the `crossterm` and `ratatui` crates.
15//! - `pb`: Implements numerous styles of progress bars with the `indicatif` crate.
16//! - `writer`: Implements a formatted message writer to the terminal.
17//! - `print`: Implements a formatted message logger with support for different logging levels (normal, debug, error, etc.).
18//!
19
20#[cfg(feature = "pager")]
21pub mod pager;
22
23#[cfg(feature = "progress_bar_style")]
24pub mod pb;
25
26#[cfg(feature = "print")]
27pub mod writer;
28
29#[cfg(feature = "print")]
30pub mod print;
31
32#[cfg(feature = "print")]
33pub use print::OmaLayer;
34
35#[cfg(feature = "print")]
36pub use console;
37
38#[cfg(feature = "progress_bar_style")]
39pub use indicatif;