As is probably the case with a lot of programmers, I've been searching for my "ideal" text editor for programming for quite a while now. Over the years I've picked up, configured and moved on from a long list of editors and IDEs so it was only really a matter of time before I found myself wondering how hard it would be to write my own from scratch one rainy afternoon.
To be fair, a large part of why my project in particular has ended up being a lot of work is thanks to some arguably questionable design limitations I placed on the initial project. Most importantly, I decided that I was going to limit myself to the bare minimum of dependencies. By which I mean libc and not much else (I caved and ended up pulling in bitflags). Beyond that I also had a somewhat unconventional feature set in mind; one composed of my favourite pieces of functionality found in various text editors I've played around with during my career.
Some of the feature set are probably quite obvious. When it comes to picking sides in the great holy war of Vim vs Emacs, I'm on the side of team modal editing (despite having had a lot of fun implementing LISP interpretors in the past). But when it comes to the rest of the built in functionality in vim I'll be honest, I don't tend to make much use of it. I don't really write macros, I always forget how to yank text to specific registers and on the rare occasion I remember that '.' is a thing I tend to spend more time trying to work out how to make an edit I can repeat than it would have taken to just repeat it by hand.