Intuitively I feel that we can do better on the presentation side. It is also tempting to refactor pipelines to use structured data - at first sight this would help avoiding all this plaintext parsing glue which hides otherwise elegant logic in your pipelines.
However, digging deeper into possible solution frustration creeps in :( In my case it started when I tried to collect real world use cases for "rich terminal":
cat image.png # that is pretty straitforward
cat *.png | gallery -3 # displays picture gallery in 3 columns
cat some_data | plot .... # hm... not that I use this frequently
.....
psql -c "select * from customer;" # hm.. I do need some kind of grid control here.
Heck, do I really need to bring such a complex thing here? Ok, I'm a bit stuck, lets postpone this and think about the implementation.
The obvious choice to make some shortcut such as HTML. However, here comes JS and I'm totally unsure that this behemot is what I wanted. Improving VT100? Most likely this will end up with a brand new 15th standard. No luck, lets postpone.
Structured data. Lets scratch another itch - model some basic commands using Clojure to build commands and represent structured data. ls, find, cat, grep. After a good start with producing file tree, flattening and filtering it with core Clojure function it becomes clear that I need some kind of DSL for "find" so that it would be as concise and easy type as with "find".
Блин!!!! Lets wait for the next such post on HN to start over.