Module Flag

flag specifications


type 'a t
val required : 'a Arg_type.t -> 'a t

required flags must be passed exactly once

val optional : 'a Arg_type.t -> 'a 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 list t

listed flags may be passed zero or more times

val one_or_more : 'a Arg_type.t -> ('a * 'a list) t

one_or_more flags must be passed one or more times

val no_arg : 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

val no_arg_register : key:'a Core_kernel.Std.Univ_map.With_default.Key.t -> value:'a -> bool t

no_arg_register ~key ~value is like no_arg, but associates value with key in the in the auto-completion environment

val no_arg_abort : exit:(unit -> Core_kernel.Std.never_returns) -> 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 : string list 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 "--".