Releases: kkinnear/zprint
zprint-filter-0.5.2
Fix a single bug: zprintm-0.5.2 -e
or zprintl-0.5.2 -e
throws an exception. The uberjar works fine, this was only an issue with the graalVM binaries.
zprint-filter-0.5.1
Minor fixes and additions to major release 0.5.0:
- Fixed issue in 0.5.0 where
czprint-fn
andzprint-fn
didn't work properly on functions with specs. - Added
{:color? true}
support to all utilities (uberjar, graalVM binaries), to get ANSI escape sequence
colorized output.
zprint-filter-0.5.0
Major additions to zprint:
-
Respect New Line support available for lists as well as vectors. This capability will never remove any newlines from code, and will add newlines as necessary to format as usual. Any function can now be specified to format as
{:style :respect-nl}
, and that will hold true for everything in the function or just for the top level of the function. See the README for details. -
Indent Only support now available for whole files. This capability will not remove or add any newlines, but will only indent properly and regularize white space on the rest of the line. By default it uses a heuristic based on the input file to decide how to indent the second line of a function call. This capability does not know about how functions should be formatted, since to format them newlines would have to be added or removed. In addition, this capability does not know about width, for the same reason. Use
{:style :indent-only}
as an options map to get this capability. -
Default Mode If you specify
-d
or--default
to the graalVM binaries or the uberjar, no configuration is accepted from anywhere. This won't satisfy those folks who feel zprint has too many configuration options, but it is a step in that direction. -
You can now write a function which will be called for every vector that is formatted, and that function can tell zprint to format the vector like one of the function types used for lists, for example
:arg1
or whatever. See the README for some examples, particularly around formatting hiccup vectors. -
Deprecated things were removed: configuration from environment variables, java properties,
{:style :spec}
, etc. -
Many bugs were fixed, particularly some involving inline comments and comment wrapping.
-
New versions of graalVM were used for the macOS and Linux binaries. They seem to start faster, and run about the same.
zprint-filter-0.4.16
This is essentially a maintenance release, to fix a number of issues large and small that have come up in the last few months. One minor new feature: :unlift-ns?
for maps.
See the CHANGELOG.md for details.
zprint-filter-0.4.15
Worked around a bug in the Clojurescript compiler where it was giving a warning about calling dec
with nil in a situation where it couldn't actually happen.
zprint-filter-0.4.14
Some significant changes:
- Fixed a number of issues (see the CHANGELOG).
- Added sorting for dependencies in leiningen
project.clj
files -- EXPERIMENTAL. - Added a general way to rewrite code during formatting -- also EXPERIMENTAL.
- Can configure from
.zprint.edn
as well as.zprintrc
files. - Will search for either a
.zprintrc
or a.zprint.edn
files from current directory up the tree until it finds one. let
forms without a body format correctly.
zprint-filter-0.4.13
zprint-filter-0.4.12
Added:
- Better error handling for zprint-filter and graalvm binaries: correct exit status, errors to stderr, not stdout.
- Allow any number of ";" in
;!zprint
directives.
zprint-filter-0.4.11
Now with pre-build binaries for both Linux and MacOS!
Other changes:
- Can now use
zprint-file
orzprint-file-str
simultaneously on different threads. Any zprint functions can be used on separate threads as long as they are either all operating on Clojure source or Clojure structures. cond-let
now part of built-in function list.- A lot of doc-string rework and other
codox
changes to allow useful operation withcljdoc
.
zprint-filter-0.4.10
A number of useful changes:
- Prints specs nicely using default options.
- Can have a project local
.zprintrc
file. - Can configure an options map to be used when formatting a specific function.
- New style
:how-to-ns
does newlines and indents correctly for that approach. - Can use
clj -m zprint.main
if you want to do that. - Can use zprint as a library and not pick up
.zprintrc
configuration. - Fixed a number of issues.