From c64d97d9a24ad6e752dc4e421899703e904ca97e Mon Sep 17 00:00:00 2001 From: Rob Lourens Date: Fri, 25 May 2018 20:14:41 -0700 Subject: [PATCH] EH search - fix lost error messages when multiple search providers are run --- .../services/search/node/searchService.ts | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/src/vs/workbench/services/search/node/searchService.ts b/src/vs/workbench/services/search/node/searchService.ts index e7094ce4e71..d3efcf7e8b0 100644 --- a/src/vs/workbench/services/search/node/searchService.ts +++ b/src/vs/workbench/services/search/node/searchService.ts @@ -121,17 +121,20 @@ export class SearchService implements ISearchService { // TODO@roblou this is not properly waiting for search-rg to finish registering itself if (this.searchProvider.length) { return TPromise.join(this.searchProvider.map(p => searchWithProvider(p))) - .then(complete => { - complete = complete.filter(c => !!c); - if (!complete.length) { + .then(completes => { + completes = completes.filter(c => !!c); + if (!completes.length) { return null; } return { - limitHit: complete[0] && complete[0].limitHit, - stats: complete[0].stats, - results: arrays.flatten(complete.map(c => c.results)) + limitHit: completes[0] && completes[0].limitHit, + stats: completes[0].stats, + results: arrays.flatten(completes.map(c => c.results)) }; + }, errs => { + errs = errs.filter(e => !!e); + return TPromise.wrapError(errs[0]); }); } else { return searchWithProvider(this.diskSearch); -- GitLab