Argument converters
type 'a serialize = Stdlib.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.
type 'a converter = 'a Functoria_key.Arg.converter
The type for argument converters.
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.
Arguments and their information
type 'a t = 'a Functoria_key.Arg.t
The type for arguments holding data of type 'a
.
type info = Functoria_key.Arg.info
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"
.
Optional Arguments
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
.