package ez_cmdliner

  1. Overview
  2. Docs

Module V2.EZCMDSource

Sourcemodule TYPES : sig ... end
Sourcetype spec = TYPES.Arg.spec =
  1. | Unit of unit -> unit
  2. | Bool of bool -> unit
  3. | Set_bool of bool ref
  4. | Set of bool ref
  5. | Clear of bool ref
  6. | String of string -> unit
  7. | Set_string of string ref
  8. | Int of int -> unit
  9. | Set_int of int ref
  10. | Float of float -> unit
  11. | Set_float of float ref
  12. | Symbol of string list * string -> unit
  13. | File of string -> unit
  14. | Anon of int * string -> unit
  15. | Anons of string list -> unit
module MANPAGE = Cmdliner.Manpage
Sourceval parse : ?name:string -> ?version:string -> ?man:TYPES.block list -> (string * TYPES.Arg.spec * string) list -> (string -> unit) -> string -> unit
Sourceval translate : ?docs:string -> (string * TYPES.Arg.spec * string) list -> (string list * TYPES.Arg.spec * TYPES.info) list
Sourceval translate_anon : (string -> unit) -> (string list * TYPES.Arg.spec * TYPES.info) list
Sourceval env : ?docs:string -> ?doc:string -> string -> TYPES.env

env ~docs ~doc var describes an environment variable var. doc is the man page information of the environment variable, defaults to "undocumented". docs is the title of the man page section in which the environment variable will be listed, it defaults to Manpage.s_environment.

In doc the documentation markup language can be used with following variables:

  • $(env), the value of var.
  • The variables mentioned in info
Sourceval info : ?docs:string -> ?docv:string -> ?env:TYPES.env -> ?version:string -> string -> TYPES.info

info docs docv env doc defines information for an argument.

  • env defines the name of an environment variable which is looked up for defining the argument if it is absent from the command line. See environment variables for details.
  • doc is the man page information of the argument. The documentation language can be used and the following variables are recognized:

    • "$(docv)" the value of docv (see below).
    • "$(opt)", one of the options of names, preference is given to a long one.
    • "$(env)", the environment var specified by env (if any).

    These functions can help with formatting argument values.

  • docv is for positional and non-flag optional arguments. It is a variable name used in the man page to stand for their value.
  • docs is the title of the man page section in which the argument will be listed. For optional arguments this defaults to Manpage.s_options. For positional arguments this defaults to Manpage.s_arguments. However a positional argument is only listed if it has both a doc and docv specified.
Sourceval sub : string -> doc:string -> ?args:TYPES.arg_list -> ?man:TYPES.block list -> ?version:string -> (unit -> unit) -> TYPES.sub

sub name action associates the action action with the subcommand name. This module supports only one level of sub-commands, unless you are using the MAKE functor. With the MAKE functor, subcommand names can contain spaces.

Sourceval main_with_subcommands : name:string -> ?version:string -> ?default:TYPES.sub -> doc:string -> ?man:TYPES.block list -> ?topics:(string * Cmdliner.Manpage.block list) list -> ?common_args:TYPES.arg_list -> ?argv:string array -> TYPES.sub list -> unit
Sourceval main : ?version:string -> ?argv:string array -> TYPES.sub -> unit
Sourcemodule RAWTYPES = TYPES
Sourceval raw_env : TYPES.env -> RAWTYPES.env
Sourceval raw_sub : TYPES.sub -> RAWTYPES.sub
Sourceval to_rst : ?name:string -> TYPES.sub list -> TYPES.arg_list -> string
Sourcemodule MAKE (M : sig ... end) : sig ... end

This is the main function. It will dispatch on the subcommand called by the user.

OCaml

Innovation. Community. Security.