diff --git a/src/vs/workbench/api/node/extHost.api.impl.ts b/src/vs/workbench/api/node/extHost.api.impl.ts index f044aa6568228d869524e674a8c6cc8e48156794..efaabac633bc436990c8ed4df78bda189c3f6843 100644 --- a/src/vs/workbench/api/node/extHost.api.impl.ts +++ b/src/vs/workbench/api/node/extHost.api.impl.ts @@ -115,7 +115,7 @@ export function createApiFactory( const extHostTerminalService = rpcProtocol.set(ExtHostContext.ExtHostTerminalService, new ExtHostTerminalService(rpcProtocol, extHostConfiguration, extHostLogService)); const extHostDebugService = rpcProtocol.set(ExtHostContext.ExtHostDebugService, new ExtHostDebugService(rpcProtocol, extHostWorkspace, extensionService, extHostDocumentsAndEditors, extHostConfiguration, extHostTerminalService, extHostCommands)); const extHostSCM = rpcProtocol.set(ExtHostContext.ExtHostSCM, new ExtHostSCM(rpcProtocol, extHostCommands, extHostLogService)); - const extHostSearch = rpcProtocol.set(ExtHostContext.ExtHostSearch, new ExtHostSearch(rpcProtocol, schemeTransformer, extHostLogService, extHostConfiguration)); + const extHostSearch = rpcProtocol.set(ExtHostContext.ExtHostSearch, new ExtHostSearch(rpcProtocol, schemeTransformer, extHostLogService)); const extHostTask = rpcProtocol.set(ExtHostContext.ExtHostTask, new ExtHostTask(rpcProtocol, extHostWorkspace, extHostDocumentsAndEditors, extHostConfiguration)); const extHostWindow = rpcProtocol.set(ExtHostContext.ExtHostWindow, new ExtHostWindow(rpcProtocol)); rpcProtocol.set(ExtHostContext.ExtHostExtensionService, extensionService); diff --git a/src/vs/workbench/api/node/extHostSearch.ts b/src/vs/workbench/api/node/extHostSearch.ts index 47ab14cf1a3763ee3834d549e6b6164f001f9bcb..53ff6f4138691e37f9f1b5a50c452234c98f4491 100644 --- a/src/vs/workbench/api/node/extHostSearch.ts +++ b/src/vs/workbench/api/node/extHostSearch.ts @@ -9,7 +9,6 @@ import { URI, UriComponents } from 'vs/base/common/uri'; import * as extfs from 'vs/base/node/extfs'; import { ILogService } from 'vs/platform/log/common/log'; import { IFileQuery, IFolderQuery, IRawFileQuery, IRawQuery, IRawTextQuery, ISearchCompleteStats, ITextQuery } from 'vs/platform/search/common/search'; -import { ExtHostConfiguration, ExtHostConfigProvider } from 'vs/workbench/api/node/extHostConfiguration'; import { FileIndexSearchManager } from 'vs/workbench/api/node/extHostSearch.fileIndex'; import { FileSearchManager } from 'vs/workbench/services/search/node/fileSearchManager'; import { SearchService } from 'vs/workbench/services/search/node/rawSearchService'; @@ -41,14 +40,10 @@ export class ExtHostSearch implements ExtHostSearchShape { private _fileSearchManager: FileSearchManager; private _fileIndexSearchManager: FileIndexSearchManager; - constructor(mainContext: IMainContext, private _schemeTransformer: ISchemeTransformer, private _logService: ILogService, configService: ExtHostConfiguration, private _extfs = extfs) { + constructor(mainContext: IMainContext, private _schemeTransformer: ISchemeTransformer, private _logService: ILogService, private _extfs = extfs) { this._proxy = mainContext.getProxy(MainContext.MainThreadSearch); this._fileSearchManager = new FileSearchManager(); this._fileIndexSearchManager = new FileIndexSearchManager(); - - configService.getConfigProvider().then((configProvider) => { - registerEHProviders(this, _logService, configProvider); - }); } private _transformScheme(scheme: string): string { @@ -60,7 +55,7 @@ export class ExtHostSearch implements ExtHostSearchShape { registerTextSearchProvider(scheme: string, provider: vscode.TextSearchProvider): IDisposable { if (this._textSearchUsedSchemes.has(scheme)) { - throw new Error(`a provider for the scheme '${scheme}' is already registered`); + throw new Error(`a text search provider for the scheme '${scheme}' is already registered`); } this._textSearchUsedSchemes.add(scheme); @@ -76,7 +71,7 @@ export class ExtHostSearch implements ExtHostSearchShape { registerFileSearchProvider(scheme: string, provider: vscode.FileSearchProvider): IDisposable { if (this._fileSearchUsedSchemes.has(scheme)) { - throw new Error(`a provider for the scheme '${scheme}' is already registered`); + throw new Error(`a file search provider for the scheme '${scheme}' is already registered`); } this._fileSearchUsedSchemes.add(scheme); @@ -178,13 +173,10 @@ export class ExtHostSearch implements ExtHostSearchShape { } } -function registerEHProviders(extHostSearch: ExtHostSearch, logService: ILogService, configService: ExtHostConfigProvider) { - if (configService.getConfiguration('searchRipgrep').enable || configService.getConfiguration('search').runInExtensionHost) { - const outputChannel = new OutputChannel(logService); - extHostSearch.registerTextSearchProvider('file', new RipgrepSearchProvider(outputChannel)); - - extHostSearch.registerInternalFileSearchProvider('file', new SearchService()); - } +export function registerEHSearchProviders(extHostSearch: ExtHostSearch, logService: ILogService): void { + const outputChannel = new OutputChannel(logService); + extHostSearch.registerTextSearchProvider('file', new RipgrepSearchProvider(outputChannel)); + extHostSearch.registerInternalFileSearchProvider('file', new SearchService()); } function reviveQuery(rawQuery: U): U extends IRawTextQuery ? ITextQuery : IFileQuery { diff --git a/src/vs/workbench/test/electron-browser/api/extHostSearch.test.ts b/src/vs/workbench/test/electron-browser/api/extHostSearch.test.ts index b5ca6df3e9f46f5ac6ed6455d81cb01d6575b012..985ccdb5ab457cd81b26287469962937830f5109 100644 --- a/src/vs/workbench/test/electron-browser/api/extHostSearch.test.ts +++ b/src/vs/workbench/test/electron-browser/api/extHostSearch.test.ts @@ -12,7 +12,6 @@ import { URI, UriComponents } from 'vs/base/common/uri'; import * as extfs from 'vs/base/node/extfs'; import { IFileMatch, IFileQuery, IPatternInfo, IRawFileMatch2, ISearchCompleteStats, ISearchQuery, ITextQuery, QueryType, resultIsMatch } from 'vs/platform/search/common/search'; import { MainContext, MainThreadSearchShape } from 'vs/workbench/api/node/extHost.protocol'; -import { ExtHostConfiguration } from 'vs/workbench/api/node/extHostConfiguration'; import { ExtHostSearch } from 'vs/workbench/api/node/extHostSearch'; import { Range } from 'vs/workbench/api/node/extHostTypes'; import { extensionResultIsMatch } from 'vs/workbench/services/search/node/textSearchManager'; @@ -60,16 +59,6 @@ class MockMainThreadSearch implements MainThreadSearchShape { } } -class MockExtHostConfiguration { - getConfigProvider(): Promise { - return Promise.resolve({ - getConfiguration: (section?: string, resource?: URI, extensionId?: string): vscode.WorkspaceConfiguration => { - return {}; - } - }); - } -} - let mockExtfs: Partial; suite('ExtHostSearch', () => { @@ -142,12 +131,11 @@ suite('ExtHostSearch', () => { mockMainThreadSearch = new MockMainThreadSearch(); const logService = new TestLogService(); - const ehConfiguration: ExtHostConfiguration = new MockExtHostConfiguration() as any; rpcProtocol.set(MainContext.MainThreadSearch, mockMainThreadSearch); mockExtfs = {}; - extHostSearch = new ExtHostSearch(rpcProtocol, null!, logService, ehConfiguration, mockExtfs as typeof extfs); + extHostSearch = new ExtHostSearch(rpcProtocol, null!, logService, mockExtfs as typeof extfs); }); teardown(() => {