Module Sexp.Private

val size : t -> int * int
val buffer : unit -> Buffer.t
val mach_maybe_esc_str : string -> string @@ portable
val must_escape : string -> bool @@ portable
val esc_str : string -> string @@ portable
include Pretty_printing with type output := string

Printing to formatters

val pp_hum : Format.formatter -> t -> unit @@ portable

pp_hum ppf sexp outputs S-expression sexp to formatter ppf in human readable form.

val pp_hum_indent : int -> Format.formatter -> t -> unit @@ portable

pp_hum_indent n ppf sexp outputs S-expression sexp to formatter ppf in human readable form and indentation level n.

val pp_mach : Format.formatter -> t -> unit @@ portable

pp_mach ppf sexp outputs S-expression sexp to formatter ppf in machine readable (i.e. most compact) form.

val pp : Format.formatter -> t -> unit @@ portable

Same as pp_mach.

Conversion to strings

val to_string_hum : ?indent:int -> ?max_width:int -> t -> string @@ portable

to_string_hum ?indent ?max_width sexp converts S-expression sexp to a string in human readable form with indentation level indent and target maximum width max_width. Note long atoms may overflow max_width.

  • parameter indent

    default = Dynamic.get default_indent

  • parameter max_width

    default = 78

val to_string_mach : t -> string @@ portable

to_string_mach sexp converts S-expression sexp to a string in machine readable (i.e. most compact) form.

val to_string : t -> string @@ portable

Same as to_string_mach.

Conversion to buffers

val to_buffer_hum : buf:Buffer.t -> ?indent:int -> ?max_width:int -> t -> unit @@ portable

to_buffer_hum ~buf ?indent ?max_width sexp outputs the S-expression sexp converted to a string in human readable form to buffer buf with indentation level indent and target maximum width max_width. Note long atoms may overflow max_width.

  • parameter indent

    default = Dynamic.get default_indent

  • parameter max_width

    default = 78

val to_buffer_mach : buf:Buffer.t -> t -> unit @@ portable

to_buffer_mach ~buf sexp outputs the S-expression sexp converted to a string in machine readable (i.e. most compact) form to buffer buf.

val to_buffer : buf:Buffer.t -> t -> unit @@ portable

to_buffer ~buf sexp same as to_buffer_mach.

val to_buffer_gen : buf:'buffer -> add_char:('buffer -> char -> unit) -> add_string:('buffer -> string -> unit) -> t -> unit @@ portable

to_buffer_gen ~buf ~add_char ~add_string sexp outputs the S-expression sexp converted to a string to buffer buf using the output functions add_char and add_string.

Functions used by Make_pretty_printing