Expand description

A minimalist library for parsing command line arguments.

Features

  • Long-form boolean flags with single-character shortcuts: --flag, -f.
  • Long-form string-valued options with single-character shortcuts: --option <arg>, -o <arg>.
  • Condensed short-form options: -abc <arg> <arg>.
  • Automatic --help and --version flags.
  • Support for multivalued options.
  • Support for git-style command interfaces with arbitrarily-nested commands.

Example

let mut parser = ArgParser::new()
    .helptext("Usage: foobar...")
    .version("1.0")
    .option("bar b", "default")
    .flag("foo f");

if let Err(err) = parser.parse() {
    err.exit();
}

if parser.found("foo") {
    println!("Flag --foo/-f found.");
}

println!("Option --bar/-b has value: {}", parser.value("bar"));

for arg in parser.args {
    println!("Arg: {}", arg);
}

Structs

An ArgParser instance can be intialized using the builder pattern.

Enums

Error types returned by the library.