Hacker News new | ask | show | jobs
by halosghost 3922 days ago
Continuing my streak of posts regarding preference which likely apply nearly only to me[1], I will gladly take on this question! As with the others, I should reiterate that I am a niche user and that the things I want will likely not be wanted by everyone else.

1. Terminal-only (^Z is still something I want/need)

2. Not ncurses (as much as I like ncurses and what it did for TUIs, it's got too many pain points and short-comings to make sense lately).

3. Configurable/Extensible/Scriptable through the host language or one DSL (i.e., allowing a ton of different languages for plugins (I'm looking at you vim, ಠ_ಠ) is a SadTime™). Given this and (2), I would be tempted to say I'd prefer this editor to be written in Haskell and use Brick[2]; there is at least one editor that attempts this [3].

4. Incredibly stripped-down core functionality with officially maintained extensions for likely-to-be-wanted features (e.g., syntax highlighting). This is not because I don't want syntax highlighting (I definitely do), but rather the recognition that one size does not fit all and that making the whole system as configurable as possible is often a huge win. Note, this cannot be done at the expense of performance (which is why I would be tempted to say that accomplishing this sensibly would require (3) be accomplished through the host language (and that it would add another strong argument for Haskell)).

5. Modal (One of vim's greatest triumphs is the brilliance and simplicity of function in modal editing—yes, it's a very odd concept when you're starting out, but it's irreplacable once you get used to it)

6. Asynchronous (One of vim's greatest failings is an interface that is completely incapable of dealing with asynchronicity)[4]

7. Some or all of what Gary Bernhardt mentions in "A Whole New World"[5] (great talk anyway if you haven't seen it). Particularly, layers and a flexible auditor.

---

[1] https://news.ycombinator.com/item?id=10072796

[2] https://github.com/jtdaugherty/brick

[3] https://github.com/yi-editor/yi

[4] http://geoff.greer.fm/2015/01/15/why-neovim-is-better-than-v...

[5] https://www.destroyallsoftware.com/talks/a-whole-new-world