OCaml compiler library : Format_doc

`sig
module Doc :
sig
type box_type = H | V | HV | HoV | B
type stag = Stdlib.Format.stag
type element =
Text of string
| With_size of int
| Open_box of { kind : Format_doc.Doc.box_type; indent : int; }
| Close_box
| Open_tag of Stdlib.Format.stag
| Close_tag
| Open_tbox
| Tab_break of { width : int; offset : int; }
| Set_tab
| Close_tbox
| Simple_break of { spaces : int; indent : int; }
| Break of { fits : string * int * string;
breaks : string * int * string;
}
| Flush of { newline : bool; }
| Newline
| If_newline
| Deprecated of (Stdlib.Format.formatter -> unit)
type t
type ('a, 'b) fmt =
('a, Format_doc.Doc.t, Format_doc.Doc.t, 'b) Stdlib.format4
type printer0 = Format_doc.Doc.t -> Format_doc.Doc.t
type 'a printer = 'a -> Format_doc.Doc.printer0
val empty : Format_doc.Doc.t
val format : Stdlib.Format.formatter -> Format_doc.Doc.t -> unit
val fold :
('acc -> Format_doc.Doc.element -> 'acc) ->
'acc -> Format_doc.Doc.t -> 'acc
val msg : ('a, Format_doc.Doc.t) Format_doc.Doc.fmt -> 'a
val kmsg :
(Format_doc.Doc.t -> 'b) -> ('a, 'b) Format_doc.Doc.fmt -> 'a
val printf : ('a, Format_doc.Doc.printer0) Format_doc.Doc.fmt -> 'a
val kprintf :
(Format_doc.Doc.t -> 'b) ->
('a, Format_doc.Doc.t -> 'b) Format_doc.Doc.fmt -> 'a
val open_box :
Format_doc.Doc.box_type -> int -> Format_doc.Doc.printer0
val close_box : Format_doc.Doc.printer0
val text : string Format_doc.Doc.printer
val string : string Format_doc.Doc.printer
val bytes : bytes Format_doc.Doc.printer
val with_size : int Format_doc.Doc.printer
val int : int Format_doc.Doc.printer
val float : float Format_doc.Doc.printer
val char : char Format_doc.Doc.printer
val bool : bool Format_doc.Doc.printer
val space : Format_doc.Doc.printer0
val cut : Format_doc.Doc.printer0
val break : spaces:int -> indent:int -> Format_doc.Doc.printer0
val custom_break :
fits:string * int * string ->
breaks:string * int * string -> Format_doc.Doc.printer0
val force_newline : Format_doc.Doc.printer0
val if_newline : Format_doc.Doc.printer0
val flush : Format_doc.Doc.printer0
val force_stop : Format_doc.Doc.printer0
val open_tbox : Format_doc.Doc.printer0
val set_tab : Format_doc.Doc.printer0
val tab : Format_doc.Doc.printer0
val tab_break : width:int -> offset:int -> Format_doc.Doc.printer0
val close_tbox : Format_doc.Doc.printer0
val open_tag : Format_doc.Doc.stag Format_doc.Doc.printer
val close_tag : Format_doc.Doc.printer0
val list :
?sep:Format_doc.Doc.printer0 ->
'a Format_doc.Doc.printer -> 'a list Format_doc.Doc.printer
val iter :
?sep:Format_doc.Doc.printer0 ->
iter:(('a -> unit) -> 'b -> unit) ->
'a Format_doc.Doc.printer -> 'b Format_doc.Doc.printer
val array :
?sep:Format_doc.Doc.printer0 ->
'a Format_doc.Doc.printer -> 'a array Format_doc.Doc.printer
val seq :
?sep:Format_doc.Doc.printer0 ->
'a Format_doc.Doc.printer -> 'a Stdlib.Seq.t Format_doc.Doc.printer
val option :
?none:Format_doc.Doc.printer0 ->
'a Format_doc.Doc.printer -> 'a option Format_doc.Doc.printer
val result :
ok:'a Format_doc.Doc.printer ->
error:'e Format_doc.Doc.printer ->
('a, 'e) Stdlib.result Format_doc.Doc.printer
val either :
left:'a Format_doc.Doc.printer ->
right:'b Format_doc.Doc.printer ->
('a, 'b) Stdlib.Either.t Format_doc.Doc.printer
val align_prefix :
(Format_doc.Doc.t * int) list -> Format_doc.Doc.t list
val align_prefix2 :
Format_doc.Doc.t * int ->
Format_doc.Doc.t * int -> Format_doc.Doc.t * Format_doc.Doc.t
end
type doc = Format_doc.Doc.t
type t = Format_doc.doc
type formatter
type 'a printer = Format_doc.formatter -> 'a -> unit
val formatter : Format_doc.doc Stdlib.ref -> Format_doc.formatter
type 'a format_printer = Stdlib.Format.formatter -> 'a -> unit
val compat : 'a Format_doc.printer -> 'a Format_doc.format_printer
val compat1 :
('p1 -> 'a Format_doc.printer) -> 'p1 -> 'a Format_doc.format_printer
val compat2 :
('p1 -> 'p2 -> 'a Format_doc.printer) ->
'p1 -> 'p2 -> 'a Format_doc.format_printer
val deprecated_printer :
(Stdlib.Format.formatter -> unit) -> Format_doc.formatter -> unit
val deprecated : 'a Format_doc.format_printer -> 'a Format_doc.printer
val deprecated1 :
('p1 -> 'a Format_doc.format_printer) -> 'p1 -> 'a Format_doc.printer
val fprintf :
Format_doc.formatter ->
('a, Format_doc.formatter, unit) Stdlib.format -> 'a
val kfprintf :
(Format_doc.formatter -> 'a) ->
Format_doc.formatter ->
('b, Format_doc.formatter, unit, 'a) Stdlib.format4 -> 'b
val asprintf :
('a, Format_doc.formatter, unit, string) Stdlib.format4 -> 'a
val kasprintf :
(string -> 'a) ->
('b, Format_doc.formatter, unit, 'a) Stdlib.format4 -> 'b
val dprintf :
('a, Format_doc.formatter, unit, Format_doc.formatter -> unit)
Stdlib.format4 -> 'a
val kdprintf :
((Format_doc.formatter -> unit) -> 'a) ->
('b, Format_doc.formatter, unit, 'a) Stdlib.format4 -> 'b
val doc_printf :
('a, Format_doc.formatter, unit, Format_doc.doc) Stdlib.format4 -> 'a
val kdoc_printf :
(Format_doc.doc -> 'r) ->
('a, Format_doc.formatter, unit, 'r) Stdlib.format4 -> 'a
val doc_printer : 'a Format_doc.printer -> 'a Format_doc.Doc.printer
val pp_doc : Format_doc.doc Format_doc.printer
val pp_print_string : string Format_doc.printer
val pp_print_substring : pos:int -> len:int -> string Format_doc.printer
val pp_print_text : string Format_doc.printer
val pp_print_bytes : bytes Format_doc.printer
val pp_print_as : Format_doc.formatter -> int -> string -> unit
val pp_print_substring_as :
pos:int -> len:int -> Format_doc.formatter -> int -> string -> unit
val pp_print_char : char Format_doc.printer
val pp_print_int : int Format_doc.printer
val pp_print_float : float Format_doc.printer
val pp_print_bool : bool Format_doc.printer
val pp_print_nothing : unit Format_doc.printer
val pp_print_iter :
?pp_sep:unit Format_doc.printer ->
(('a -> unit) -> 'b -> unit) ->
'a Format_doc.printer -> 'b Format_doc.printer
val pp_print_list :
?pp_sep:unit Format_doc.printer ->
'a Format_doc.printer -> 'a list Format_doc.printer
val pp_print_array :
?pp_sep:unit Format_doc.printer ->
'a Format_doc.printer -> 'a array Format_doc.printer
val pp_print_seq :
?pp_sep:unit Format_doc.printer ->
'a Format_doc.printer -> 'a Stdlib.Seq.t Format_doc.printer
val pp_print_option :
?none:unit Format_doc.printer ->
'a Format_doc.printer -> 'a option Format_doc.printer
val pp_print_result :
ok:'a Format_doc.printer ->
error:'e Format_doc.printer -> ('a, 'e) Stdlib.result Format_doc.printer
val pp_print_either :
left:'a Format_doc.printer ->
right:'b Format_doc.printer ->
('a, 'b) Stdlib.Either.t Format_doc.printer
val pp_open_stag : Stdlib.Format.stag Format_doc.printer
val pp_close_stag : unit Format_doc.printer
val pp_open_box : int Format_doc.printer
val pp_close_box : unit Format_doc.printer
val pp_print_space : unit Format_doc.printer
val pp_print_cut : unit Format_doc.printer
val pp_print_break : Format_doc.formatter -> int -> int -> unit
val pp_print_custom_break :
Format_doc.formatter ->
fits:string * int * string -> breaks:string * int * string -> unit
val pp_open_tbox : unit Format_doc.printer
val pp_close_tbox : unit Format_doc.printer
val pp_set_tab : unit Format_doc.printer
val pp_print_tab : unit Format_doc.printer
val pp_print_tbreak : Format_doc.formatter -> int -> int -> unit
val pp_print_if_newline : unit Format_doc.printer
val pp_force_newline : unit Format_doc.printer
val pp_print_flush : unit Format_doc.printer
val pp_print_newline : unit Format_doc.printer
val comma : unit Format_doc.printer
val semicolon : unit Format_doc.printer
val pp_two_columns :
?sep:string ->
?max_lines:int -> Format_doc.formatter -> (string * string) list -> unit
end`