Closed Telpenarmo closed 2 years ago
Thanks, I've found and fixed some scopes that were unnecessarily language-specific.
The main issue, though, is that some language extensions (JS, Rust) incorrectly use storage.type
(should be used for types: int, char, bool, etc) instead of keyword
or storage.modifier
(should be used for keywords that affect the storage of a variable/function/data structure: static, inline, const, public, etc). So I treated storage.type
as keywords, painting them orange, but then languages that use this scope correctly (like Go and Haskell) were affected, painting their types orange which should have been teal. Up to this point I've included a workaround for Go that reversed this.
I've inverted this behavior. Now storage.type
will be correctly colored teal for all languages except JS and Rust. I don't think there's a better way around this except maybe trying to get it fixed upstream. Haskell is a bit more colorful now but still largely white, let me know if that's unsatisfactory.
With current configuration only several languages are really colored, with rest being just dichromatic, having almost everything colored in the default and a bit in keywordish. For example, Haskell looks like this:
I understand that the goal of this theme is to be as similar to Gnome Builder as possible, and any language support could be ruled out the same way as it did happen with YAML and Rust, but VS Code is environment of countless languages, you cannot handle them all.
Therefore, I think you should consider dropping language-specific rules where possible, potentially losing compatibility with Gnome Builder in some cases: I think it is better to have one color more in one language, than one color less in the rest, as it is easier for the user to make small changes, aimed at specific target. It is a design decision though.
Besides, I am really grateful for that theme, it feels really great overall!