Programmable to the core
Configuration, keybindings, extensions, and workflows are ordinary JavaScript or TypeScript. Built-in features use the same public APIs your extensions do — bundled code gets no special privileges.
Knot is an editing environment inspired by Emacs: everything is scriptable, but with a native interface, asynchronous execution, and language tooling built in. It aims to feel lightweight, fast, inspectable, and extensible.
Early development. There are no releases yet — follow along on GitHub.
Configuration, keybindings, extensions, and workflows are ordinary JavaScript or TypeScript. Built-in features use the same public APIs your extensions do — bundled code gets no special privileges.
A GPU-rendered interface written in Rust. Text shaping, input, and rendering stay native, so scripting never costs you responsiveness.
Language servers, search, Git, and external commands run asynchronously. Extensions progress independently of each other and of your typing.
Higher-level workflows such as projects ship as ordinary bundled extensions built on public primitives. Disable them, replace them, or write your own.
An integrated terminal backed by a mature emulator, with sessions that survive moving between windows and layouts.
Unsaved changes are preserved natively and windows restore at startup, even if an extension misbehaves.