Crates.io | cmdopts |
lib.rs | cmdopts |
version | 0.2.0 |
source | src |
created_at | 2023-05-21 19:58:31.560817 |
updated_at | 2023-05-24 15:54:29.83778 |
description | GNU-like command line options parser. |
homepage | |
repository | https://github.com/pstolarz/cmdopts |
max_upload_size | |
id | 870125 |
size | 41,532 |
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.
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.
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
.
See enclosed examples
for details.
2 clause BSD license. See LICENSE
file for details.