I tinkered with this a bit more this morning because the current
REPL output is just completely useless for certain areas of my
primary project, which happens to be record-heavy.
Here's a sample of the REPL output, which is identical to what fipp
outputs if used directly (gisted because I figure the wide lines
would be scrambled in email):
https://gist.github.com/cemerick/8959b068a7e41c13219a42f130f6441f
I looked at fipp's implementation some. Leaving aside the fact that
there's no option to disable writing those record tags (a custom
fipp printer could do something different), the printing width
option only applies to the width of each "entry" in a data structure
(element in sequences, entries in maps/records). The net result is
that if you have records that contain other records as their first
printed entry will end up printing very wide, regardless of the
width of the contents of the first non-record entry.
Reading some about fipp's design goals (e.g.
https://github.com/brandonbloom/fipp/issues/21#issuecomment-64693415),
I don't know that it's a good choice for a default interactive
output printer; I'd be surprised if it ever ended up supporting the
sorts of hooks that make for such a thing (like print-method, or
what puget seems to be building on top of fipp?). Those just aren't
relevant (and potentially actively harmful) for fipp's core use
cases of e.g. macroexpansion printing, viewing large datasets, and
so on.
Of course, I don't grok all the constraints you have for REPL output
features, but I
desparately want pprint output at this point.
Working with nested records as nodes in loom graphs (themselves
records) creates output that is effectively noise at the moment. I'm
coping with a `(clojure.pprint/pprint *1)` REPL command keybinding,
but that obviously doesn't help with the noise.
Hope the above helps,
- Chas