-
Notifications
You must be signed in to change notification settings - Fork 40
Description
6d2fb74 introduced hard-coded color values which are applied without considering the user's color theme setting. While this highlights semantics information, this approach has several drawbacks.
- It disrespects the users' preference. Users choose color themes according to their aesthetic preferences, and this should be respected.
- Poor readability under light background when using the default semantics colors. (See Theme Colors Keep Changing to Pastel Colors microsoft/vscode#241113 (comment)) This is a consequence of assuming a dark or light background, and setting only the foreground color without also setting background color.
- Not friendly to people with color blindness. The default semantics colors contain many red and green colors. For people with color blindness (particularly deuteranopia which affects 5% of all men), they are not easily distinguishable. Color blind people usually choose specific color schemes that work for their eyes.
For VSCode, the user expects the color theme to be set at File -> Preferences -> Theme -> Color Theme. Extensions should derive colors from the user's setting. If an extension overrides this setting, or requires the user's manual intervention to work well, it should let the user know and allow the user to configure. For example, it should show a notification on the status bar and provide a nice way to set the extended semantics-aware color themes.
And interestingly, having "ccls" installed also affects rust-analyzer, a plugin for the Rust programming language.
There is a bug report upstream related to this: microsoft/vscode#241113