Variable: cider-print-fn

cider-print-fn is a customizable variable defined in cider-client.el.

Value

pprint

Documentation

Sets the function to use for printing.

nil – to defer to nREPL to choose the printing function. This will use the bound value of `nrepl.middleware.print/*print-fn*`, which defaults to the equivalent of `clojure.core/pr`.

pr – to use the equivalent of `clojure.core/pr`.

pprint – to use a printer backed by `clojure.pprint`. This is the default.

orchard – to use `orchard.pp`, a pretty-printer bundled with cider-nrepl. It's significantly faster than `clojure.pprint` and doesn't realize lazy sequences while printing them, although its output differs from that of `clojure.pprint` in places.

fipp – to use the Fast Idiomatic Pretty Printer, approximately 5-10x faster than `clojure.core/pprint`.

puget – to use Puget, which provides canonical serialization of data on top of fipp, but at a slight performance cost.

zprint – to use zprint, a fast and flexible alternative to the libraries mentioned above.

Alternatively can be the namespace-qualified name of a Clojure var whose function takes three arguments: the object to print, the
`java.io.PrintWriter` to print on, and a (possibly nil) map of
options. If the function cannot be resolved, will behave as if set to nil.

This variable was added, or its default value changed, in cider version 0.21.0.

Source Code

;; Defined in ~/.emacs.d/elpa/cider-20260821.817/cider-client.el
(defcustom cider-print-fn 'pprint
  "Sets the function to use for printing.

nil – to defer to nREPL to choose the printing function.  This will use
the bound value of \\=`nrepl.middleware.print/*print-fn*\\=`, which
defaults to the equivalent of \\=`clojure.core/pr\\=`.

`pr' – to use the equivalent of \\=`clojure.core/pr\\=`.

`pprint' – to use a printer backed by \\=`clojure.pprint\\=`.  This is the
default.

`orchard' – to use \\=`orchard.pp\\=`, a pretty-printer bundled with
cider-nrepl.  It's significantly faster than \\=`clojure.pprint\\=` and
doesn't realize lazy sequences while printing them, although its output
differs from that of \\=`clojure.pprint\\=` in places.

`fipp' – to use the Fast Idiomatic Pretty Printer, approximately 5-10x
faster than \\=`clojure.core/pprint\\=`.

`puget' – to use Puget, which provides canonical serialization of data on
top of fipp, but at a slight performance cost.

`zprint' – to use zprint, a fast and flexible alternative to the libraries
mentioned above.

Alternatively can be the namespace-qualified name of a Clojure var whose
function takes three arguments: the object to print, the
\\=`java.io.PrintWriter\\=` to print on, and a (possibly nil) map of
options.  If the function cannot be resolved, will behave as if set to
nil."
  :type '(choice (const nil)
                 (const pr)
                 (const pprint)
                 (const orchard)
                 (const fipp)
                 (const puget)
                 (const zprint)
                 string)
  :group 'cider
  :package-version '(cider . "0.21.0"))