From c1f9ef974937d6562c2e1b9efe2ccc19921eb6f7 Mon Sep 17 00:00:00 2001 From: Rob Lourens Date: Thu, 27 Dec 2018 17:43:22 -0600 Subject: [PATCH] Strict null check some legacy search files --- src/tsconfig.strictNullChecks.json | 2 ++ .../node/legacy/rawLegacyTextSearchService.ts | 2 +- .../services/search/node/legacy/search.ts | 2 +- .../services/search/node/legacy/textSearch.ts | 17 ++++++++--------- src/vs/workbench/services/search/node/search.ts | 2 +- 5 files changed, 13 insertions(+), 12 deletions(-) diff --git a/src/tsconfig.strictNullChecks.json b/src/tsconfig.strictNullChecks.json index 22a4caef006..66b95910a09 100644 --- a/src/tsconfig.strictNullChecks.json +++ b/src/tsconfig.strictNullChecks.json @@ -769,6 +769,8 @@ "./vs/workbench/services/scm/common/scmService.ts", "./vs/workbench/services/search/common/searchHelpers.ts", "./vs/workbench/services/search/node/fileSearch.ts", + "./vs/workbench/services/search/node/legacy/rawLegacyTextSearchService.ts", + "./vs/workbench/services/search/node/legacy/textSearch.ts", "./vs/workbench/services/search/node/fileSearchManager.ts", "./vs/workbench/services/search/node/legacy/search.ts", "./vs/workbench/services/search/node/legacy/textSearchWorkerProvider.ts", diff --git a/src/vs/workbench/services/search/node/legacy/rawLegacyTextSearchService.ts b/src/vs/workbench/services/search/node/legacy/rawLegacyTextSearchService.ts index c1fd4d774f9..fb61c262ac1 100644 --- a/src/vs/workbench/services/search/node/legacy/rawLegacyTextSearchService.ts +++ b/src/vs/workbench/services/search/node/legacy/rawLegacyTextSearchService.ts @@ -52,7 +52,7 @@ export class LegacyTextSearchService { // Use BatchedCollector to get new results to the frontend every 2s at least, until 50 results have been returned const collector = new BatchedCollector(batchSize, progressCallback); engine.search((matches) => { - const totalMatches = matches.reduce((acc, m) => acc + m.numMatches, 0); + const totalMatches = matches.reduce((acc, m) => acc + m.numMatches!, 0); collector.addItems(matches, totalMatches); }, (progress) => { progressCallback(progress); diff --git a/src/vs/workbench/services/search/node/legacy/search.ts b/src/vs/workbench/services/search/node/legacy/search.ts index 23d4710b031..84cac9d4f5a 100644 --- a/src/vs/workbench/services/search/node/legacy/search.ts +++ b/src/vs/workbench/services/search/node/legacy/search.ts @@ -22,7 +22,7 @@ export interface IRawSearch { filePattern?: string; excludePattern?: glob.IExpression; includePattern?: glob.IExpression; - contentPattern?: IPatternInfo; + contentPattern: IPatternInfo; maxResults?: number; exists?: boolean; sortByScore?: boolean; diff --git a/src/vs/workbench/services/search/node/legacy/textSearch.ts b/src/vs/workbench/services/search/node/legacy/textSearch.ts index ed2a8c5051f..115e631459c 100644 --- a/src/vs/workbench/services/search/node/legacy/textSearch.ts +++ b/src/vs/workbench/services/search/node/legacy/textSearch.ts @@ -19,7 +19,7 @@ export class Engine implements ISearchEngine { private config: IRawSearch; private config2: ITextQuery; private walker: FileWalker; - private walkerError: Error; + private walkerError: Error | null; private isCanceled = false; private isDone = false; @@ -59,7 +59,7 @@ export class Engine implements ISearchEngine { }); } - search(onResult: (match: ISerializedFileMatch[]) => void, onProgress: (progress: IProgress) => void, done: (error: Error, complete: ISearchEngineSuccess) => void): void { + search(onResult: (match: ISerializedFileMatch[]) => void, onProgress: (progress: IProgress) => void, done: (error: Error | null, complete: ISearchEngineSuccess) => void): void { this.workers = this.workerProvider.getWorkers(); this.initializeWorkers(); @@ -177,10 +177,11 @@ export function makeRawSearch(query: ITextQuery): IRawSearch { includePattern: query.includePattern, maxResults: query.maxResults, useRipgrep: query.useRipgrep, - disregardIgnoreFiles: query.folderQueries.some(fq => fq.disregardIgnoreFiles), - disregardGlobalIgnoreFiles: query.folderQueries.some(fq => fq.disregardGlobalIgnoreFiles), - ignoreSymlinks: query.folderQueries.some(fq => fq.ignoreSymlinks), - previewOptions: query.previewOptions + disregardIgnoreFiles: query.folderQueries.some(fq => fq.disregardIgnoreFiles!), + disregardGlobalIgnoreFiles: query.folderQueries.some(fq => fq.disregardGlobalIgnoreFiles!), + ignoreSymlinks: query.folderQueries.some(fq => fq.ignoreSymlinks!), + previewOptions: query.previewOptions, + contentPattern: query.contentPattern }; for (const q of query.folderQueries) { @@ -196,11 +197,9 @@ export function makeRawSearch(query: ITextQuery): IRawSearch { if (query.extraFileResources) { for (const r of query.extraFileResources) { - rawSearch.extraFiles.push(r.fsPath); + rawSearch.extraFiles!.push(r.fsPath); } } - rawSearch.contentPattern = query.contentPattern; - return rawSearch; } diff --git a/src/vs/workbench/services/search/node/search.ts b/src/vs/workbench/services/search/node/search.ts index 965d5c0a6bf..3e14908da65 100644 --- a/src/vs/workbench/services/search/node/search.ts +++ b/src/vs/workbench/services/search/node/search.ts @@ -27,7 +27,7 @@ export interface IRawFileMatch { } export interface ISearchEngine { - search: (onResult: (matches: T) => void, onProgress: (progress: IProgress) => void, done: (error: Error, complete: ISearchEngineSuccess) => void) => void; + search: (onResult: (matches: T) => void, onProgress: (progress: IProgress) => void, done: (error: Error | null, complete: ISearchEngineSuccess) => void) => void; cancel: () => void; } -- GitLab