this post was submitted on 22 Nov 2023
0 points (50.0% liked)
Emacs
313 readers
3 users here now
A community for the timeless and infinitely powerful editor. Want to see what Emacs is capable of?!
Get Emacs
Rules
- Posts should be emacs related
- Be kind please
- Yes, we already know: Google results for "emacs" and "vi" link to each other. We good.
Emacs Resources
Emacs Tutorials
- Beginner’s Guide to Emacs
- Absolute Beginner's Guide to Emacs
- How to Learn Emacs: A Hand-drawn One-pager for Beginners
Useful Emacs configuration files and distributions
Quick pain-saver tip
founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
The problem is monochromacity. The font lock rules in a lot of the TS modes are... not always thought through. Ramp up python-ts-mode's font lock level to the maximum and most of everything is dyed the same colour. It's frustrating and I have had to muck around with
treesit-font-lock-feature-list
to selectively unpick the chaff from the grist. And it's not exactly easy changing it either: if you're new to elisp, or not fluent in the extremely awkward interface for changing this stuff, you'll have to look up how someone else has done it.It's not even customizable, so you can't just click around and change it either.
And then on the other side, people come asking why even when TS is used, highlighting is not "up to par" with VS Code and etc. Then hear about
treesit-font-lock-level
, ramp it up to the max, and apparently live happily after.That's a misinterpretation of my argument. I said monochromacity: that at the highest level, many disparate node types are font locked with the same face. Try it in Python. Everything is the same shade of whatever your variable name face is.
So your complaint is about the non-default behavior? The level 3 was chosen as default explicitly to avoid the abundance of color where it's not really needed.
I don't see that "everything is the same shade", even with level 4. There are problems - like the
variable
matches in particular (which is not useful IMO, but should at least use a different face). The rest use different faces, but since most of those faces are new, it's up to the theme authors to differentiate them.Here's a patch fixing the one problem I found (try it), and below is a screenshot with this patch applied along with the new faces customized to be distinct.
https://imgur.com/a/iifAmcd
That's not what I wrote.
The variable matcher, indeed, is the one I was talking about...
I'm glad we're on the same page.
You're welcome.