atomiks/moonlight-vscode-theme

Breaking color changes

wolflu05 opened this issue · 3 comments

Hello, I was coming back from a longer development break this Christmas and now discovered that everything looks different now. I really liked the old theme, I was using it for a few years now. Why was such a breaking change just installed by default? Wouldn't it be better to just add this new totally different theme as a second version which can be selected in the theme selector and still keep the old ones?

Before:
image

After:
image

This is due to semantic highlighting, which is enabled by default in the latest version. The versioning went from 0.10.6 to 0.11.0 which technically permits breaking changes.

I tried to get the semantic tokens to somewhat match the non-semantic highlighting tokens, but I only properly tested it on JavaScript.

To disable semantic highlighting (also on the README as well), add to your settings.json:

"editor.semanticHighlighting.enabled": false

However, it would be good to try to get the semantic tokens to match more closely for more languages, because I do feel like it provides better highlighting in many situations.

I've changed Moonlight II in v0.11.1 to disable semantic highlighting by default, but have kept it for the original Moonlight (which has been revamped since it was deprecated before, but is now supported).

I also changed many semantic tokens for both themes to more closely match the non-semantic theme in case you do want to enable it at some point.

Thanks for your quick reply. As I said, I really love the moonlight theme. And thanks for the tip with semanticHighlight, I already saw that in the readme, but was unsure about what it can do so I never tried it.

After reading a bit about what semantic highlight is, I can see the improvement in it. Is it possible to enable semantic highlight only for certain langs by default with a theme? That would be awesome if supported langs have it enabled and unsupported not.

And thank you very much for that quick fix for the python language.