1
>
/*---------------------------------------------------------------------------------------------
ripgrepFileSearch.ts
2
>
* Copyright (c) Microsoft Corporation. All rights reserved.
3
>
* Licensed under the MIT License. See License.txt in the project root for license information.
4
>
*--------------------------------------------------------------------------------------------*/
5
>
6
>
import * as cp from 'child_process';
7
>
import * as path from '../../../../base/common/path.js';
8
>
import * as glob from '../../../../base/common/glob.js';
9
>
import { normalizeNFD } from '../../../../base/common/normalization.js';
10
>
import * as extpath from '../../../../base/common/extpath.js';
11
>
import { isMacintosh as isMac } from '../../../../base/common/platform.js';
12
>
import * as strings from '../../../../base/common/strings.js';
13
>
import { IFileQuery, IFolderQuery } from '../common/search.js';
14
>
import { anchorGlob } from './ripgrepSearchUtils.js';
15
>
import { rgDiskPath } from '../../../../base/node/ripgrep.js';
16
>
17
export async function spawnRipgrepCmd(config: IFileQuery, folderQuery: IFolderQuery, includePattern?: glob.IExpression, excludePattern?: glob.IExpression, numThreads?: number) {
18
const rgArgs = getRgArgs(config, folderQuery, includePattern, excludePattern, numThreads);