Library
Module
Module type
Parameter
Class
Class type
Cross-stage command-line arguments.
Terms for cross-stage arguments.
This module extends Cmdliner.Arg to allow MetaOCaml-style typed cross-stage persistency of command-line arguments.
type 'a serialize = Format.formatter -> 'a -> unit
The type for command-line argument serializers. A value of type 'a serialize
generates a syntactically valid OCaml representation which evaluates to a value of type 'a
.
The type for command-line argument converters used at runtime. A value of type 'a runtime_conv
is a symbol name of type Cmdliner.Arg.converter.
val conv :
conv:'a Cmdliner.Arg.converter ->
serialize:'a serialize ->
runtime_conv:'a runtime_conv ->
'a converter
conv c s r
is the argument converter using c
to convert user strings into OCaml value, s
to convert OCaml values into strings interpretable as OCaml expressions, and the function named r
to convert user strings into OCaml values at runtime.
val string : string converter
string
converts strings.
val bool : bool converter
bool
converts booleans.
val int : int converter
int
converts integers.
The type for information about cross-stage command-line arguments. See Cmdliner's arguments.
val info :
?docs:string ->
?docv:string ->
?doc:string ->
?env:string ->
string list ->
info
Define cross-stage information for an argument. See Cmdliner.Arg.info. If not set, docs
is "UNIKERNEL PARAMETERS"
.
The type for specifying at which stage an argument is available.
`Configure
means that the argument is read on the command-line at configuration-time.`Run
means that the argument is read on the command-line at runtime.`Both
means that the argument is read on the command-line both at configuration-time and run-time.opt conv v i
is similar to Cmdliner.Arg.opt but for cross-stage optional command-line arguments. If not set, stage
is `Both
.
required conv i
is similar to Cmdliner.Arg.required but for cross-stage required command-line arguments. If not set, stage
is `Both
.
flag i
is similar to Cmdliner.Arg.flag but for cross-stage command-line flags. If not set, stage
is `Both
.