cmder 0.6.1

A simple, lightweight, command line argument parser for rust codebases
Documentation
use cmder::{ParserMatches, Program};

#[test]
fn test_args_api() {
    let mut program = Program::new();

    program
        .bin_name("yargs")
        .argument("<TEXT...>", "The text to print out")
        .description("A test for args parsing")
        .option("-n --newline", "Whether to print a newline after the text")
        .action(args_cmd_cb);

    program.parse_from(vec!["yargs", "hello", "world", "--newline"]);
}

fn args_cmd_cb(m: ParserMatches) {
    let cmd = m.get_matched_cmd();

    assert!(cmd.is_some());

    let cmd = cmd.unwrap();
    assert!(cmd.get_name() == "yargs");
    assert!(cmd.get_arguments().len() == 1);
    assert!(cmd.get_flags().len() == 3);
    assert!(m.contains_flag("--newline"));
    assert!(m.get_arg("<TEXT...>").unwrap() == "hello world");
}