zprint is a library and command line tool providing a variety of pretty printing capabilities for both Clojure code and Clojure/EDN structures. It can meet almost anyone's needs. As such, it supports a number of major source code formattng approaches.
In addition, zprint is very handy to use at the REPL.
Maybe one of the existing "styles" will meet your needs. All you have to
do is put {:style ...} on the command line or as the third argument
to a zprint call. For example, {:style :community} or
{:style :respect-bl}.
Some commonly used styles:
quote, deref, var, unquote in structuresLeiningen (via Clojars)
zprint has been tested in each of the following environments:
lumo 1.10.1planck 2.24.0It requires tools.reader at least 1.0.5, which all of the environments
above contain.
The last zprint release built with Clojure 1.8 was [zprint "0.4.15"].
In addition to the zprint dependency, you also need to include the following library when using Clojure 1.8:
[clojure-future-spec "1.9.0-alpha17"]
:style
quote, deref, var, unquote in structureslet binding vectorscond, assoc pairsA number of folks have contributed to zprint, not all of whom show up on GitHub because I have integrated the code or suggestions manually. Thanks for all of the great contributions!
--url and --url-only: @coltnz:respect-bl: @griffis:option-fn and :fn-format for enhanced vector formatting: @milankinenspec.cljc: @QuezionThanks to everyone who has contributed fixes as well as everyone who has reported an issue. I really appreciate all of the help making zprint better for everybody!
At the core of zprint is the rewrite-clj library by Yannick
Scherer, which will parse Clojure source into a zipper. This is a
great library! I would not have attempted zprint if rewrite-clj
didn't exist to build upon. The Clojurescript port relies on Magnus
Rundberget's port of rewrite-clj to Clojurescript, rewrite-cljs.
It too worked with no issues when porting to Clojurescript!
Copyright © 2016-2020 Kim Kinnear
Distributed under the MIT License. See the file LICENSE for details.
Can you improve this documentation? These fine people already did:
Kim Kinnear, Quest Yarbrough, vemv, Andrea Richiardi & Brian HurlowEdit on GitHub
cljdoc builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |