Command.Flag
SourceCommand-line flag specifications.
Required flags must be passed exactly once.
Optional flags may be passed at most once.
optional_with_default
flags may be passed at most once, and default to a given value.
listed
flags may be passed zero or more times.
one_or_more_as_pair
flags must be passed one or more times.
Like one_or_more_as_pair
, but returns the flag values as a list.
no_arg
flags may be passed at most once. The boolean returned is true iff the flag is passed on the command line.
no_arg_register ~key ~value
is like no_arg
, but associates value
with key
in the autocomplete environment.
no_arg_some value
is like no_arg
, but will return Some value
if the flag is passed on the command line, and return None
otherwise.
no_arg_required value
is like no_arg
, but the argument is required. This is useful in combination with choose_one_non_optional
.
no_arg_abort ~exit
is like no_arg
, but aborts command-line parsing by calling exit
. This flag type is useful for "help"-style flags that just print something and exit.
escape
flags may be passed at most once. They cause the command line parser to abort and pass through all remaining command line arguments as the value of the flag.
A standard choice of flag name to use with escape
is "--"
.
val escape_with_autocomplete :
complete:Auto_complete.For_escape.t ->
Base.string Base.list Base.option t