Reason: Syntax & Toolchain for OCaml
Module type
Class type
Library reason.cmdliner

Man pages

type block = [
| `S of string
| `P of string
| `Pre of string
| `I of string * string
| `Noblank

The type for a block of man page text.

  • `S s introduces a new section s.
  • `P t is a new paragraph with text t.
  • `Pre t is a new preformatted paragraph with text t.
  • `I (l,t) is an indented paragraph with label l and text t.
  • `Noblank suppresses the blank line introduced between two blocks.

Except in `Pre, whitespace and newlines are not significant and are all collapsed to a single space. In labels l and text strings t, the syntax "$(i,italic text)" and "$(b,bold text)" can be used to respectively produce italic and bold text.

type title = string * int * string * string * string

The type for man page titles. Describes the man page title, section, center_footer, left_footer, center_header.

type t = title * block list

The type for a man page. A title and the page text as a list of blocks.

val print : ?subst:( string -> string ) -> [ `Pager | `Plain | `Groff ] -> Format.formatter -> t -> unit

print ~subst fmt ppf page prints page on ppf in the format fmt. If fmt is `Pager the function tries to write the formatted result in a pager, if that fails the format `Plain is written on ppf. subst can be used to perform variable substitution, see Buffer.add_substitute (defaults to the identity).