Definitions and immutable API for composing documents
Type definitions and core functions
type stag = Format.stagtype element = | Text of string| With_size of int| Open_box of {kind : box_type;indent : int;
}| Close_box| Open_tag of Format.stag| Close_tag| Open_tbox| Tab_break of {}| Set_tab| Close_tbox| Simple_break of {}| Break of {}| Flush of {}| Newline| If_newline| Deprecated of Format.formatter -> unit(*Escape hatch: a
*)Formatprinter used to provide backward-compatibility for user-defined printer (from the#install_printertoplevel directive for instance).
Base formatting instruction recognized by Format
type 'a printer = 'a -> printer0val empty : tEmpty document
val format : Format.formatter -> t -> unitformat ppf doc sends the format instruction of doc to the Format's formatter doc.
Fold over a document as a sequence of instructions
The functions below mirror Format printers, without the pp_print_ prefix naming convention
val close_box : printer0val text : string printerval string : string printerval bytes : bytes printerval with_size : int printerval int : int printerval float : float printerval char : char printerval bool : bool printerval space : printer0val cut : printer0val break : spaces:int -> indent:int -> printer0val custom_break :
fits:((string * int * string) as 'a) ->
breaks:'a ->
printer0val force_newline : printer0val if_newline : printer0val flush : printer0val force_stop : printer0val open_tbox : printer0val set_tab : printer0val tab : printer0val tab_break : width:int -> offset:int -> printer0val close_tbox : printer0val close_tag : printer0Alignment functions
Align the right side of one "@{<ralign>...@}" tag box by inserting spaces at the beginning of boxes. Those function do nothing if the tag box appears after a break hint.