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
# use arguably::ArgParser;
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.");
}
if parser.found("bar") {
println!("Option --bar/-b found with value: {}", parser.value("bar"));
} else {
println!("Option --bar/-b has default value: {}", parser.value("bar"));
}
for arg in parser.args {
println!("Arg: {}", arg);
}