464
}
465
467
>
return options.folderOptions.map(folderOption => ({
468
>
folder: folderOption.folder,
469
>
excludes: folderOption.excludes.map(e => typeof (e) === 'string' ? e : e.pattern),
470
>
includes: folderOption.includes,
471
>
useGlobalIgnoreFiles: folderOption.useIgnoreFiles.global,
472
>
useIgnoreFiles: folderOption.useIgnoreFiles.local,
473
>
useParentIgnoreFiles: folderOption.useIgnoreFiles.parent,
474
>
followSymlinks: folderOption.followSymlinks,
475
>
maxResults: options.maxResults,
476
>
previewOptions: newToOldPreviewOptions(options.previewOptions),
477
>
maxFileSize: options.maxFileSize,
478
>
encoding: folderOption.encoding,
479
>
afterContext: options.surroundingContext,
480
>
beforeContext: options.surroundingContext
481
>
} satisfies TextSearchOptions));
482
>
}
483
484
export function newToOldPreviewOptions(options: {
486
>
charsPerLine?: number;
487
>
} | undefined
488
>
): {
489
>
matchLines: number;
490
>
charsPerLine: number;
491
>
} {
492
>
return {
493
>
matchLines: options?.matchLines ?? DEFAULT_TEXT_SEARCH_PREVIEW_OPTIONS.matchLines,
494
>
charsPerLine: options?.charsPerLine ?? DEFAULT_TEXT_SEARCH_PREVIEW_OPTIONS.charsPerLine
495
>
};
496
>
}
497
498
export function oldToNewTextSearchResult(result: TextSearchResult): TextSearchResult2 {