module Pretty_utils: sig .. end
pretty-printing to a string
val sfprintf : ('a, Format.formatter, unit, string) Pervasives.format4 -> 'a
Deprecated.Silicon-20161101 use Format.asprintf
Equivalent to Format.asprintf. Used for compatibility with OCaml < 4.01.
val ksfprintf : (string -> 'b) -> ('a, Format.formatter, unit, 'b) Pervasives.format4 -> 'a
similar to Format.kfprintf, but the continuation is given the result
string instead of a formatter.
Since Magnesium-20151001
val to_string : ?margin:int -> (Format.formatter -> 'a -> unit) -> 'a -> string
pretty-prints the supplied value into a string.
margin is the
maximal width of the box before a line-break is inserted.
See
Format.set_margin
separators
val pp_print_string_fill : Format.formatter -> string -> unit
transforms every space in a string in breakable spaces.
val escape_underscores : string -> string
pretty printers for standard types
type sformat = (unit, Format.formatter, unit) Pervasives.format
type 'a formatter = Format.formatter -> 'a -> unit
type ('a, 'b) formatter2 = Format.formatter -> 'a -> 'b -> unit
val pp_list : ?pre:sformat ->
?sep:sformat ->
?last:sformat ->
?suf:sformat ->
?empty:sformat ->
'a formatter -> 'a list formatter
pretty prints a list. The optional arguments stands for
- the prefix to output before a non-empty list (default: open a box)
- the separator between two elements (default: nothing)
- the last separator to be put just before the last element (default:sep)
- the suffix to output after a non-empty list (default: close box)
- what to print if the list is empty (default: nothing)
Change in Silicon-20161101: new optional argument
empty
val pp_array : ?pre:sformat ->
?sep:sformat ->
?suf:sformat ->
?empty:sformat ->
(int, 'a) formatter2 -> 'a array formatter
pretty prints an array. The optional arguments stands for
- the prefix to output before a non-empty array (default: open a box)
- the separator between two elements (default: nothing)
- the suffix to output after a non-empty array (default: close box)
- what to print if the array is empty (default: nothing)
Change in Silicon-20161101: new optional argument
empty
val pp_iter : ?pre:sformat ->
?sep:sformat ->
?suf:sformat ->
(('a -> unit) -> 'b -> unit) ->
'a formatter -> 'b formatter
pretty prints any structure using an iterator on it. The argument
pre (resp. suf) is output before (resp. after) the iterator
is started (resp. has ended). The optional argument sep is output bewteen
two calls to the 'a formatter. Default: open a box for pre, close
a box for suf, nothing for sep.
val pp_iter2 : ?pre:sformat ->
?sep:sformat ->
?suf:sformat ->
?between:sformat ->
(('key -> 'v -> unit) -> 'a -> unit) ->
'key formatter ->
'v formatter -> 'a formatter
pretty prints any map-like structure using an iterator on it. The argument
pre (resp. suf) is output before (resp. after) the iterator
is started (resp. has ended). The optional argument sep is output bewteen
two calls to the 'a formatter. The optional argument between is
output between the key and the value. Default: open a box for pre, close
a box for suf, nothing for sep, break-space for between.
val pp_opt : ?pre:sformat ->
?suf:sformat ->
?none:sformat ->
'a formatter -> 'a option formatter
pretty-prints an optional value. Prefix and suffix default to "@" and "@"
respectively. If the value is None, pretty-print using none.
Change in Silicon-20161101: new optional argument none
val pp_cond : ?pr_false:sformat ->
bool -> sformat formatter
pp_cond cond f s pretty-prints s if cond is true and the optional
pr_false, which defaults to nothing, otherwise
val pp_pair : ?pre:sformat ->
?sep:sformat ->
?suf:sformat ->
'a formatter ->
'b formatter -> ('a * 'b) formatter
pp_pair ?pre ?sep ?suf pp_a pp_b (a,b) pretty prints the pair
(a,b),
using the pretty printers
pp_a and
pp_b, with optional
prefix/separator/suffix, whose default values are:
- pre: open a box
- sep: print a comma character
- suf: close a box.
Since Magnesium-20151001
val pp_flowlist : ?left:sformat ->
?sep:sformat ->
?right:sformat ->
'a formatter -> 'a list formatter
val pp_blocklist : ?left:sformat ->
?right:sformat ->
'a formatter -> 'a list formatter
val pp_open_block : Format.formatter -> ('a, Format.formatter, unit) Pervasives.format -> 'a
val pp_close_block : Format.formatter -> ('a, Format.formatter, unit) Pervasives.format -> 'a
val pp_trail : 'a formatter -> 'a formatter
pretty-prints its contents inside an '(** ... **)' horizontal block trailed
with '*'