Library
Module
Module type
Parameter
Class
Class type
Argument types.
type 'a t = 'a Arg_type.t
The type of a command line argument.
val create :
?complete:
( Core_kernel.Univ_map.t ->
part:Base.String.t ->
Base.String.t Base.List.t ) ->
?key:'a Core_kernel.Univ_map.Multi.Key.t ->
( Base.String.t -> 'a ) ->
'a t
An argument type includes information about how to parse values of that type from the command line, and (optionally) how to autocomplete 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_kernel.Univ_map.Multi.Key.t ->
'a t ->
f:( 'a -> 'b ) ->
'b t
Transforms the result of a t
using f
.
val of_map :
?key:'a Core_kernel.Univ_map.Multi.Key.t ->
'a Core_kernel.String.Map.t ->
'a t
An auto-completing Arg_type
over a finite set of values.
val of_alist_exn :
?key:'a Core_kernel.Univ_map.Multi.Key.t ->
(Base.String.t * 'a) Base.List.t ->
'a t
Convenience wrapper for of_map
. Raises on duplicate keys.
val comma_separated :
?allow_empty:Base.Bool.t ->
?key:'a Base.List.t Core_kernel.Univ_map.Multi.Key.t ->
?strip_whitespace:Base.Bool.t ->
?unique_values:Base.Bool.t ->
'a t ->
'a Base.List.t 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
.
If allow_empty = true
then the empty string (or just whitespace, if strip_whitespace = true
) results in an empty list, and if allow_empty = false
then the empty string will fail to parse.
If unique_values = true
no autocompletion will be offered for arguments already supplied in the fragment to complete.
module Export : sig ... end
Values to include in other namespaces.