Emacs salmagundi, 2026-08-13
Here's a few minor tweaks I've made to my Emacs setup recently.
Limiting enabled tree-sitter modes
After reading Rahul's post Emacs 31 Is Around the Corner: The Changes I'm Already Daily Driving I simplified my setup and turned on all the tree-sitter modes
(treesit-enabled-modes t)
I regretted that as soon as I opened a YAML file though. It turns out the
yaml-ts-mode is rather unusable.1 I switched back to yaml-mode and
adjusted the value of treesit-enabled-modes to include what I have use for
(the change):
(treesit-enabled-modes '(bash-ts-mode
c++-ts-mode
c-or-c++-ts-mode
c-ts-mode
dockerfile-ts-mode
go-mod-ts-mode
go-ts-mode
go-work-ts-mode
json-ts-mode
python-ts-mode
rust-ts-mode
typescript-ts-mode))
The customization of treesit-enabled-modes contains a list of all the
supported modes.
I hope someone will take pity on yaml-ts-mode and make it usable soon.
Tree-sitter grammar for Cabal files
When I began tinkering with my own treesitter-based mode for Haskell I failed to find a tree-sitter grammar for Cabal files so I wrote a rather rough one myself. My hope was that it could serve as a base, or motivation, for someone else to write a proper one. It took more than 2 years, but now it's finally happened!
I've switched my mode to use Curtis's grammar and I'll be archiving mine. (The change.)
Hello editable xref, good bye wgrep
Rahul's post also mentions that editable xref buffers. I had the same itch to
have editable xref buffers, and I'd added a function to turn them into grep
buffers to be able to edit them. I've now switched to using the built-in
support, and removed the function.
At the same time I also decided to remove wgrep and instead use the builtin
function for editing grep buffers.
Footnotes:
A mode for an indentation-sensitive language really ought to at least handle indentation!