Command.Flag
Command-line flag specifications.
val required : 'a Arg_type.t -> 'a t
Required flags must be passed exactly once.
val optional : 'a Arg_type.t -> 'a Base.option t
Optional flags may be passed at most once.
val optional_with_default : 'a -> 'a Arg_type.t -> 'a t
optional_with_default
flags may be passed at most once, and default to a given value.
val listed : 'a Arg_type.t -> 'a Base.list t
listed
flags may be passed zero or more times.
val one_or_more_as_pair : 'a Arg_type.t -> ('a * 'a Base.list) t
one_or_more_as_pair
flags must be passed one or more times.
val one_or_more_as_list : 'a Arg_type.t -> 'a Base.list t
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.
val no_arg_register :
key:'a Univ_map.With_default.Key.t ->
value:'a ->
Base.bool t
no_arg_register ~key ~value
is like no_arg
, but associates value
with key
in the autocomplete environment.
val no_arg_some : 'a -> 'a Base.option t
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.
val no_arg_required : 'a -> 'a t
no_arg_some value
is like no_arg
, but the argument is required. This is useful in combination with choose_one_non_optional
.
val no_arg_abort : exit:(Base.unit -> Base.Nothing.t) -> Base.unit t
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.
val escape : Base.string Base.list Base.option t
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