Hi all, I've been working for a few months on a Lilypond major mode for Emacs using Treesitter: https://github.com/shevvek/lilypond-ts-mode. I had mentioned this in issue 6743 earlier, but it's now far enough along that it feels worth sharing on the list.
Currently, lilypond-ts-mode supports: * Reasonably complete parser-based highlighting for Lilypond code, with Scheme mode highlighting for embedded Scheme. Most word lists are populated at runtime. * Indentation support for arbitrarily nested Scheme and Lilypond code blocks. * Geiser implementation with Lilypond as the Guile backend, allowing full access to the Lilypond runtime Scheme API from Emacs. * Autodoc support for music functions, markup functions, and Lilypond exported primitives, usable in both Scheme and Lilypond code. * Autocompletion support for \-escaped words, and type-aware autocompletion within Lilypond property expressions. In the near future I plan to add interactive Lilypond code evaluation and structured navigation support. So far, it lacks all the UX niceties of lilypond-mode, like menus, compilation commands, customization group options, etc. Hopefully some folks find this interesting/useful! Feedback is welcome. Saul