Module Cmdliner_term

Contents

Instructions: Use this module in your project

In the IDE (CLion, Visual Studio Code, Xcode, etc.) you use for your DkSDK project:

  1. Add the following to your project's dependencies/CMakeLists.txt:

    Copy
    DkSDKProject_DeclareAvailable(cmdliner
        CONSTRAINT "= 1.1.1+dune"
        FINDLIBS cmdliner)
    DkSDKProject_MakeAvailable(cmdliner)
  2. Add the Findlib::cmdliner library to any desired targets in src/*/CMakeLists.txt:

    Copy
    target_link_libraries(YourPackage_YourLibraryName
         # ... existing libraries, if any ...
         Findlib::cmdliner)
  3. Click your IDE's Build button

Not using DkSDK?

FIRST, do one or all of the following:

  1. Run:

    Copy
    opam install cmdliner.1.1.1+dune
  2. Edit your dune-project and add:

    Copy
    (package
      (name YourExistingPackage)
      (depends
      ; ... existing dependenices ...
      (cmdliner (>= 1.1.1+dune))))

    Then run:

    Copy
    dune build *.opam # if this fails, run: dune build
  3. Edit your <package>.opam file and add:

    Copy
    depends: [
      # ... existing dependencies ...
      "cmdliner" {>= "1.1.1+dune"}
    ]

    Then run:

    Copy
    opam install . --deps-only

FINALLY, add the cmdliner library to any desired (library)and/or (executable) targets in your **/dune files:

Copy
(library
  (name YourLibrary)
  ; ... existing library options ...
  (libraries
    ; ... existing libraries ...
    cmdliner))

(executable
  (name YourExecutable)
  ; ... existing executable options ...
  (libraries
    ; ... existing libraries ...
    cmdliner))
typeterm_escape`` = ``[
| ``` Error ``of bool * string
| ``` Help `of`` `[`Cmdliner_manpage.format`](../Cmdliner_manpage/#type-format)` * string option` ]
type``'a parser`` =Cmdliner_info.Eval.t -> Cmdliner_cline.t -> ``('a, ``[ ``` Parse of string ``` | `[`term_escape`](#type-term_escape)` ])`` ``result`

Type type for command line parser. given static information about the command line and a command line to parse returns an OCaml value.

The type for terms. The list of arguments it can parse and the parsing function that does so.

valconst :'a -> 'a t
val app : ``('a -> 'b)`` t -> 'a t -> 'b t
val ($) : ``('a -> 'b)`` t -> 'a t -> 'b t
type``'a ret`` = ``[
| ``` Ok ``of 'a
| term_escape ]
valret :'a ret t -> 'a t
valterm_result : ``?usage:bool-> ``('a, ``[ ``` Msg of string ``` ]) [result](../../ocaml/Stdlib/#type-result) [t](#type-t) `-> 'a [t\](#type-t)
valterm_result' : ``?usage:bool-> ``('a, string)`` result t -> 'a t
val cli_parse_result : ``('a, ``[ ``` Msg of string ``` ]) [result](../../ocaml/Stdlib/#type-result) [t](#type-t) `-> 'a [t\](#type-t)
val cli_parse_result' : ``('a, string)`` result t -> 'a t
valmain_name : ``stringt
valchoice_names : ``string list``t
valwith_used_args :'a t -> ``('a* ``string list``)``t