-
Notifications
You must be signed in to change notification settings - Fork 34k
Description
Currently there is very basic support for multiple semantic tokens provider for the same language. The first provider that computed some tokens is used. (See #135580). This feature was also requested in #135599 but didn't look like anything got pushed to fix it...
However, in reality, tokens from multiple semantic token providers need to be taken into account. For example Java annotations in the case of Spring can have JPQL, HQL or native SQL queries depending on annotation parameters and JARs on the classpath. Seems that best approach for such use case in Semantic Tokens. However, since JDT LS also has SemanticTokensProvider
any Spring specific SemanticTokenProvider
would conflict with the JDT LS provider.
Looking at https://github.com/microsoft/vscode/blob/main/src/vs/editor/common/services/semanticTokensProviderStyling.ts#L142 i have a feeling that the restriction of effectively having one token provider giving tokens can be lifted if switched to SemanticTokens[]
(cc: @martinlippert)