package b0

  1. Overview
  2. Docs
Software construction and deployment kit

Install

Dune Dependency

Authors

Maintainers

Sources

b0-0.0.5.tbz
sha512=00a6868b4dfa34565d0141b335622a81a0e8d5b9e3c6dfad025dabfa3df2db2a1302b492953bbbce30c3a4406c324fcec25250a00b38f6d18a69e15605e3b07e

doc/b0_b00_kit/B00_cli/Exit/index.html

Module B00_cli.Exit

Program exits.

Support for B0_std.Os.Exit exits which are more evolved than those provided by cmdliner.

Common exit codes

ok is the zero exit code.

val no_such_name : B0_std.Os.Exit.t

no_such_name (122) indicates a named entity was not found.

val some_error : B0_std.Os.Exit.t

some_error (123) indicates an indiscriminate error reported on stdout.

val infos : Cmdliner.Cmd.Exit.info list

infos has the infos of Cmdliner.Term.default_exits, no_such_name, some_error and those above.

Evaluating and exiting

val of_eval_result : ?term_error:B0_std.Os.Exit.t -> (B0_std.Os.Exit.t Cmdliner.Cmd.eval_ok, Cmdliner.Cmd.eval_error) Stdlib.result -> B0_std.Os.Exit.t

of_eval_result ~term_error r is:

  • e if r is Ok (`Ok e)
  • ok if r is Ok _
  • Os.Exit.Code Cmdliner.Exit.cli_error if r is Error `Parse.
  • Os.Exit.Code Cmdliner.Exit.internal_error if r is Error `Exn.
  • Os.Exit.code term_error if r is Error `Term. term_error (defaults to Os.Exit.Code Cmdliner.Exit.cli_error).
val exit : exec_error:B0_std.Os.Exit.t -> B0_std.Os.Exit.t -> 'a

exit e exits with e. This uses B0_std.Os.Exit.exit and in case of Error _ logs it and exits with exec_error which if given an exit code is then guaranteed to exit.

OCaml

Innovation. Community. Security.