mod-cli 0.6.4

A fully customizable, feature-rich CLI framework for Rust. Define commands, prefixes, styled output, and more—built for flexibility and speed.
Documentation
use crossterm::style::{Color, Stylize};
use modcli::output::{print, themes};
use modcli::{set_startup_banner, ModCli};

fn main() {
    // Register a one-time banner callback (runs at the start of ModCli::run)
    set_startup_banner(|| {
        let _guard = themes::ThemeGuard::apply("blue");
        let art = r#"

  ▗▖  ▗▖ ▗▄▄▖ ▗▄▄▄ 
  ▐▛▚▞▜▌▐▌  ▐▌▐▌  █
  ▐▌  ▐▌▐▌  ▐▌▐▌  █
  ▐▌  ▐▌▝▚▄▄▞▘▐▙▄▄▀  
  ┳┳┓┏┓┳┓  ┳┓┳┳┏┓┏┳┓
  ┃┃┃┃┃┃┃  ┣┫┃┃┗┓ ┃ 
  ┛ ┗┗┛┻┛  ┛┗┗┛┗┛ ┻ 
"#;
        print::line(&art.with(Color::Cyan).bold().to_string());
        print::line("Welcome to mod-cli! Type 'help' to see available commands.");
        themes::Theme::reset();
        println!();
    });

    // Minimal CLI to demonstrate banner showing before dispatch
    let mut cli = ModCli::new();
    // Use a dummy command name so this exits gracefully
    cli.run(vec!["help".into()]);
}