include sig ... end
val sexp_of_t : t ‑> Base.Sexp.t
val fill : char ‑> width:int ‑> height:int ‑> t
fill
and space
assume width and height are non-negative
val space : width:int ‑> height:int ‑> t
a basic block of text, split on newlines and horizontally aligned as specified.
If max_width
is provided, split on whitespace and wrap words to respect the request.
So long as no words are longer than max_width
, the resulting text block will be no
wider than max_width
val textf : ?align:halign ‑> ?max_width:int ‑> ('r, unit, string, t) Core_kernel.format4 ‑> 'r
val height : t ‑> int
val hstrut : int ‑> t
empty blocks with either horizontal or vertical extent -- useful for specifying a minimum width or height in conjunction with valign or halign, respectively
val vstrut : int ‑> t
wrap a block with an ANSI escape sequence.
The prefix
and suffix
arguments should render with zero width and height.
val compress_table_header : ?sep_width:int ‑> [ `Cols of (t * t list * halign) list ] ‑> [ `Header of t ] * [ `Rows of t list ]
compress table header according to column widths.
Input: a list of columns of the form (title, values, column alignment).
Output: one header block and row sequence.
Raises: if the values
lists are not the same length in each column.
Example:
first name age first name last name age | last name | | | ==> | | | 30 sue smith 30 sue smith 18 bill rodriguez 18 bill rodriguez 76 rick jones 76 rick jones
val sexp : ('a ‑> Core_kernel.Sexp.t) ‑> 'a ‑> t
sexp sexp_of_a a = sexp_of_a a |> Sexp.to_string |> text