It actually just falls back to a tagged representation using str
[1][2] and avoids using any of the pr
machinery – but I’d say that’s a virtue, since it means fipp can guarantee anything it prints is valid EDN (ignoring the print-length
and print-level
settings). pr
only promises that anything it prints can be read by the Clojure (JVM) reader
[1]: https://github.com/brandonbloom/fipp/blob/master/src/fipp/ednize.clj#L38-L42
[2]: https://github.com/brandonbloom/fipp/blob/master/src/fipp/edn.cljc#L68-L73
puget seems to do something a bit special here too, going to investigate that a little, but for another project really.
I have a bit of polish before first real announce, but select-nrepl
is now quite usable. This leverages rewrite-clj and provides ops for finding and selecting the current element, form, or toplevel in some code. https://github.com/eraserhd/select-nrepl
It's smart about what to do if some object is already selected - e.g. repeatedly selecting an element will iterate through elements left-to-right, regardless of nesting. repeatedly selecting forms will find the next-larger form. toplevels will move to the next toplevel.
(Also, selecting objects also takes surrounding metadata and other reader embellishments)
that's awesome