Lilypond Treesitter mode for Emacs

Saul Tobin <[email protected]>
Newsgroups gmane.comp.gnu.lilypond.devel
Message-ID <CAPF+3FFKW9yn5qDh=UnO4MfO2DPti8UPbkkUiMh9dO3AW_0kfQ@mail.gmail.com>
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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.