I've been building a text editor. It uses a server-client model, with native/terminal/web clients using a shared (local) server instance. It integrates LSP/tree-sitter/ripgrep/Git/etc, and has a concept of 'workspaces' to easily switch between projects.
I spend less time in an editor now, but it's been satisfying being able to take features I've enjoyed from other editors and customise - and it's oriented a bit more towards exploring code than editing. Key-bindings are arranged such that bare letters are for motions, Shift- variants are then used to extend selections, Ctrl- bindings are for buffer mutations, and leader-prefixed bindings are application level (e.g., opening pickers).
https://github.com/joefreeman/aether
I spend less time in an editor now, but it's been satisfying being able to take features I've enjoyed from other editors and customise - and it's oriented a bit more towards exploring code than editing. Key-bindings are arranged such that bare letters are for motions, Shift- variants are then used to extend selections, Ctrl- bindings are for buffer mutations, and leader-prefixed bindings are application level (e.g., opening pickers).
https://github.com/joefreeman/aether