From 57f13b7f263094f4839e8c91d425cb18dd8ebe78 Mon Sep 17 00:00:00 2001 From: Rob Lourens Date: Tue, 21 Aug 2018 11:31:41 -0700 Subject: [PATCH] Fix unhandled cancel warnings from text search --- .../services/search/node/rawSearchService.ts | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/vs/workbench/services/search/node/rawSearchService.ts b/src/vs/workbench/services/search/node/rawSearchService.ts index ca61885074b..48e8dbe3191 100644 --- a/src/vs/workbench/services/search/node/rawSearchService.ts +++ b/src/vs/workbench/services/search/node/rawSearchService.ts @@ -67,14 +67,21 @@ export class SearchService implements IRawSearchService { } public textSearch(config: IRawSearch): Event { - let promise: CancelablePromise; + let promise: CancelablePromise; const emitter = new Emitter({ onFirstListenerDidAdd: () => { promise = createCancelablePromise(token => { - return (config.useRipgrep ? this.ripgrepTextSearch(config, p => emitter.fire(p), token) : this.legacyTextSearch(config, p => emitter.fire(p), token)) - .then(c => emitter.fire(c), err => emitter.fire({ type: 'error', error: { message: err.message, stack: err.stack } })); + return (config.useRipgrep ? this.ripgrepTextSearch(config, p => emitter.fire(p), token) : this.legacyTextSearch(config, p => emitter.fire(p), token)); }); + + promise.then( + c => emitter.fire(c), + err => { + if (!isPromiseCanceledError(err)) { + emitter.fire({ type: 'error', error: { message: err.message, stack: err.stack } }); + } + }); }, onLastListenerRemove: () => { promise.cancel();