What does HackerNews think of kilo?
A text editor in less than 1000 LOC with syntax highlight and search.
That said, for many server-type use cases these days, 11MB isn't a huge deal. Still, I wonder if micro could be compiled on / ported to TinyGo and end up a few hundred KB? It looks like TinyGo can produce some pretty small binaries: https://tinygo.org/docs/guides/optimizing-binaries/
There is a nice tutorial that walks through how one might write it from scratch: https://viewsourcecode.org/snaptoken/kilo/
https://github.com/antirez/kilo
Even I could understand this one pretty well and that's no small matter.
[0] https://github.com/antirez/kilo
[1] https://github.com/dylanaraps/fff
[2] https://www.youtube.com/watch?v=SlJto75auCA
https://github.com/antirez/kilo
Edit: oops, yours is in assembly, so definitely not in the same vein :-p (except for both trying to be small!)
Edit2: ... and, the article is about kilo. D'oh. This is what happens when you go first through HN comments, only to later open the article (which I do often!).
A text editor by the guy that made redis, in less than 1000 lines and a lot of comments.
https://github.com/antirez/kilo
https://github.com/meetecho/janus-gateway
The obvious caveat here is that I have no idea what makes a good C codebase. What I liked in both was I was able to:
compile and run them easily
make tiny changes and observe them easily
read and understand a reasonable portion of them
enjoy the odd comment here and there
CTRL-S: Save
CTRL-Q: Quit
CTRL-F: Find string in file (ESC to exit search, arrows to navigate)
It's available in a lot of well-used distros: https://pkgs.org/search/kilo but doesn't look like it's in Arch, etc.Kilua looks cool also as it has more similar keybindings to Emacs[2]:
Ctrl-x Ctrl-o Open a new file in the current buffer.
Ctrl-x Ctrl-s Save the current file.
Ctrl-x Ctrl-c Quit.
Ctrl-x c Create a new buffer
Ctrl-x n Move to the next buffer.
Ctrl-x p Move to the previous buffer.
Ctrl-x b Select buffer from a list
M-x Evaluate lua at the prompt.
Ctrl-r: Regular expression search.
but the goal would be to have that available in a package manager in a default install, so that after logging into any server where I'm a sudoer, I could: sudo apt-get install some_package
sudo yum -y install some_package
pacman -S some_package
...
[1]: https://github.com/antirez/kilo
[2]: https://github.com/skx/kilua