lipgloss_extras/
lib.rs

1//! Facade crate for the lipgloss Rust ecosystem.
2//!
3//! - Always re-exports `lipgloss` as `lipgloss_extras::lipgloss`.
4//! - Optional feature-gated re-exports:
5//!   - `lists`  → `lipgloss_extras::list`
6//!   - `trees`  → `lipgloss_extras::tree`
7//!   - `tables` → `lipgloss_extras::table`
8//! - `full` enables all of the above.
9//!
10//! Example:
11//! ```toml
12//! [dependencies]
13//! lipgloss-extras = { version = "0.1.0", features = ["full"] }
14//! ```
15//!
16//! ```rust
17//! use lipgloss_extras::lipgloss::{Style, Color};
18//! #[cfg(feature = "lists")]
19//! use lipgloss_extras::list::List;
20//! ```
21
22pub use lipgloss;
23
24#[cfg(feature = "lists")]
25pub use lipgloss_list as list;
26
27#[cfg(feature = "trees")]
28pub use lipgloss_tree as tree;
29
30#[cfg(feature = "tables")]
31pub use lipgloss_table as table;
32
33/// Commonly-used items re-exported for convenience.
34#[allow(ambiguous_glob_reexports)]
35pub mod prelude {
36    pub use crate::lipgloss::{self, *};
37
38    #[cfg(feature = "lists")]
39    pub use crate::list::*;
40
41    #[cfg(feature = "trees")]
42    pub use crate::tree::*;
43
44    #[cfg(feature = "tables")]
45    pub use crate::table::*;
46}
47
48#[cfg(test)]
49mod tests {
50    use super::lipgloss::Style;
51
52    #[test]
53    fn core_exists() {
54        let _ = Style::new();
55    }
56
57    #[cfg(feature = "lists")]
58    #[test]
59    fn lists_exists() {
60        let _ = crate::list::List::new();
61    }
62
63    #[cfg(feature = "trees")]
64    #[test]
65    fn trees_exists() {
66        let _ = crate::tree::Tree::new();
67    }
68
69    #[cfg(feature = "tables")]
70    #[test]
71    fn tables_exists() {
72        let _ = crate::table::Table::new();
73    }
74}