From @monk-time on September 4, 2017 14:51
- VSCode Version: Code 1.15.1 (41abd21afdf7424c89319ee7cb0445cc6f376959, 2017-08-16T18:07:25.676Z)
- OS Version: Windows_NT x64 6.1.7601
- Extensions:
| Extension |
Author (truncated) |
Version |
| intellij-idea-keybindings |
k-- |
0.2.13 |
| selectline-statusbar |
tom |
0.0.2 |
Also the same result with today's VS Code Insiders build.
According to the documentation for TextMate scope selectors, VSCode supports the syntax for excluding matching scopes:
entity.name.method - source.java matches all scopes that start with entity.name.method but not if a parent scope matches source.java
This functionality is used in at least one built-in theme that I could find:
https://github.com/Microsoft/vscode/blob/c00bdb74ee665cccfc5c4e41520893bb19ef61e5/extensions/theme-monokai/themes/monokai-color-theme.json#L316
But it seems that this syntax makes the selector with - in it invalid, and VSCode doesn't apply the given rule to anything at all.
Steps to Reproduce:
- Put this rule for syntax highlighting in the settings. Confirm that comments turn yellow at least in some files.
{
"editor.tokenColorCustomizations": {
"textMateRules": [
{
"scope": "comment",
"settings": {
"foreground": "#FFFF00"
}
}
]
}
}
- Change the line with the scope selector to:
"scope": "comment - source.js",
Expected result: comments that changed their color after step 1 remain yellow in all files except in .js.
Actual result: all comments reset to a color defined by the current theme.
Reproduces without extensions: Yes
Copied from original issue: microsoft/vscode#33802
From @monk-time on September 4, 2017 14:51
Also the same result with today's VS Code Insiders build.
According to the documentation for TextMate scope selectors, VSCode supports the syntax for excluding matching scopes:
This functionality is used in at least one built-in theme that I could find:
https://github.com/Microsoft/vscode/blob/c00bdb74ee665cccfc5c4e41520893bb19ef61e5/extensions/theme-monokai/themes/monokai-color-theme.json#L316
But it seems that this syntax makes the selector with
-in it invalid, and VSCode doesn't apply the given rule to anything at all.Steps to Reproduce:
{ "editor.tokenColorCustomizations": { "textMateRules": [ { "scope": "comment", "settings": { "foreground": "#FFFF00" } } ] } }"scope": "comment - source.js",Expected result: comments that changed their color after step 1 remain yellow in all files except in
.js.Actual result: all comments reset to a color defined by the current theme.
Reproduces without extensions: Yes
Copied from original issue: microsoft/vscode#33802