From e0d5dc4714c0d97eb98b59d50179e652affb59fd Mon Sep 17 00:00:00 2001 From: "Lyu, Wei Da" Date: Wed, 29 May 2024 15:41:07 +0800 Subject: [PATCH] fix: don't debounce document symbol request --- packages/language-server/src/plugins/PluginHost.ts | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/packages/language-server/src/plugins/PluginHost.ts b/packages/language-server/src/plugins/PluginHost.ts index b239c21ee..b02009acf 100644 --- a/packages/language-server/src/plugins/PluginHost.ts +++ b/packages/language-server/src/plugins/PluginHost.ts @@ -279,12 +279,18 @@ export class PluginHost implements LSProvider, OnWatchFileChanges { ): Promise { const document = this.getDocument(textDocument.uri); + // VSCode requested document symbols twice for the outline view and the sticky scroll + // Manually delay here and don't use low priority as one of them will return no symbols + await new Promise((resolve) => setTimeout(resolve, 1000)); + if (cancellationToken.isCancellationRequested) { + return []; + } return flatten( await this.execute( 'getDocumentSymbols', [document, cancellationToken], ExecuteMode.Collect, - 'low' + 'high' ) ); }