sig
type 'a param
val const : 'a -> 'a Command.Spec.param
val map : 'a Command.Spec.param -> f:('a -> 'b) -> 'b Command.Spec.param
val help : string Std_internal.Lazy.t Command.Spec.param
val path : string list Command.Spec.param
val args : string list Command.Spec.param
type ('main_in, 'main_out) t
val empty : ('m, 'm) Command.Spec.t
val ( ++ ) :
('m1, 'm2) Command.Spec.t ->
('m2, 'm3) Command.Spec.t -> ('m1, 'm3) Command.Spec.t
val ( +> ) :
('m1, 'a -> 'm2) Command.Spec.t ->
'a Command.Spec.param -> ('m1, 'm2) Command.Spec.t
val ( +< ) :
('m1, 'm2) Command.Spec.t ->
'a Command.Spec.param -> ('a -> 'm1, 'm2) Command.Spec.t
val step : ('m1 -> 'm2) -> ('m1, 'm2) Command.Spec.t
val wrap :
(run:('m1 -> 'r1) -> main:'m2 -> 'r2) ->
('m1, 'r1) Command.Spec.t -> ('m2, 'r2) Command.Spec.t
module Arg_type :
sig
type 'a t
val create :
?complete:(Univ_map.t -> part:string -> string list) ->
?key:'a Univ_map.Multi.Key.t ->
(string -> 'a) -> 'a Command.Spec.Arg_type.t
val of_map :
?key:'a Univ_map.Multi.Key.t ->
'a Std_internal.String.Map.t -> 'a Command.Spec.Arg_type.t
val of_alist_exn :
?key:'a Univ_map.Multi.Key.t ->
(string * 'a) list -> 'a Command.Spec.Arg_type.t
end
val string : string Command.Spec.Arg_type.t
val int : int Command.Spec.Arg_type.t
val float : float Command.Spec.Arg_type.t
val bool : bool Command.Spec.Arg_type.t
val date : Date.t Command.Spec.Arg_type.t
val time_span : Span.t Command.Spec.Arg_type.t
val file : string Command.Spec.Arg_type.t
type 'a flag
val flag :
?aliases:string list ->
string -> 'a Command.Spec.flag -> doc:string -> 'a Command.Spec.param
val required : 'a Command.Spec.Arg_type.t -> 'a Command.Spec.flag
val optional : 'a Command.Spec.Arg_type.t -> 'a option Command.Spec.flag
val optional_with_default :
'a -> 'a Command.Spec.Arg_type.t -> 'a Command.Spec.flag
val listed : 'a Command.Spec.Arg_type.t -> 'a list Command.Spec.flag
val no_arg : bool Command.Spec.flag
val no_arg_register :
key:'a Univ_map.With_default.Key.t -> value:'a -> bool Command.Spec.flag
val no_arg_abort :
exit:(unit -> Std_internal.never_returns) -> unit Command.Spec.flag
val escape : string list option Command.Spec.flag
val flags_of_args_exn : Arg.t list -> ('a, 'a) Command.Spec.t
type 'a anons
val anon : 'a Command.Spec.anons -> 'a Command.Spec.param
val ( %: ) : string -> 'a Command.Spec.Arg_type.t -> 'a Command.Spec.anons
val sequence : 'a Command.Spec.anons -> 'a list Command.Spec.anons
val maybe : 'a Command.Spec.anons -> 'a option Command.Spec.anons
val maybe_with_default :
'a -> 'a Command.Spec.anons -> 'a Command.Spec.anons
val t2 :
'a Command.Spec.anons ->
'b Command.Spec.anons -> ('a * 'b) Command.Spec.anons
val t3 :
'a Command.Spec.anons ->
'b Command.Spec.anons ->
'c Command.Spec.anons -> ('a * 'b * 'c) Command.Spec.anons
val t4 :
'a Command.Spec.anons ->
'b Command.Spec.anons ->
'c Command.Spec.anons ->
'd Command.Spec.anons -> ('a * 'b * 'c * 'd) Command.Spec.anons
end