Module Cmdliner.Manpage

module Manpage: sig .. end
Man page specification.

Man page generation is automatically handled by Cmdliner. The Cmdliner.Manpage.block type is used to define a man page's content.

The Cmdliner.Manpage.print function can be useful if the client wants to define other man pages (e.g. to implement a help command).



Man pages


type block = [ `I of string * string
| `Noblank
| `P of string
| `Pre of string
| `S of string ]
The type for a block of man page text.

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) ->
[ `Groff | `Pager | `Plain ] ->
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).