1mod config;
6mod render;
7mod rich_main;
8mod testing;
9mod theme;
10
11pub use config::{
12 ColorSystemMode, GroupConfig, PanelConfig, RichHelpConfig, RichHelpConfigBuilder, TableConfig,
13 TextMarkup,
14};
15pub use render::{
16 main_rich_command, main_rich_command_with_errors, main_rich_group, main_rich_group_with_errors,
17 RichHelp, RichHelpRenderer,
18};
19pub use rich_main::RichMainExt;
20pub use testing::RichCliRunner;
21pub use theme::{list_themes, ThemeError};
22
23#[macro_export]
24macro_rules! rich_main {
25 ($command:expr) => {{
26 let args: Vec<String> = std::env::args().skip(1).collect();
27 let cfg = $crate::RichHelpConfig::global().clone();
28 $crate::main_rich_command(&$command, args, &cfg)
29 }};
30}
31
32#[macro_export]
33macro_rules! rich_main_with_errors {
34 ($command:expr) => {{
35 let args: Vec<String> = std::env::args().skip(1).collect();
36 let cfg = $crate::RichHelpConfig::global().clone();
37 $crate::main_rich_command_with_errors(&$command, args, &cfg)
38 }};
39}
40
41#[macro_export]
42macro_rules! rich_main_group {
43 ($group:expr) => {{
44 let args: Vec<String> = std::env::args().skip(1).collect();
45 let cfg = $crate::RichHelpConfig::global().clone();
46 $crate::main_rich_group(&$group, args, &cfg)
47 }};
48}
49
50#[macro_export]
51macro_rules! rich_main_group_with_errors {
52 ($group:expr) => {{
53 let args: Vec<String> = std::env::args().skip(1).collect();
54 let cfg = $crate::RichHelpConfig::global().clone();
55 $crate::main_rich_group_with_errors(&$group, args, &cfg)
56 }};
57}