The following flags may be or’d together in the flags
field of a
struct argp_option
. These flags control various aspects of how
that option is parsed or displayed in help messages:
OPTION_ARG_OPTIONAL
¶The argument associated with this option is optional.
OPTION_HIDDEN
¶This option isn’t displayed in any help messages.
OPTION_ALIAS
¶This option is an alias for the closest previous non-alias option. This
means that it will be displayed in the same help entry, and will inherit
fields other than name
and key
from the option being
aliased.
OPTION_DOC
¶This option isn’t actually an option and should be ignored by the actual option parser. It is an arbitrary section of documentation that should be displayed in much the same manner as the options. This is known as a documentation option.
If this flag is set, then the option name
field is displayed
unmodified (e.g., no ‘--’ prefix is added) at the left-margin where
a short option would normally be displayed, and this
documentation string is left in it’s usual place. For purposes of
sorting, any leading whitespace and punctuation is ignored, unless the
first non-whitespace character is ‘-’. This entry is displayed
after all options, after OPTION_DOC
entries with a leading
‘-’, in the same group.
OPTION_NO_USAGE
¶This option shouldn’t be included in ‘long’ usage messages, but should
still be included in other help messages. This is intended for options
that are completely documented in an argp’s args_doc
field. See Specifying Argp Parsers. Including this option in the generic usage
list would be redundant, and should be avoided.
For instance, if args_doc
is "FOO BAR\n-x BLAH"
, and the
‘-x’ option’s purpose is to distinguish these two cases, ‘-x’
should probably be marked OPTION_NO_USAGE
.