Merlin_utils.MargSpecifications of arguments is split in two passes:
_ table for parsing global arguments (compiler flags, merlin configuration)Action associated to a flag updating a state of type 'acc. It takes a list of arguments and either succeeds returning untouched arguments or fails raising an exception.
val unit : ('acc -> 'acc) -> 'acc tAction updating state and not consuming any argument
val param : string -> (string -> 'acc -> 'acc) -> 'acc tAction consuming a single argument
val bool : (bool -> 'acc -> 'acc) -> 'acc tAction consuming a boolean argument
val int : (int -> 'acc -> 'acc) -> 'acc tAction consuming an integer argument
val unit_ignore : 'acc tAction doing nothing
val param_ignore : 'acc tAction doing nothing and dropping one argument
val parse_one :
warning:(string -> unit) ->
'global table ->
'local spec list ->
string list ->
'global ->
'local ->
(string list * 'global * 'local) optionConsume at most one flag from the list, returning updated state or None in case of failure. Warning function is called with an error message in case of incorrect use.