From 56a830bc6825a30c03448cbb2bf616abb252a200 Mon Sep 17 00:00:00 2001 From: Johannes Rieken Date: Tue, 18 Jan 2022 13:33:07 +0100 Subject: [PATCH] on ext-host race selection ranges, workspace symbols, and document symbols against cancellation, https://github.com/microsoft/vscode/issues/140557 --- src/vs/workbench/api/common/extHostLanguageFeatures.ts | 6 +++--- src/vs/workbench/contrib/search/common/search.ts | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/vs/workbench/api/common/extHostLanguageFeatures.ts b/src/vs/workbench/api/common/extHostLanguageFeatures.ts index bdb1e0898aa..f8f09ce6419 100644 --- a/src/vs/workbench/api/common/extHostLanguageFeatures.ts +++ b/src/vs/workbench/api/common/extHostLanguageFeatures.ts @@ -1718,7 +1718,7 @@ export class ExtHostLanguageFeatures implements extHostProtocol.ExtHostLanguageF } $provideDocumentSymbols(handle: number, resource: UriComponents, token: CancellationToken): Promise { - return this._withAdapter(handle, DocumentSymbolAdapter, adapter => adapter.provideDocumentSymbols(URI.revive(resource), token), undefined); + return this._withAdapter(handle, DocumentSymbolAdapter, adapter => adapter.provideDocumentSymbols(URI.revive(resource), token), undefined, token); } // --- code lens @@ -1953,7 +1953,7 @@ export class ExtHostLanguageFeatures implements extHostProtocol.ExtHostLanguageF } $provideWorkspaceSymbols(handle: number, search: string, token: CancellationToken): Promise { - return this._withAdapter(handle, NavigateTypeAdapter, adapter => adapter.provideWorkspaceSymbols(search, token), { symbols: [] }); + return this._withAdapter(handle, NavigateTypeAdapter, adapter => adapter.provideWorkspaceSymbols(search, token), { symbols: [] }, token); } $resolveWorkspaceSymbol(handle: number, symbol: extHostProtocol.IWorkspaceSymbolDto, token: CancellationToken): Promise { @@ -2170,7 +2170,7 @@ export class ExtHostLanguageFeatures implements extHostProtocol.ExtHostLanguageF } $provideSelectionRanges(handle: number, resource: UriComponents, positions: IPosition[], token: CancellationToken): Promise { - return this._withAdapter(handle, SelectionRangeAdapter, adapter => adapter.provideSelectionRanges(URI.revive(resource), positions, token), []); + return this._withAdapter(handle, SelectionRangeAdapter, adapter => adapter.provideSelectionRanges(URI.revive(resource), positions, token), [], token); } // --- call hierarchy diff --git a/src/vs/workbench/contrib/search/common/search.ts b/src/vs/workbench/contrib/search/common/search.ts index 4804b9ef49f..843e7dd30bd 100644 --- a/src/vs/workbench/contrib/search/common/search.ts +++ b/src/vs/workbench/contrib/search/common/search.ts @@ -3,7 +3,7 @@ * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ -import { onUnexpectedError } from 'vs/base/common/errors'; +import { onUnexpectedExternalError } from 'vs/base/common/errors'; import { IDisposable } from 'vs/base/common/lifecycle'; import { ISearchConfiguration, ISearchConfigurationProperties } from 'vs/workbench/services/search/common/search'; import { SymbolKind, Location, ProviderResult, SymbolTag } from 'vs/editor/common/languages'; @@ -79,7 +79,7 @@ export async function getWorkspaceSymbols(query: string, token: CancellationToke all.push(new WorkspaceSymbolItem(symbol, provider)); } } catch (err) { - onUnexpectedError(err); + onUnexpectedExternalError(err); } });