package mirage
Install
Dune Dependency
Authors
Maintainers
Sources
sha256=ade8c410b2de3997c4a513f53f6c990dac6af508161e20df01b64fa7975ca5be
sha512=42fddf09be84c4251417145b88d4f63b41db1b29c9622b2b4e4508e31146f227a16875e670da96251208745f79a42f0b7d2bd8b44b883a705381b4c97a4255b8
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.