-
Notifications
You must be signed in to change notification settings - Fork 34.2k
Closed
Description
- VSCode Version: Code 1.15.1 (41abd21, 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 withentity.name.method
but not if a parent scope matchessource.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