I've been experimenting lately with a small structured editor for a domain-specific scripting language.
Structured editing allows a number of interesting features, such as domain-specific UI, better code completion, incremental compilation for free, etc. There's a whole field of research here, going as far back as The synthesizer generator , and still active with projects like Hazel , Lamdu , or Cirru , to name a few.
One of my goals is to try to mix those perks with an input system that still feels somewhat like text editing, i.e. avoiding menus or shortcuts-based input. For now here's a preview showing basic editing and cursor navigation, all keyboard-driven: