Legend:
Library
Module
Module type
Parameter
Class
Class type
Library
Module
Module type
Parameter
Class
Class type
The definition of highlighted text suitable for rendering. You probably do not need this module unless you want to create your own diagnostic handler.
A segment is an optionally tagged string from the user content. (Note the use of option
.)
type 'tag block = {
begin_line_num : int;
The starting 1-indexed line number of a block.
*)end_line_num : int;
The ending 1-indexed line number of a block.
*)lines : 'tag line list;
}
A block is a collection of consecutive lines.
type 'tag part = {
source : Range.source;
The source of a part.
*)blocks : 'tag block list;
The blocks within a part.
*)}
A part consists of multiple blocks from the same file. These blocks should be non-overlapping and sorted by importance or the textual order.
type 'tag t = 'tag part list
Highlighted texts.
val dump :
(Format.formatter -> 'tag -> unit) ->
Format.formatter ->
'tag t ->
unit
Ugly printer for debugging