The idea that I've been throwing around all weekend is one I actually first read about here on HN[1]. The idea of notebook-like terminal emulator. (Admittedly, speaking as someone who's only ever had second-hand experience with notebooks).
Each command could have its own buffer. Commands could be interspersed with text, or more rich output than a terminal emulator is traditionally capable of. Think, you could share a notebook of commands and commentary for how you clone a project, install it's dependencies, build it, and run the tests. Collapse the build buffer and just leave the test buffer open, waiting for the build to complete and the tests to run. Or maybe just being able to pipe one buffer to the next, so you could visibly see the output of `git branch`, then the output of piping that to `grep foo` as the next block, etc.
There's value somewhere in this idea, even if it's not directly related to the Windows Terminal. Terminal emulators have experimented with collapsible regions of the buffer for a while now. But maybe there are new ways of leveraging the CLI that we just haven't quite wrapped our heads around yet (or no one's had the time to ship)
Ironically, most of the things he tries to bring home as his conclusion that "you'd have to rewrite the whole terminal" are things that are already supported by most terminals:
- RGB colored text
- Bold, italic, underlined text
- drawing raster graphics to the grid (Okay, many terminals implement sixel but not everyone)
- mouse events (heck that's been there since vt220?)
- being able to listen for key down AND key up events (maybe less supported, but something that many emulators have sure thought about in the past[1])
I'm definitely a huge fan of "sitting in a hammock and thinking about things" though. Maybe that's part of the reason I started this thread. What things should we be thinking about for the next few years?
Each command could have its own buffer. Commands could be interspersed with text, or more rich output than a terminal emulator is traditionally capable of. Think, you could share a notebook of commands and commentary for how you clone a project, install it's dependencies, build it, and run the tests. Collapse the build buffer and just leave the test buffer open, waiting for the build to complete and the tests to run. Or maybe just being able to pipe one buffer to the next, so you could visibly see the output of `git branch`, then the output of piping that to `grep foo` as the next block, etc.
There's value somewhere in this idea, even if it's not directly related to the Windows Terminal. Terminal emulators have experimented with collapsible regions of the buffer for a while now. But maybe there are new ways of leveraging the CLI that we just haven't quite wrapped our heads around yet (or no one's had the time to ship)
[1]: https://news.ycombinator.com/item?id=26617656