OASISValuesParse, print and check values
This module allows to parse values that should match a particular content (URL, list).
The whole module is not exported.
type 'a t = {parse : ctxt:OASISContext.t -> string -> 'a;Parse a string into value
*)update : 'a -> 'a -> 'a;Merge two values into one
*)print : 'a -> string;Convert a value to string
*)}Definition of a value.
Always raise Not_combinable.
val blackbox : 'a tHidden value to build phantom data storage, cannot set/get it using string.
val string : string tString value.
val string_not_empty : string tString value, must not be "".
val boolean : bool tBoolean value, use bool_of_string to parse.
Extra check to see if the string value, can be expanded using Buffer.add_substitute rules.
dot_separated v When parsing split the input string using '.' separator and apply v.parse. Merge by concatenate two values, and print by joining v.print generated strings using a '.' separator. Don't strip whitespaces.
Same as dot_separated using ',' as separator. Strip whitespaces before and after the input string.
Same dot_separated using '\n' as separator. Strip whitespaces before and after the input string.
val space_separated : string list tSame as dot_separated using blanks as separator.
with_optional_parentheses v_main v_opt Combine two values. The input string "abcd (defg)" is split between the part not between parentheses and the one between. v_main is applied to the first one and v_opt to the latter. If no parentheses is found, only apply v_main.
val choices : (unit -> string) -> (string * 'a) list -> 'a tchoices nm lst Value that must be in a list of predefined choices. Find the right association in lst, comparison is case insensitive. If something failed output a message using nm as the name of the value represented.
val url : string tURL value.
val copyright : string tCopyright value.
val file : string tFile value.
val files : string list tFile list value.
val file_glob : string tFile with glob value.
val directory : string tDirectory value.
val modules : string list tModule list value.
val categories : string list tCategory list value.
val findlib_name : string tFindlib package name value, without its path.
val findlib_full : string tFindlib package name with path value, e.g. oasis.base.
val internal_library : string tInternal library.
val command_line : (string * string list) tCommand line.
val command_line_options : string list tArguments of command line programs. See OASISUtils.POSIX.split for more information.