EnumSourceMap a constructor name to a command-line string: downcase the name and convert _ to -.
type ('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_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_comma_separated :
?allow_empty:Base.bool ->
?strip_whitespace:Base.bool ->
?unique_values:Base.bool ->
('a, 'a Base.list Base.option) make_paramval arg_type :
?case_sensitive:Base.bool ->
?key:'a Univ_map.Multi.Key.t ->
?list_values_in_help:Base.bool ->
'a t ->
'a Command.Arg_type.tTransform 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.
Defines 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.
Defines an of_string function for M, using M.all and M.to_string. Does not require M to be sexpable.
Defines to_string for M, based on M.sexp_of_t. The sexp representation of M.t must be a sexp atom.