An eventual goal for this project is to experiment with novel editing interfaces. I'm incredibly excited by tools like Roam and Andy Matuschak's note and the possibility for an IDE for thought (b I ntegrated T hinking E nvironment perhaps).
This was actually the initial approach for fancynote, but, it predictably turned out to be really hard to make a text editor.
There arre a couple different things I could build on top of to make experimenting easier, so here's some thoughts on a bunch of them.
Emacs is my day to day editor and is extremely extensible. However it's also (or at least feels) huge, with documentation in varying states of accessibility.
NOTE I started experimenting writing a mode already
This is a really interesting one as, unlike every other text-editor on this list, kilo doesn't have any kind of plugin or extensibility system. It makes up for that by being absolutely tiny . Less than 1024 lines of code. And it still supports things like syntax highlighting and code search.
There's even a tutorial , that walks you through the process of writing the whole thing step by step.
This means that I could just hack on the core of the text editor to make it work the way I might want to.