Helix: A post-modern text editor


Key points of this text-editor, as listed on its homepage:

  • Multiple selections by default, based on Kakoune.
  • Syntax highlighting and code editing using Tree-sitter.
  • Built-in language server support.
  • Runs in a terminal.
  • Built with Rust. No Electron. No VimScript. No JavaScript.


Quote for the GitHub README:

The editing model is very heavily based on Kakoune; during development I found myself agreeing with most of Kakoune’s design decisions.


Looks cool, but I don’t see anything about plugins, is it extensible and scriptable?

Author’s answer to the question:

I’d like to implement some form of scripting (either via wasm, gamelisp or lua) down the road, definitely.


Extending through wasm sounds very appealing as it doesn’t impose a specific language while being more efficient and platform-independent unlike POSIX (not to mention sandboxing).
I hope the project goes far.

Can you elaborate more on wasm? I haven’t heard of it before

“WASM” is short for WebAssembly, a low-level virtual machine designed to be secure and easy to implement on top of production-quality JavaScript VMs like Chrome’s V8 and Firefox’s Spidermonkey. However, because it’s designed to be low-level, portable, and easy-to-optimise, it doesn’t actually have hard dependencies on any part of the web-stack - lots of people have written WASM runtimes, from simple interpreters to hyper-optimising JITs.

WASM itself doesn’t provide any APIs for programs to talk to the outside world, but there’s a standard way to expose APIs to WASM plugins, and there are standard extensions for things like how to read the filesystem and how to access command-line arguments.