Latest version Documentation

pargs

command line argument parser

pargs - command line argument parser

the design goal of pargs is to simply return parsed arguments to a caller in a defined format for ease of lookup.

pargs works with three common types of arguments: commands, flags and options.

Using pargs

using pargs is very simple: define all three types of arguments that your program needs and pass them as individual Vec<String> to pargs::parse(). parse() will return a Matches struct of the parsed arguments keyed by category so that your application can easily interpret them.

The return values of successfully parsed arguments are as follows:

Definitions

Example

The following example shows a simple program that defines all three types of arguments (commands, flag and option). Pargs is passed a Vec<String> from env::args() at which point it parses the arguments and returns them to the program in a simple data structure.

```rust use std::env;

fn main() { let actualargs: Vec = env::args().collect(); let commandargs = vec![String::from("coolcommand")]; let flagargs = vec![String::from("-h")]; let option_args = vec![String::from("-j"), String::from("-i")];

let parsedargs = pargs::parse(actualargs, commandargs, flagargs, option_args);

match parsedargs { Ok(parsedargs) => println!("{:?}", parsedargs), Err(parsedargs) => println!("{}", parsed_args), } } ```

If we run this program with cargo run cool_command -h -j=test123 -i=test456, the output will be Matches { command_args: ["cool_command"], flag_args: ["-h"], option_args: {"-i": "test456", "-j": "test123"} }.

From here, we can lookup the values and utilize them in our program.