Module Command.FlagSource

Command-line flag specifications.

Sourcetype 'a t
Sourceval required : 'a Arg_type.t -> 'a t

Required flags must be passed exactly once.

Sourceval optional : 'a Arg_type.t -> 'a Base.option t

Optional flags may be passed at most once.

Sourceval 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.

Sourceval listed : 'a Arg_type.t -> 'a Base.list t

listed flags may be passed zero or more times.

Sourceval 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.

Sourceval 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.

Sourceval no_arg : Base.bool t

no_arg flags may be passed at most once. The boolean returned is true iff the flag is passed on the command line.

Sourceval 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.

Sourceval 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.

Sourceval no_arg_required : 'a -> 'a t

no_arg_required value is like no_arg, but the argument is required. This is useful in combination with choose_one_non_optional.

Sourceval 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.

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 "--".

Sourceval escape_with_autocomplete : complete:Auto_complete.For_escape.t -> Base.string Base.list Base.option t
Sourceval map_flag : 'a t -> f:('a -> 'b) -> 'b t

map_flag flag ~f transforms the parsed result of flag by applying f.