From a9ce7cc22ef1c676f740b65f1bc6ce55b520bb85 Mon Sep 17 00:00:00 2001 From: Christof Marti Date: Mon, 10 Oct 2016 12:53:25 -0700 Subject: [PATCH] Fix cacheWasResolved flag --- src/vs/workbench/services/search/node/rawSearchService.ts | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/vs/workbench/services/search/node/rawSearchService.ts b/src/vs/workbench/services/search/node/rawSearchService.ts index 7226224936b..4ba1f5fb878 100644 --- a/src/vs/workbench/services/search/node/rawSearchService.ts +++ b/src/vs/workbench/services/search/node/rawSearchService.ts @@ -218,6 +218,7 @@ export class SearchService implements IRawSearchService { // Find cache entries by prefix of search value const hasPathSep = searchValue.indexOf(paths.nativeSep) >= 0; let cached: PPromise<[ISerializedSearchComplete, IRawFileMatch[]], IProgress>; + let wasResolved: boolean; for (let previousSearch in cache.resultsToSearchCache) { // If we narrow down, we might be able to reuse the cached results @@ -226,7 +227,10 @@ export class SearchService implements IRawSearchService { continue; // since a path character widens the search for potential more matches, require it in previous search too } - cached = this.preventCancellation(cache.resultsToSearchCache[previousSearch]); + const c = cache.resultsToSearchCache[previousSearch]; + c.then(() => { wasResolved = false; }); + wasResolved = true; + cached = this.preventCancellation(c); break; } } @@ -236,7 +240,6 @@ export class SearchService implements IRawSearchService { } return new PPromise<[ISerializedSearchComplete, IRawFileMatch[], CacheStats], IProgress>((c, e, p) => { - let wasResolved = true; cached.then(([complete, cachedEntries]) => { const cacheFilterStartTime = Date.now(); @@ -260,7 +263,6 @@ export class SearchService implements IRawSearchService { cacheFilterResultCount: cachedEntries.length }]); }, e, p); - wasResolved = false; }, () => { cached.cancel(); }); -- GitLab