Skip to content

Commit 8713449

Browse files
Eskibearfbricon
authored andcommitted
address comments
Signed-off-by: Yan Zhang <yanzh@microsoft.com>
1 parent 7208ce4 commit 8713449

2 files changed

Lines changed: 10 additions & 5 deletions

File tree

src/extension.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -475,6 +475,9 @@ export function activate(context: ExtensionContext): Promise<ExtensionAPI> {
475475
});
476476
}
477477
excludeProjectSettingsFiles();
478+
479+
// temporary implementation Semantic Highlighting before it is part of LSP
480+
registerSemanticTokensProvider(context);
478481
});
479482
}
480483

@@ -519,8 +522,6 @@ export function activate(context: ExtensionContext): Promise<ExtensionAPI> {
519522

520523
context.subscriptions.push(onConfigurationChange(languageClient, context));
521524

522-
// temporary implementation Semantic Highlighting before it is part of LSP
523-
registerSemanticTokensProvider(context);
524525
});
525526
});
526527
}

src/semanticTokenProvider.ts

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,11 @@ import { Commands } from './commands';
33
import { getJavaConfiguration } from './utils';
44

55
export function registerSemanticTokensProvider(context: vscode.ExtensionContext) {
6-
if (isSemanticHTokensEnabled()) {
6+
if (!vscode.languages.registerDocumentSemanticTokensProvider) { // in case Theia doesn't support this API
7+
return;
8+
}
9+
10+
if (isSemanticHighlightingEnabled()) {
711
getSemanticTokensLegend().then(legend => {
812
const semanticTokensProviderDisposable = vscode.languages.registerDocumentSemanticTokensProvider({ scheme: 'file', language: 'java' }, semanticTokensProvider, legend);
913
context.subscriptions.push(semanticTokensProviderDisposable);
@@ -38,7 +42,7 @@ function onceSemanticTokenEnabledChange(context: vscode.ExtensionContext, regist
3842
const configChangeListener = vscode.workspace.onDidChangeConfiguration(e => {
3943
configChangeListener.dispose();
4044
if (e.affectsConfiguration('java.semanticHighlighting.enabled')) {
41-
if (isSemanticHTokensEnabled()) {
45+
if (isSemanticHighlightingEnabled()) {
4246
// turn on
4347
registerSemanticTokensProvider(context);
4448
} else if (registeredDisposable) {
@@ -50,7 +54,7 @@ function onceSemanticTokenEnabledChange(context: vscode.ExtensionContext, regist
5054
});
5155
}
5256

53-
function isSemanticHTokensEnabled(): boolean {
57+
function isSemanticHighlightingEnabled(): boolean {
5458
const config = getJavaConfiguration();
5559
const section = 'semanticHighlighting.enabled';
5660
return config.get(section);

0 commit comments

Comments
 (0)