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