package ppx_subliner

  1. Overview
  2. Docs
[@@deriving subliner] and [%%subliner] for Cmdliner

Install

Dune Dependency

Authors

Maintainers

Sources

v0.1.2.tar.gz
md5=23944ff2ed893b6c9d27b256a895b1b7
sha512=2756dccb41c8940685dc0d367f74fb60a9e776a2a1ebc4fa3e9909e311dced4e1031cb10e99aacecc1ecaa039fb2d6a017068e08e67fa3e6e5eccd95c4287053

Description

[@@deriving] plugin to generate Cmdliner sub-command groups and ppx rewriter to generate Cmdliner evaluations.

Published: 07 Mar 2023

README

[@@deriving subliner] and [%%subliner]

[@@deriving] plugin to generate Cmdliner sub-command groups, and ppx rewriter to generate Cmdliner evaluations.

Installation

ppx_subliner can be installed via OCaml Package Manager.

$ opam install ppx_subliner

Usage

Please see the documentation.

Example

type subparams = { night : bool; name : string [@pos 0] } [@@deriving cmdliner]

type params =
  | English of subparams  (** Greet in English *)
  | Chinese of subparams  (** Greet in Chinese *)
  | Programmer  (** Hello world! *)
[@@deriving subliner]

let greet = function
  | English { night; name } -> Greet.english ~night name
  | Chinese { night; name } -> Greet.chinese ~night name
  | Programmer -> Greet.programmer ()

[%%subliner.cmds
eval.params <- greet]
[@@name "greet"] [@@version "3.14"]
(** Greet in different languages! *)

Dependencies (3)

  1. cmdliner >= "1.1.0"
  2. ppxlib >= "0.10.0"
  3. dune >= "2.7"

Dev Dependencies (3)

  1. odoc with-doc
  2. ppx_deriving_cmdliner with-test
  3. alcotest with-test

Used by

None

Conflicts

None