Module B0_tool_cli

Command line support for b0 commands.

Warning. Consider B0_cli before adding new functionality here.

Manpage fragments

val s_scope_selection : Cmdliner.Manpage.section_name
val man_see_manual : Cmdliner.Manpage.block

Defining commands

val cmd : ?exits:Cmdliner.Cmd.Exit.info list -> ?envs:Cmdliner.Cmd.Env.info list -> ?synopsis:Cmdliner.Manpage.block -> string -> doc:string -> descr:Cmdliner.Manpage.block -> (unit -> B0_std.Os.Exit.t) Cmdliner.Term.t -> B0_std.Os.Exit.t Cmdliner.Cmd.t

cmd does not require driver configuration options or a b0 file it justs setups logging and the tty stuff.

val cmd_with_driver_conf : ?exits:Cmdliner.Cmd.Exit.info list -> ?envs:Cmdliner.Cmd.Env.info list -> ?synopsis:Cmdliner.Manpage.block -> string -> doc:string -> descr:Cmdliner.Manpage.block -> (B0_driver.Conf.t -> B0_std.Os.Exit.t) Cmdliner.Term.t -> B0_std.Os.Exit.t Cmdliner.Cmd.t

cmd_with_driver_conf gives the options for a driver configuration value.

val cmd_with_b0_file_if_any : ?exits:Cmdliner.Cmd.Exit.info list -> ?envs:Cmdliner.Cmd.Env.info list -> ?synopsis:Cmdliner.Manpage.block -> string -> doc:string -> descr:Cmdliner.Manpage.block -> (B0_driver.Conf.t -> B0_std.Os.Exit.t) Cmdliner.Term.t -> B0_std.Os.Exit.t Cmdliner.Cmd.t

cmd_with_b0_if_any will have a b0 file if it exists and can be compiled. It will still execute if non of this is true. The command can check B0_driver.has_b0_file and B0_driver.has_failed_b0_file to understand the status at runtime. If the compilation fails a warning is automatically logged.

val cmd_with_b0_file : ?exits:Cmdliner.Cmd.Exit.info list -> ?envs:Cmdliner.Cmd.Env.info list -> ?synopsis:Cmdliner.Manpage.block -> string -> doc:string -> descr:Cmdliner.Manpage.block -> (B0_driver.Conf.t -> B0_std.Os.Exit.t) Cmdliner.Term.t -> B0_std.Os.Exit.t Cmdliner.Cmd.t

cmd_with_b0_file requires a functioning b0 file.

val cmd_group : ?exits:Cmdliner.Cmd.Exit.info list -> ?envs:Cmdliner.Cmd.Env.info list -> ?synopsis:Cmdliner.Manpage.block -> string -> doc:string -> descr:Cmdliner.Manpage.block -> ?default:B0_std.Os.Exit.t Cmdliner.Term.t -> B0_std.Os.Exit.t Cmdliner.Cmd.t list -> B0_std.Os.Exit.t Cmdliner.Cmd.t

cmd_group just groups without requiring anything particular.