val create : ?complete:(Core__.Import.Univ_map.t ‑> part:string ‑> string list) ‑> ?key:'a Core__.Import.Univ_map.Multi.Key.t ‑> (string ‑> 'a) ‑> 'a t
An argument type includes information about how to parse values of that type from
the command line, and (optionally) how to auto-complete partial arguments of that
type via bash's programmable TAB-completion. In addition to the argument prefix,
autocompletion also has access to any previously parsed arguments in the form of a
heterogeneous map into which previously parsed arguments may register themselves by
providing a Univ_map.Key
using the ~key
argument to create
.
If the of_string
function raises an exception, command line parsing will be
aborted and the exception propagated up to top-level and printed along with
command-line help.
val map : ?key:'b Core__.Import.Univ_map.Multi.Key.t ‑> 'a t ‑> f:('a ‑> 'b) ‑> 'b t
Transform the result of a t
using f
.
val of_map : ?key:'a Core__.Import.Univ_map.Multi.Key.t ‑> 'a Core__.Import.String.Map.t ‑> 'a t
an auto-completing Arg_type over a finite set of values
val of_alist_exn : ?key:'a Core__.Import.Univ_map.Multi.Key.t ‑> (string * 'a) list ‑> 'a t
convenience wrapper for of_map
. Raises on duplicate keys
val file : ?key:'a Core__.Import.Univ_map.Multi.Key.t ‑> (string ‑> 'a) ‑> 'a t
file
defines an Arg_type.t
that completes in the same way as
Command.Spec.file
, but perhaps with a different type than string
or with an
autocompletion key.
val comma_separated : ?key:'a list Core__.Import.Univ_map.Multi.Key.t ‑> ?strip_whitespace:bool ‑> ?unique_values:bool ‑> 'a t ‑> 'a list t
comma_separated t
accepts comma-separated lists of arguments parsed by t
. If
strip_whitespace = true
, whitespace is stripped from each comma-separated string
before it is parsed by t
. The empty string (or just whitespace, if
strip_whitespace = true
) results in an empty list. If unique_values = true
no
autocompletion will be offered for arguments already supplied in the fragment to
complete.