package oasis
Install
dune-project
Dependency
Authors
Maintainers
Sources
sha256=1e535de19fce623cc0019d2bbc4b158ac47e10b0165620e2ea459b1b0fdbc7d2
md5=9ba176512a3cc008ec39cd4b528cc4e5
doc/oasis.cli/CLISubCommand/index.html
Module CLISubCommand
SubCommand definition
type cli_parsing_t = (Arg.key * Arg.spec * Arg.doc) list * Arg.anon_funDefine the command line arguments required for a subcommand.
type 'a main_t = ctxt:OASISContext.t -> 'aThe main function to run the subcommand.
type 'a run_t = unit -> cli_parsing_t * 'a main_tGenerate command line arguments and the function to run the main of the subcommand.
type t = {scmd_name : OASISTypes.name;(*Name of the subcommand, used to call it
*)scmd_synopsis : string;(*Short description of the subcommnad, displayed when doing a summary of the available subcommands
*)scmd_help : string;(*Long description of the subcommand, displayed when showing help of the subcommand.
It can contains variable substitution as defined in
*)Buffer.add_substitute.scmd_usage : string;(*
*)Argusage textscmd_deprecated : bool;(*Is this subcommand deprecated.
*)scmd_run : unit run_t;(*Generate the specs and a main function.
*)
}val default_anon : Arg.anon_funval default_fspecs : unit -> cli_parsing_t * unit cli_parsing_post_tval make_run :
(unit -> cli_parsing_t * 'a cli_parsing_post_t) ->
('a -> 'b) main_t ->
'b run_tmake_run fspecs main Create a run_t by combining argument parsing with the main function. The goal is to make main not use global variable and create what is need to store them in fspecs. This allow to make the whole subcommand invocation thread safe.
val register :
?usage:string ->
?deprecated:bool ->
OASISTypes.name ->
string ->
string ->
unit run_t ->
unitval find : OASISTypes.name -> tFind a subcommand.
val list_plugin : ?deprecated:bool -> unit -> PluginLoader.entry listList all PluginLoader entries registered. Set deprecated to false to filter out deprecated plugin
val list_builtin : ?deprecated:bool -> unit -> t listList all builtin plugin registered. Set deprecated to false to filter out deprecated builtin.