Richpp
This module offers semi-structured pretty-printing.
Each annotation of the semi-structured document refers to the substring it annotates.
val rich_pp : width:int -> ?depth:int -> Pp.t -> Pp.pp_tag located Xml_datatype.gxml
rich_pp width ppcmds
returns the interpretation of ppcmds
as a semi-structured document that represents (located) annotations of this string. The get_annotations
function is used to convert tags into the desired annotation. width
sets the printing width of the formatter.
val annotations_positions : 'annotation located Xml_datatype.gxml -> ('annotation * (int * int)) list
annotations_positions ssdoc
returns a list associating each annotations with its position in the string from which ssdoc
is built.
val xml_of_rich_pp : ('annotation -> string) -> ('annotation -> (string * string) list) -> 'annotation located Xml_datatype.gxml -> Xml_datatype.xml
xml_of_rich_pp ssdoc
returns an XML representation of the semi-structured document ssdoc
.
type richpp = Xml_datatype.xml
Type of text with style annotations