Frama-C API - Jbuffer
Rich text buffers with JSON marshalling.
type json = Frama_c_kernel.Json.t
val format : ?indent:int -> ?margin:int -> ('a, Stdlib.Format.formatter, unit, json) Stdlib.format4 -> 'a
All-in-one formatter. Return the JSON encoding of formatted text.
val to_json : ?indent:int -> ?margin:int -> (Stdlib.Format.formatter -> 'a -> unit) -> 'a -> json
All-in-one formatter. Return the JSON encoding of formatted text.
val create : ?indent:int -> ?margin:int -> unit -> buffer
Create a formatter with ~indent
maximum indentation and ~margin
right-margin. Defaults are those of Format.make_formatter
, which are ~indent:68
and ~margin:78
with OCaml 4.05.
val formatter : buffer -> Stdlib.Format.formatter
The underlying formatter of a buffer.
val bprintf : buffer -> ('a, Stdlib.Format.formatter, unit) Stdlib.format -> 'a
Prints into the buffer formatter.
val append : buffer -> string -> int -> int -> unit
val flush : buffer -> unit -> unit
val push_tag : buffer -> Stdlib.Format.stag -> unit
val pop_tag : buffer -> Stdlib.Format.stag -> unit
Flushes the buffer and returns its JSON enoding. This pops all pending tags.
val is_empty : json -> bool
When is_empty js
holds, the JSON is sure to be empty.
val fprintf : Stdlib.Format.formatter -> json -> unit
Prints back a JSON encoding into the provided formatter.