Module Fmt_cli

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(fmt
        CONSTRAINT "= 0.9.0+dune"
        FINDLIBS fmt fmt.cli fmt.top fmt.tty)
    DkSDKProject_MakeAvailable(fmt)
  2. Add the Findlib::fmt library to any desired targets in src/*/CMakeLists.txt:

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

Not using DkSDK?

FIRST, do one or all of the following:

  1. Run:

    Copy
    opam install fmt.0.9.0+dune
  2. Edit your dune-project and add:

    Copy
    (package
      (name YourExistingPackage)
      (depends
      ; ... existing dependenices ...
      (fmt (>= 0.9.0+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 ...
      "fmt" {>= "0.9.0+dune"}
    ]

    Then run:

    Copy
    opam install . --deps-only

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

Copy
(library
  (name YourLibrary)
  ; ... existing library options ...
  (libraries
    ; ... existing libraries ...
    fmt.cli))

(executable
  (name YourExecutable)
  ; ... existing executable options ...
  (libraries
    ; ... existing libraries ...
    fmt.cli))

Option for setting the style renderer

val style_renderer : ``?env:Cmdliner.Arg.env ->``?docs:string->``unit-> Fmt.style_rendereroption``Cmdliner.Term.t

style_renderer ?env ?docs () is a Cmdliner option --color that can be directly used with the optional arguments of TTY setup or to control style rendering. The option is documented under docs (defaults to the default in Cmdliner.Arg.info).

The option is a tri-state enumerated value that when used with TTY setup takes over the automatic setup:

  • --color=never, the value is Some `None, forces no styling.
  • --color=always, the value is Some `Ansi, forces ANSI styling.
  • --color=auto or absent, the value is None, automatic setup takes place.

If env is provided, the option default value (None) can be overridden by the corresponding environment variable.