Bikeshedding code appearance is just part of my nature, so I suppose it's only natural that I tried to make lots of tweaks when I first started learning Rust. In truth, I don't have much firsthand insight into the community, but my impression of the state of affairs was something along these lines:
The primary focus of the core team was shipping an amazing language, so a TextMate grammar was developed, but it was not desireable for it to be a big time sink for those involved.
People were sufficiently happy with the grammar that was provided, so making incremental improvements to it was not a major focus.
The long-term goal was to ship semantic highlighting, which is now becoming available, so there is little enthusiasm to tweak regex-based grammars at this point.
Some things that I've noticed, as semantic highlighting gains popularity across languages:
Semantic highlighting only addresses a minority of tokens on the page. Often, the semantic highlighting system relies on the underlying regex-based grammar to handle scopes for punctuation, operators, etc.
Semantic highlighting tends to favor correctness over nuance. For example, many semantic highlighting systems show function declarations in the same color as function calls. The AST provides a greater guarantee that they will be highlighted correctly, but removes these types of distinctions even if the underlying TextMate grammar previously supplied them.
In any event, I wanted to tweak my theme, so for my own purposes I simply wrote a new regex-based grammar that met my needs. I am using VS Code, so I published the grammar as an extension, and then tweaked my Yarra Valley theme to use it:
At the moment I'm happy, but I wondered if the community had any interest in using the grammar to tweak other themes, or using it in other editors. VS Code is currently upstreaming the grammars supplied with Atom, and prefers changes be made on the Atom side first. The main Rust VS Code extension appears to just fall back to the built-in grammar, and the Rust Analyzer extension appears to be shipping the same grammar that is already used by Atom and VS Code.
Should I leave things as they are? Or should I try to get this upstreamed elsewhere (editors, RLS/RA)? Please let me know if there is any interest, or other feedback. Now back to learning Rust