clap-rs/thunder

⚡ Zero-boilerplate commandline argument parsing in Rust

Rust

357

42 commits

updated Jul 24, 2018

See the code

README

Build status Docs.rs



Write simple commandline applications in Rust with zero boilerplate. Bind Rust functions to CLI functions and options with macros. This crate uses clap.rs for the actual argument parsing.

Example

// ... ignore the imports for now ...

struct MyApp;

/// Describe your application with style ✨
#[thunderclap]
impl MyApp {
    /// Say hello to someone
    fn hello(name: &str) {
        println!("Hello {}", name);
    }
}

fn main() {
    MyApp::start();
}

This prints

USAGE:
    MyApp [SUBCOMMAND]

FLAGS:
    -h, --help       Prints help information
    -V, --version    Prints version information

SUBCOMMANDS:
    hello    Say hello to someone
    help     Prints this message or the help of the given subcommand(s)

Check the documentation for more examples.

argument-parsing
cli-app
rust

Contributors

spacekookie

30 commits

killercup

5 commits

gugahoa

2 commits

gurry

1 commits

clap-rs/thunder

⚡ Zero-boilerplate commandline argument parsing in Rust

Rust

357

42 commits

updated Jul 24, 2018

See the code

README

Build status Docs.rs



Write simple commandline applications in Rust with zero boilerplate. Bind Rust functions to CLI functions and options with macros. This crate uses clap.rs for the actual argument parsing.

Example

// ... ignore the imports for now ...

struct MyApp;

/// Describe your application with style ✨
#[thunderclap]
impl MyApp {
    /// Say hello to someone
    fn hello(name: &str) {
        println!("Hello {}", name);
    }
}

fn main() {
    MyApp::start();
}

This prints

USAGE:
    MyApp [SUBCOMMAND]

FLAGS:
    -h, --help       Prints help information
    -V, --version    Prints version information

SUBCOMMANDS:
    hello    Say hello to someone
    help     Prints this message or the help of the given subcommand(s)

Check the documentation for more examples.

argument-parsing
cli-app
rust

Contributors

spacekookie

30 commits

killercup

5 commits

gugahoa

2 commits

gurry

1 commits

Languages

Rust

100.0%