cmdopts 0.2.1

GNU-like command line options parser.
Documentation
  • Coverage
  • 86.67%
    26 out of 30 items documented0 out of 11 items with examples
  • Size
  • Source code size: 41.03 kB This is the summed size of all the files inside the crates.io package for this release.
  • Documentation size: 3.74 MB This is the summed size of all files generated by rustdoc for all configured targets
  • Ø build duration
  • this release: 12s Average build duration of successful builds.
  • all releases: 12s Average build duration of successful builds in releases after 2024-10-23.
  • Links
  • pstolarz/cmdopts
    1 0 0
  • crates.io
  • Dependencies
  • Versions
  • Owners
  • pstolarz

crates.io tests docs.rs

Command Line Options Parser

Simple command line parser in Rust.

cmdopts parses GNU-like command line options for long and short formats. Optional argument (aka option's value) may be associated with an option. The parsing routine parse_opts() accepts two user callbacks:

  • opt_i() provides parser with a context the parsed option may be used,
  • opt_h() is the actual handler of the option.

The library doesn't interpret parsed options, rather passes them to the user's handler to further processing. The idea is similar to getopt(3) and getopt_long(3) routines.

Options Format

Short format

All options starting with a single hyphen character - are short options. For example: -a -b -c constitute 3 short options. These options may grouped into a single block of options as -abc.

If a short option requires an argument, the argument may be provided directly after the option or separated by white-space(s): -dARG or -d ARG.

If short options are grouped into a block, the last one may be provided with an argument. For example: -abcdARG or -abcd ARG is equivalent to -a -b -c -d ARG, where -a -b -c don't have an argument, while -d does.

Long format

If an option starts with -- it's long format option. For example --help. Long options may not be formed into a group. An argument may be provided to the long-format option directly after = character or followed by white-space(s): --config=FILE or --config FILE.

Usage

See enclosed examples for details.

License

2 clause BSD license. See LICENSE file for details.