Module Command.Flags_ext

module Flags_ext: sig .. end

type 'a setter = 
| No_arg of 'a
| Arg of (string -> 'a)
type ('a, 'flag) t 
val flag : ('a, 'flag) t -> 'flag
val get : ('a, 'b) t -> 'a
val is_set : ('a, 'b) t -> bool
val create_optional : name:string ->
doc:string ->
'a setter ->
('a option, unit Command.Flag.t) t
val create : ?default:'a * ('a -> string) ->
name:string ->
doc:string ->
'a setter -> ('a, unit Command.Flag.t) t
val create_many : ?at_least_one:bool ->
name:string ->
doc:string ->
'a setter ->
('a list, unit Command.Flag.t) t
val create_choice : ?default:'a * ('a -> string) ->
(string * string * 'a setter) list ->
('a, unit Command.Flag.t list) t
val create_choice_optional : (string * string * 'a setter) list ->
('a option, unit Command.Flag.t list) t
val create_set : name:string -> doc:string -> (bool, unit Command.Flag.t) t
val create_rest : ?name:string ->
doc:string ->
unit -> (string list option, unit Command.Flag.t) t