Enummodule type S = Command.Enumerable_sexpableval to_string_hum : 'a t -> 'a -> Base.stringMap a constructor name to a command-line string: downcase the name and convert _ to -.
val check_field_name :
'a t ->
'a ->
(_, _, _) Base.Field.t_with_perm ->
Base.unitval enum : 'a t -> (Base.string * 'a) Base.listval assert_alphabetic_order_exn :
Base.Source_code_position.t ->
'a t ->
Base.unittype ('a, 'b) make_param =
?case_sensitive:Base.bool ->
?represent_choice_with:Base.string ->
?list_values_in_help:Base.bool ->
?aliases:Base.string Base.list ->
?key:'a Univ_map.Multi.Key.t ->
Base.string ->
doc:Base.string ->
'a t ->
'b Command.Param.tval make_param :
f:('a Command.Arg_type.t -> 'b Command.Flag.t) ->
('a, 'b) make_paramval make_param_one_of_flags :
?if_nothing_chosen:('a, 'a) Command.Param.If_nothing_chosen.t ->
?aliases:('a -> Base.string Base.list) ->
doc:('a -> Base.string) ->
'a t ->
'a Command.Param.tval make_param_optional_one_of_flags :
?aliases:('a -> Base.string Base.list) ->
doc:('a -> Base.string) ->
'a t ->
'a Base.option Command.Param.tval make_param_optional_with_default_doc_sexp :
default:'a ->
('a, 'a) make_paramval make_param_optional_comma_separated :
?allow_empty:Base.bool ->
?strip_whitespace:Base.bool ->
?unique_values:Base.bool ->
('a, 'a Base.list Base.option) make_paramval arg_type :
'a. ?case_sensitive:Base.bool ->
?key:'a Univ_map.Multi.Key.t ->
?list_values_in_help:Base.bool ->
'a t ->
'a Command.Arg_type.tval command_friendly_name : Base.string -> Base.stringTransform a string to be accepted by Command. This is the transformation that is applied throughout this module.
The transformations are:
Note that this is *not* actually a complete list of transformations needed to make an arbitrary string "command-friendly": for example, double quotes are left alone. This is because the expectation is that the string came from something like a [@@deriving sexp] on a variant type, and while single quotes can appear in ocaml variants, double quotes cannot.
module Make_stringable (M : sig ... end) : sig ... endDefines to_string and of_string functions for M, based on M.sexp_of_t and M.all. The sexp representation of M.t must be a sexp atom.
module Make_of_string (M : sig ... end) : sig ... endDefines an of_string function for M, using M.all and M.to_string. Does not require M to be sexpable.
module Make_to_string (M : sig ... end) : sig ... endDefines to_string for M, based on M.sexp_of_t. The sexp representation of M.t must be a sexp atom.
module Single : sig ... end