Skip to main content

Crate getopt2

Crate getopt2 

Source
Expand description

§getopt2 command line parser

§Main features

  1. GNU getopt flexible argument parsing rules. Options and positional arguments can be mixed.
  2. Unknown options are turned into arguments.
  3. Double dash “–” support for options / arguments separation.
  4. POSIX mode parsing when optstring starts with “+”
  5. Optional argument support “::”
  6. Allow use of “?” as option character. Always active, supported compatibility with getopt extension when optstring starts with “:”.

getopt2::new parses the command line elements and isolates arguments from options. It returns a getopt structure where you can query options and use isolated arguments.

A 2 characters long element that starts with ‘-’ (and is not exactly --) is an option element. The character following the initial ‘-’ is an option character.

A double dash -- can be used to indicate the end of options; any arguments following it are treated as positional arguments.

Option values are separated from option element with spaces.

§Example
use std::env::args;
use getopt2::hideBin;
let rc = getopt2::new(hideBin(args()), "ab:c");
if let Ok(g) = rc {
   // command line options parsed sucessfully
   if let Some(str) = g.options.get(&'b') {
      // handle b argument
      println!("option -b have {} argument", str);
   };
};
§Reference
  1. POSIX getopt function.
  2. GNU libc getopt function.

Structs§

getopt
Parsed command line options.

Enums§

argument
Information if option have an argument.

Functions§

hideBin
Removes first element from the IntoIterator.
new
Parse command line arguments.
validate
Validate parsed options in strict mode.