package mirage
Install
Dune Dependency
Authors
Maintainers
Sources
sha256=0c07d59eb52dc3d1506eb4121c4953104a12df79d08a0f0923c9b71e7474a026
sha512=666bf9ee20c9f9de058441f252f4f40ceec6a9ffd00e5cd3b7bfa9532fd65000aeb8a83f9e55586be98d0a86ea72f2dda94e924608135e3d63441359505de58a
doc/mirage.functoria/Functoria/Cli/index.html
Module Functoria.Cli
Source
Command-line handling.
type 'a args = {
context : 'a;
config_file : Fpath.t;
context_file : Fpath.t option;
output : string option;
dry_run : bool;
}
The type for global arguments.
peek_args ?with_setup argv
parses the global command-line arguments. If with_setup
is set (by default it is), interprets -v
and --color
to set-up the terminal configuration as a side-effect. Returns None if global command-line arguments are invalid.
peek_full_eval argv
reads the --output
option from argv
; the return value is None
if option is absent in argv
.
Sub-commands
The type for arguments of the configure
sub-command.
type query_kind = [
| `Name
| `Packages
| `Opam
| `Files
| `Dune of [ `Config | `Build | `Project | `Workspace | `Dist ]
| `Makefile
]
pp_query_kind
is the pretty-printer for query kinds.
type 'a query_args = {
args : 'a args;
kind : query_kind;
depext : bool;
extra_repo : (string * string) list;
}
The type for arguments of the query
sub-command.
The type for arguments of the describe
sub-command.
peek_full_eval argv
reads the --eval
option from argv
; the return value is None
if option is absent in argv
.
type 'a action =
| Configure of 'a configure_args
| Query of 'a query_args
| Describe of 'a describe_args
| Clean of 'a clean_args
| Help of 'a help_args
A value of type action
is the result of parsing command-line arguments using parse_args
.
Evalutation
val eval :
?with_setup:bool ->
?help_ppf:Format.formatter ->
?err_ppf:Format.formatter ->
name:string ->
version:string ->
configure:'a Cmdliner.Term.t ->
query:'a Cmdliner.Term.t ->
describe:'a Cmdliner.Term.t ->
clean:'a Cmdliner.Term.t ->
help:'a Cmdliner.Term.t ->
mname:string ->
string array ->
'a action Cmdliner.Term.result
Parse the functoria command line. The arguments to ~configure
, ~describe
, etc., describe extra command-line arguments that should be accepted by the corresponding subcommands.
There are no side effects, save for the printing of usage messages and other help when either the 'help' subcommand or no subcommand is specified.
Similar to Cmdliner.Term.result
but help is folded into `Ok
and errors also carry global command-line parameters.