How do different text editors represent the file being edited? CodeMirror has interesting tree structure of lines: https://marijnhaverbeke.nl/blog/codemirror-line-tree.html
Related Posts
"Example Driven Development" using Glamorous and Pharo Smalltalk: https://medium.com/feenk/an-example-of-example-driven-development-4dea0d995920
Tests returning values and composing is a really interesting model. It establishes structure and shows which test failure is the most 'fundamental'.
There are *so many* ways that reading a text file can fail.
Maybe it doesn't exist, it's a broken symlink, it's actually a directory, it's not the encoding you expected, or perhaps you just don't have the correct permissions.
Reporting good errors is surprisingly labour intensive.
One interesting design choice in Emacs that I haven't seen in other editors: reserved shortcuts.
An Emacs extension shouldn't use F5 through F12, or Ctrl-c LETTER. This lets users configure their own shortcuts. https://www.gnu.org/software/emacs/manual/html_node/emacs/Key-Bindings.html
Does it exist elsewhere? I miss it in VS Code, where e.g. all the Fn keys are already assigned.