src/vs/workbench/services/search/node/ripgrepSearchProvider.ts/RipgrepSearchProvider/provideTextSearchResults
class RipgrepSearchProvider:	provideTextSearchResults(query: TextSearchQuery, options: TextSearchOptions, progress: Progress<TextSearchResult>, token: CancellationToken): Promise<TextSearchComplete> {
		const engine = new RipgrepTextSearchEngine(this.outputChannel);
		if (options.folder.scheme === Schemas.vscodeUserData) {
			// Ripgrep search engine can only provide file-scheme results, but we want to use it to search some schemes that are backed by the filesystem, but with some other provider as the frontend,
			// case in point vscode-userdata. In these cases we translate the query to a file, and translate the results back to the frontend scheme.
			const translatedOptions = { ...options, folder: options.folder.with({ scheme: Schemas.file }) };
			const progressTranslator = new Progress<TextSearchResult>(data => progress.report({ ...data, uri: data.uri.with({ scheme: options.folder.scheme }) }));
			return this.withToken(token, token => engine.provideTextSearchResults(query, translatedOptions, progressTranslator, token));
		} else {
			return this.withToken(token, token => engine.provideTextSearchResults(query, options, progress, token));
		}
	}