Toy software performing a task when the stars align and the bytes hold their breath is one thing. Ingesting whatever freakish data the real world has to offer and handling it gracefully is another.
For a while I’ve been dissatisfied with my text editor. I settled on Howl about a decade ago; it’s lightweight and efficient to use, but it falls down in a number of areas:
Development has been dead for several years. I’ve been maintaining my own fork for a while, but the editor is written in MoonScript and I don’t really care to learn the language and the codebase deeply enough to perform anything more than minor tweaks to it.
Howl chokes when doing project-wide file searches. It’s not awful, but it’s bad enough that it can pull me out of a flow state and dissuades me from using it. I don’t like that: I am not in the habit of using an LSP, so grepping around for text is something I lean on quite heavily to understand large codebases.
Howl is a GUI editor. While it’s largely keyboard-oriented, I can’t easily run it over an SSH connection. Increasingly, a lot of my time is spent logged into machines that sit on the other end of a network cable, and SFTP only gets you so far.
It doesn’t have an integrated terminal. You can run external commands and see their output, but there’s no provision for live interaction and the vast majority of ANSI escape codes are unsupported, so colour isn’t on the table.
For the past few years I’ve been shopping around for alternatives. Here follows an inexhaustive list of editors I’ve tried:
Helix
VS Code
Sublime Text
... continue reading