cljs.pprint/pprint-logical-block
(pprint-logical-block & args)
Source docstring:
Execute the body as a pretty printing logical block with output to *out* which
must be a pretty printing writer. When used from pprint or cl-format, this can be
assumed.
This function is intended for use when writing custom dispatch functions.
Before the body, the caller can optionally specify options: :prefix, :per-line-prefix
and :suffix.
(defmacro pprint-logical-block
[& args]
(let [[options body] (parse-lb-options #{:prefix :per-line-prefix :suffix} args)]
`(do (if (cljs.pprint/level-exceeded)
(~'-write cljs.core/*out* "#")
(do
(cljs.core/binding [cljs.pprint/*current-level* (inc cljs.pprint/*current-level*)
cljs.pprint/*current-length* 0]
(cljs.pprint/start-block cljs.core/*out*
~(:prefix options)
~(:per-line-prefix options)
~(:suffix options))
~@body
(cljs.pprint/end-block cljs.core/*out*))))
nil)))