From fbc1c189ffc7c2e30a4f1c9fb4757b542a99b550 Mon Sep 17 00:00:00 2001 From: Alex Dima Date: Tue, 21 Jan 2020 09:11:34 +0100 Subject: [PATCH] Bring back version check to avoid flickering caused by coordinates conversion --- .../src/features/semanticTokens.ts | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/extensions/typescript-language-features/src/features/semanticTokens.ts b/extensions/typescript-language-features/src/features/semanticTokens.ts index fc6c770a971..3c3aff06202 100644 --- a/extensions/typescript-language-features/src/features/semanticTokens.ts +++ b/extensions/typescript-language-features/src/features/semanticTokens.ts @@ -68,11 +68,21 @@ class DocumentSemanticTokensProvider implements vscode.DocumentSemanticTokensPro return null; } + const versionBeforeRequest = document.version; + const response = await (this.client as ExperimentalProtocol.IExtendedTypeScriptServiceClient).execute('encodedSemanticClassifications-full', requestArg, token); if (response.type !== 'response' || !response.body) { return null; } + const versionAfterRequest = document.version; + + if (versionBeforeRequest !== versionAfterRequest) { + // cannot convert result's offsets to (line;col) values correctly + // a new request will come in soon... + return null; + } + const tokenSpan = response.body.spans; const builder = new vscode.SemanticTokensBuilder();