Lwt_fmt
SourceFormat API for Lwt-powered IOs
This module bridges the gap between Stdlib.Format
and Lwt
. Although it is not required, it is recommended to use this module with the Fmt
library.
Compared to regular formatting function, the main difference is that printing statements will now return promises instead of blocking.
Returns a promise that prints on the standard output. Similar to Stdlib.Format.printf
.
Returns a promise that prints on the standard error. Similar to Stdlib.Format.eprintf
.
Lwt enabled formatters
make_stream ()
returns a formatter and a stream of all the writing order given on that stream.
of_channel oc
creates a formatter that writes to the channel oc
.
Formatter printing on Lwt_io.stdout
.
Formatter printing on Lwt_io.stdout
.
make_formatter ~commit ~fmt
creates a new lwt formatter based on the Stdlib.Format.formatter
fmt
. The commit
function will be called by the printing functions to update the underlying channel.
get_formatter fmt
returns the underlying Stdlib.Format.formatter
. To access the underlying formatter during printing, it is recommended to use %t
and %a
.
flush fmt
flushes the formatter (as with Stdlib.Format.pp_print_flush
) and executes all the printing action on the underlying channel.
Low level functions
write_order oc o
applies the order o
on the channel oc
.