clargs 0.2.1

A command-line arguments parsing library.
Documentation
extern crate clargs;

#[test]
fn full_test() {
    let mut parser = clargs::Parser::new();

    parser.add_flag(String::from("flag"));
    parser.add_alias(String::from("f"), String::from("flag"));

    parser.add_named_param::<i32>(String::from("int"));


    let args = ["path/to/bin"];
    let results = parser.parse(args.iter()).ok().unwrap();
    assert_eq!(results.path(), "path/to/bin");

    let args = ["path/to/bin", "--flag", "--int", "21"];
    let results = parser.parse(args.iter()).ok().unwrap();
    assert_eq!(results.path(), "path/to/bin");
    assert!(results.flag("flag"));
    assert_eq!(*results.named_param::<i32>("int").unwrap(), 21);

    let args = ["path/to/bin", "--flag", "--", "--int", "21"];
    let results = parser.parse(args.iter()).ok().unwrap();
    assert_eq!(results.path(), "path/to/bin");
    assert!(results.flag("flag"));
    assert_eq!(results.unnamed_param(0), "--int");
    assert_eq!(results.unnamed_param(1), "21");

    let args = ["path/to/bin", "-f", "--int=21"];
    let results = parser.parse(args.iter()).ok().unwrap();
    assert_eq!(results.path(), "path/to/bin");
    assert!(results.flag("flag"));
    assert_eq!(*results.named_param::<i32>("int").unwrap(), 21);
}