Open
Description
https://go.dev/cl/562244 adds support to gopls for classifying control labels as a semantic token class ("label"
). Strangely, given that JavaScript uses labels just the same way as Go in break and continue, "label" does not appear to be an LSP 3.17 standard semantic token type.
I think the VS Code Go extension should define "label" as a supported token type, and register a unique CSS class for it, ideally with light and dark styles. Here's the logic to register 'enumMember' as a semantic token for TypeScript:
- encoding https://github.com/microsoft/vscode/blob/main/extensions/typescript-language-features/src/languageFeatures/semanticTokens.ts//#L187
- style https://github.com/Microsoft/vscode/blob/main/src/vs/platform/theme/common/tokenClassificationRegistry.ts#L567
This document suggests that VS Code already supports "label", so perhaps there is less to do: https://code.visualstudio.com/api/language-extensions/semantic-highlight-guide#standard-token-types-and-modifiers