seahorse

crates.io

A minimal CLI framework written in Rust

Using

toml [dependencies] seahorse = "0.3.0"

Example

Multiple action app

```rust use std::env; use seahorse::{App, Action, Command, color};

fn main() { let args: Vec = env::args().collect(); let action: Action = |v: Vec| println!("Hello, {:?}", v); let displayname = color::magenta(" ██████╗██╗ ██╗ ██╔════╝██║ ██║ ██║ ██║ ██║ ██║ ██║ ██║ ╚██████╗███████╗██║ ╚═════╝╚══════╝╚═╝"); let command = Command::new("hello", "clitool hello user", action);

let app = App::new()
    .name("cli_tool")
    .display_name(display_name)
    .usage("cli_tool [command] [arg]")
    .version(env!("CARGO_PKG_VERSION"))
    .commands(vec![command]);

app.run(args);

} ```

Single action app

```rust use std::env; use seahorse::{SingleApp, Action, color};

fn main() { let args: Vec = env::args().collect(); let action: Action = |v: Vec| println!("Hello, {:?}", v); let display_name = color::magenta(" ██████╗██╗ ██╗ ██╔════╝██║ ██║ ██║ ██║ ██║ ██║ ██║ ██║ ╚██████╗███████╗██║ ╚═════╝╚══════╝╚═╝");

let app = SingleApp::new()
    .name("cli_tool")
    .display_name(display_name)
    .usage("cli_tool [args]")
    .version(env!("CARGO_PKG_VERSION"))
    .action(action);

app.run(args);

} ```