diff --git a/src/tsconfig.strictNullChecks.json b/src/tsconfig.strictNullChecks.json index 22a4caef0060da14ed51b9cc4c2b205ef43a36ca..66b95910a09131233c8fec5233f8f931757e100a 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 c1fd4d774f9929a0f4521da42565d132d22020eb..fb61c262ac16a9619549d28a6cbc418b7ec10438 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 23d4710b031528f4dacc5973055703381464dece..84cac9d4f5aa628967633795d61ebd8a4814ac38 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 ed2a8c5051ffd8daa67d916ce149b4686faf71e9..115e631459c7cdd032015d0eccc43a7ddd2d2c9c 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 965d5c0a6bfe56b4fb58c2399a0de81f3f27eeed..3e14908da650963110b20ca9a7b26afea775d095 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; }