Hi Immanuel, Thanks for your interest! Contributions are certainly welcome. One of the most valuable things (which I probably won't have time to tackle myself) would be to refactor lilypond-mode to derive from a base mode that includes only the things that don't have to do with parsing (menu setup, compilation handling, customization options). That would make it possible to either merge lilypond-ts-mode with that base mode or derive from it, to bring in the features of lilypond-mode that don't conflict with Treesitter stuff.
I also have pdf-tools working with point-and-click, and a kind of hacky implementation of 2-page view. I didn't merge that stuff into lilypond-ts-mode because most of my code is workarounds for shortcomings of pdf-tools that will hopefully be remedied properly by future pdf-tools releases. For now, I think it's better to keep lilypond-ts-mode agnostic to the user's choice of PDF viewer. I'm not opposed to merging in code to set up point-and-click for users who choose to configure PDF preview within Emacs using pdf-tools, but integrating features from lilypond-mode should probably come first, since lilypond-mode includes a mechanism for choosing a PDF viewer. Saul On Wed, Jan 29, 2025 at 2:24 AM Immanuel Litzroth < immanuel.litzr...@gmail.com> wrote: > If you need help with the lilypond elisp code I would be interested. > I'm using emacs also to do lilypond editing and have preview & clicking > working using pdf-tools. > Greetz, > Immanuel > > > On Wed, Jan 29, 2025 at 2:59 AM Saul Tobin <saul.james.to...@gmail.com> > wrote: > >> 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 >> > > > -- > -- A man must either resolve to point out nothing new or to become a slave > to defend it. -- Sir Isaac Newton >