@theia/file-search 1.65.0-next.6 → 1.65.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,12 +1,12 @@
1
- import { KeybindingRegistry, OpenerService, PreferenceService, QuickAccessRegistry } from '@theia/core/lib/browser';
1
+ import { KeybindingRegistry, OpenerService, QuickAccessRegistry } from '@theia/core/lib/browser';
2
2
  import { LabelProvider } from '@theia/core/lib/browser/label-provider';
3
3
  import { QuickInputService, QuickPickItem, QuickPicks } from '@theia/core/lib/browser/quick-input/quick-input-service';
4
- import { CancellationToken, QuickPickSeparator } from '@theia/core/lib/common';
4
+ import { CancellationToken, PreferenceService, QuickPickSeparator } from '@theia/core/lib/common';
5
5
  import { MessageService } from '@theia/core/lib/common/message-service';
6
6
  import URI from '@theia/core/lib/common/uri';
7
7
  import { Range } from '@theia/editor/lib/browser';
8
8
  import { NavigationLocationService } from '@theia/editor/lib/browser/navigation/navigation-location-service';
9
- import { FileSystemPreferences } from '@theia/filesystem/lib/browser';
9
+ import { FileSystemPreferences } from '@theia/filesystem/lib/common';
10
10
  import { WorkspaceService } from '@theia/workspace/lib/browser/workspace-service';
11
11
  import { FileSearchService } from '../common/file-search-service';
12
12
  export interface FilterAndRange {
@@ -1 +1 @@
1
- {"version":3,"file":"quick-file-select-service.d.ts","sourceRoot":"","sources":["../../src/browser/quick-file-select-service.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACpH,OAAO,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAC;AACvE,OAAO,EAAe,iBAAiB,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,yDAAyD,CAAC;AACpI,OAAO,EAAE,iBAAiB,EAAO,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AACpF,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AACxE,OAAO,GAAG,MAAM,4BAA4B,CAAC;AAG7C,OAAO,EAAY,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,yBAAyB,EAAE,MAAM,kEAAkE,CAAC;AAC7G,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gDAAgD,CAAC;AAClF,OAAO,EAAE,iBAAiB,EAA8B,MAAM,+BAA+B,CAAC;AAE9F,MAAM,WAAW,cAAc;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,KAAK,CAAC;CACjB;AAED,MAAM,WAAW,sBAAsB;IACnC,6DAA6D;IAC7D,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,0CAA0C;IAC1C,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,iBAAiB,KAAK,IAAI,CAAC;CAChD;AAID,MAAM,MAAM,iBAAiB,GAAG,aAAa,GAAG;IAAE,GAAG,EAAE,GAAG,CAAA;CAAE,CAAC;AAE7D,yBAAiB,iBAAiB,CAAC;IAC/B,SAAgB,EAAE,CAAC,GAAG,EAAE,aAAa,GAAG,kBAAkB,GAAG,GAAG,IAAI,iBAAiB,CAEpF;CACJ;AAED,qBACa,sBAAsB;IAG/B,SAAS,CAAC,QAAQ,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;IAE1D,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IAEtD,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IAEhD,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IAExD,SAAS,CAAC,QAAQ,CAAC,mBAAmB,EAAE,mBAAmB,CAAC;IAE5D,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IAExD,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IAEhD,SAAS,CAAC,QAAQ,CAAC,yBAAyB,EAAE,yBAAyB,CAAC;IAExE,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IAElD,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,qBAAqB,CAAC;IAExD,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,iBAAiB,CAAC;IAElD;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAI5B;IAEI,QAAQ,CACV,UAAU,GAAE,MAAW,EACvB,KAAK,GAAE,iBAA0C,EACjD,OAAO,GAAE,sBAER,GACF,OAAO,CAAC,UAAU,CAAC;IAwEtB,SAAS,CAAC,YAAY,CAClB,IAAI,EAAE,iBAAiB,EACvB,KAAK,EAAE,iBAAiB,EACxB,UAAU,EAAE,MAAM,GACnB,MAAM;IA6CT,OAAO,CAAC,MAAM;IAsBd,OAAO,CAAC,kBAAkB;IAQ1B,OAAO,CAAC,kBAAkB;IAI1B;;;;;OAKG;IACH,SAAS,CAAC,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,cAAc;CAsBpE"}
1
+ {"version":3,"file":"quick-file-select-service.d.ts","sourceRoot":"","sources":["../../src/browser/quick-file-select-service.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACjG,OAAO,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAC;AACvE,OAAO,EAAe,iBAAiB,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,yDAAyD,CAAC;AACpI,OAAO,EAAE,iBAAiB,EAAO,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AACvG,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AACxE,OAAO,GAAG,MAAM,4BAA4B,CAAC;AAG7C,OAAO,EAAY,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,yBAAyB,EAAE,MAAM,kEAAkE,CAAC;AAC7G,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gDAAgD,CAAC;AAClF,OAAO,EAAE,iBAAiB,EAA8B,MAAM,+BAA+B,CAAC;AAE9F,MAAM,WAAW,cAAc;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,KAAK,CAAC;CACjB;AAED,MAAM,WAAW,sBAAsB;IACnC,6DAA6D;IAC7D,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,0CAA0C;IAC1C,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,iBAAiB,KAAK,IAAI,CAAC;CAChD;AAID,MAAM,MAAM,iBAAiB,GAAG,aAAa,GAAG;IAAE,GAAG,EAAE,GAAG,CAAA;CAAE,CAAC;AAE7D,yBAAiB,iBAAiB,CAAC;IAC/B,SAAgB,EAAE,CAAC,GAAG,EAAE,aAAa,GAAG,kBAAkB,GAAG,GAAG,IAAI,iBAAiB,CAEpF;CACJ;AAED,qBACa,sBAAsB;IAG/B,SAAS,CAAC,QAAQ,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;IAE1D,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IAEtD,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IAEhD,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IAExD,SAAS,CAAC,QAAQ,CAAC,mBAAmB,EAAE,mBAAmB,CAAC;IAE5D,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IAExD,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IAEhD,SAAS,CAAC,QAAQ,CAAC,yBAAyB,EAAE,yBAAyB,CAAC;IAExE,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IAElD,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,qBAAqB,CAAC;IAExD,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,iBAAiB,CAAC;IAElD;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAI5B;IAEI,QAAQ,CACV,UAAU,GAAE,MAAW,EACvB,KAAK,GAAE,iBAA0C,EACjD,OAAO,GAAE,sBAER,GACF,OAAO,CAAC,UAAU,CAAC;IAwEtB,SAAS,CAAC,YAAY,CAClB,IAAI,EAAE,iBAAiB,EACvB,KAAK,EAAE,iBAAiB,EACxB,UAAU,EAAE,MAAM,GACnB,MAAM;IA6CT,OAAO,CAAC,MAAM;IAsBd,OAAO,CAAC,kBAAkB;IAQ1B,OAAO,CAAC,kBAAkB;IAI1B;;;;;OAKG;IACH,SAAS,CAAC,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,cAAc;CAsBpE"}
@@ -28,7 +28,7 @@ const fuzzy = require("@theia/core/shared/fuzzy");
28
28
  const inversify_1 = require("@theia/core/shared/inversify");
29
29
  const browser_2 = require("@theia/editor/lib/browser");
30
30
  const navigation_location_service_1 = require("@theia/editor/lib/browser/navigation/navigation-location-service");
31
- const browser_3 = require("@theia/filesystem/lib/browser");
31
+ const common_2 = require("@theia/filesystem/lib/common");
32
32
  const workspace_service_1 = require("@theia/workspace/lib/browser/workspace-service");
33
33
  const file_search_service_1 = require("../common/file-search-service");
34
34
  // Supports patterns of <path><#|:><line><#|:|,><col?>
@@ -245,11 +245,11 @@ tslib_1.__decorate([
245
245
  tslib_1.__metadata("design:type", message_service_1.MessageService)
246
246
  ], QuickFileSelectService.prototype, "messageService", void 0);
247
247
  tslib_1.__decorate([
248
- (0, inversify_1.inject)(browser_3.FileSystemPreferences),
248
+ (0, inversify_1.inject)(common_2.FileSystemPreferences),
249
249
  tslib_1.__metadata("design:type", Object)
250
250
  ], QuickFileSelectService.prototype, "fsPreferences", void 0);
251
251
  tslib_1.__decorate([
252
- (0, inversify_1.inject)(browser_1.PreferenceService),
252
+ (0, inversify_1.inject)(common_1.PreferenceService),
253
253
  tslib_1.__metadata("design:type", Object)
254
254
  ], QuickFileSelectService.prototype, "preferences", void 0);
255
255
  exports.QuickFileSelectService = QuickFileSelectService = QuickFileSelectService_1 = tslib_1.__decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"quick-file-select-service.js","sourceRoot":"","sources":["../../src/browser/quick-file-select-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"quick-file-select-service.js","sourceRoot":"","sources":["../../src/browser/quick-file-select-service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { ContainerModule } from '@theia/core/shared/inversify';
2
+ declare const _default: ContainerModule;
3
+ export default _default;
4
+ //# sourceMappingURL=file-search-frontend-only-module.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-search-frontend-only-module.d.ts","sourceRoot":"","sources":["../../src/browser-only/file-search-frontend-only-module.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,eAAe,EAAc,MAAM,8BAA8B,CAAC;;AAU3E,wBAWG"}
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ // *****************************************************************************
3
+ // Copyright (C) 2025 Maksim Kachurin and others.
4
+ //
5
+ // This program and the accompanying materials are made available under the
6
+ // terms of the Eclipse Public License v. 2.0 which is available at
7
+ // http://www.eclipse.org/legal/epl-2.0.
8
+ //
9
+ // This Source Code may also be made available under the following Secondary
10
+ // Licenses when the conditions for such availability set forth in the Eclipse
11
+ // Public License v. 2.0 are satisfied: GNU General Public License, version 2
12
+ // with the GNU Classpath Exception which is available at
13
+ // https://www.gnu.org/software/classpath/license.html.
14
+ //
15
+ // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
16
+ // *****************************************************************************
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ const inversify_1 = require("@theia/core/shared/inversify");
19
+ const common_1 = require("@theia/core/lib/common");
20
+ const browser_1 = require("@theia/core/lib/browser");
21
+ const file_search_service_1 = require("../common/file-search-service");
22
+ const file_search_service_impl_1 = require("./file-search-service-impl");
23
+ const quick_access_1 = require("@theia/core/lib/browser/quick-input/quick-access");
24
+ const quick_file_open_contribution_1 = require("../browser/quick-file-open-contribution");
25
+ const quick_file_open_1 = require("../browser/quick-file-open");
26
+ const quick_file_select_service_1 = require("../browser/quick-file-select-service");
27
+ exports.default = new inversify_1.ContainerModule((bind) => {
28
+ bind(file_search_service_1.FileSearchService).to(file_search_service_impl_1.FileSearchServiceImpl).inSingletonScope();
29
+ bind(quick_file_open_contribution_1.QuickFileOpenFrontendContribution).toSelf().inSingletonScope();
30
+ [common_1.CommandContribution, browser_1.KeybindingContribution, common_1.MenuContribution, quick_access_1.QuickAccessContribution].forEach(serviceIdentifier => bind(serviceIdentifier).toService(quick_file_open_contribution_1.QuickFileOpenFrontendContribution));
31
+ bind(quick_file_select_service_1.QuickFileSelectService).toSelf().inSingletonScope();
32
+ bind(quick_file_open_1.QuickFileOpenService).toSelf().inSingletonScope();
33
+ });
34
+ //# sourceMappingURL=file-search-frontend-only-module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-search-frontend-only-module.js","sourceRoot":"","sources":["../../src/browser-only/file-search-frontend-only-module.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,iDAAiD;AACjD,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;AAEhF,4DAA2E;AAC3E,mDAA+E;AAC/E,qDAAiE;AACjE,uEAAkE;AAClE,yEAAmE;AACnE,mFAA2F;AAC3F,0FAA4F;AAC5F,gEAAkE;AAClE,oFAA8E;AAE9E,kBAAe,IAAI,2BAAe,CAAC,CAAC,IAAqB,EAAE,EAAE;IACzD,IAAI,CAAC,uCAAiB,CAAC,CAAC,EAAE,CAAC,gDAAqB,CAAC,CAAC,gBAAgB,EAAE,CAAC;IAErE,IAAI,CAAC,gEAAiC,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAEpE,CAAC,4BAAmB,EAAE,gCAAsB,EAAE,yBAAgB,EAAE,sCAAuB,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE,CACjH,IAAI,CAAC,iBAAiB,CAAC,CAAC,SAAS,CAAC,gEAAiC,CAAC,CACvE,CAAC;IAEF,IAAI,CAAC,kDAAsB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IACzD,IAAI,CAAC,sCAAoB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;AAC3D,CAAC,CAAC,CAAC"}
@@ -0,0 +1,38 @@
1
+ import { FileSearchService } from '../common/file-search-service';
2
+ import { FileService } from '@theia/filesystem/lib/browser/file-service';
3
+ import { CancellationToken, ILogger, URI } from '@theia/core';
4
+ export declare class FileSearchServiceImpl implements FileSearchService {
5
+ protected logger: ILogger;
6
+ protected readonly fs: FileService;
7
+ /**
8
+ * Searches for files matching the given pattern.
9
+ * @param searchPattern - The pattern to search for
10
+ * @param options - Search options including root URIs and filters
11
+ * @param clientToken - Optional cancellation token
12
+ * @returns Promise resolving to array of matching file URIs
13
+ */
14
+ find(searchPattern: string, options: FileSearchService.Options, clientToken?: CancellationToken): Promise<string[]>;
15
+ /**
16
+ * Performs the actual file search within a root directory.
17
+ * @param rootUri - The root URI to search in
18
+ * @param options - Search options for this root
19
+ * @param accept - Callback function for each matching file
20
+ * @param token - Cancellation token
21
+ */
22
+ protected doFind(rootUri: URI, options: FileSearchService.BaseOptions, accept: (fileUri: string) => void, token: CancellationToken): Promise<void>;
23
+ /**
24
+ * Checks if a path should be excluded based on exclude patterns.
25
+ * @param uri - The URI to check
26
+ * @param excludePatterns - Array of exclude patterns
27
+ * @returns True if the path should be excluded
28
+ */
29
+ private shouldExcludePath;
30
+ /**
31
+ * Checks if a path should be included based on include patterns.
32
+ * @param uri - The URI to check
33
+ * @param includePatterns - Array of include patterns
34
+ * @returns True if the path should be included
35
+ */
36
+ private shouldIncludePath;
37
+ }
38
+ //# sourceMappingURL=file-search-service-impl.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-search-service-impl.d.ts","sourceRoot":"","sources":["../../src/browser-only/file-search-service-impl.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,iBAAiB,EAA8B,MAAM,+BAA+B,CAAC;AAC9F,OAAO,EAAE,WAAW,EAAE,MAAM,4CAA4C,CAAC;AAEzE,OAAO,EAA2B,iBAAiB,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAGvF,qBACa,qBAAsB,YAAW,iBAAiB;IAG3D,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC;IAG1B,SAAS,CAAC,QAAQ,CAAC,EAAE,EAAE,WAAW,CAAC;IAEnC;;;;;;OAMG;IACG,IAAI,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB,CAAC,OAAO,EAAE,WAAW,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IA6FzH;;;;;;OAMG;cACa,MAAM,CAClB,OAAO,EAAE,GAAG,EACZ,OAAO,EAAE,iBAAiB,CAAC,WAAW,EACtC,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,EACjC,KAAK,EAAE,iBAAiB,GACzB,OAAO,CAAC,IAAI,CAAC;IAmDhB;;;;;OAKG;IACH,OAAO,CAAC,iBAAiB;IAazB;;;;;OAKG;IACH,OAAO,CAAC,iBAAiB;CAY5B"}
@@ -0,0 +1,211 @@
1
+ "use strict";
2
+ // *****************************************************************************
3
+ // Copyright (C) 2025 Maksim Kachurin and others.
4
+ //
5
+ // This program and the accompanying materials are made available under the
6
+ // terms of the Eclipse Public License v. 2.0 which is available at
7
+ // http://www.eclipse.org/legal/epl-2.0.
8
+ //
9
+ // This Source Code may also be made available under the following Secondary
10
+ // Licenses when the conditions for such availability set forth in the Eclipse
11
+ // Public License v. 2.0 are satisfied: GNU General Public License, version 2
12
+ // with the GNU Classpath Exception which is available at
13
+ // https://www.gnu.org/software/classpath/license.html.
14
+ //
15
+ // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
16
+ // *****************************************************************************
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.FileSearchServiceImpl = void 0;
19
+ const tslib_1 = require("tslib");
20
+ const inversify_1 = require("@theia/core/shared/inversify");
21
+ const file_search_service_1 = require("../common/file-search-service");
22
+ const file_service_1 = require("@theia/filesystem/lib/browser/file-service");
23
+ const fuzzy = require("@theia/core/shared/fuzzy");
24
+ const core_1 = require("@theia/core");
25
+ const file_search_1 = require("@theia/filesystem/lib/browser-only/file-search");
26
+ let FileSearchServiceImpl = class FileSearchServiceImpl {
27
+ /**
28
+ * Searches for files matching the given pattern.
29
+ * @param searchPattern - The pattern to search for
30
+ * @param options - Search options including root URIs and filters
31
+ * @param clientToken - Optional cancellation token
32
+ * @returns Promise resolving to array of matching file URIs
33
+ */
34
+ async find(searchPattern, options, clientToken) {
35
+ const cancellationSource = new core_1.CancellationTokenSource();
36
+ if (clientToken) {
37
+ clientToken.onCancellationRequested(() => cancellationSource.cancel());
38
+ }
39
+ const token = cancellationSource.token;
40
+ const opts = {
41
+ fuzzyMatch: true,
42
+ limit: Number.MAX_SAFE_INTEGER,
43
+ useGitIgnore: true,
44
+ ...options
45
+ };
46
+ // Merge root-specific options with global options
47
+ const roots = options.rootOptions || {};
48
+ if (options.rootUris) {
49
+ for (const rootUri of options.rootUris) {
50
+ if (!roots[rootUri]) {
51
+ roots[rootUri] = {};
52
+ }
53
+ }
54
+ }
55
+ // eslint-disable-next-line guard-for-in
56
+ for (const rootUri in roots) {
57
+ const rootOptions = roots[rootUri];
58
+ if (opts.includePatterns) {
59
+ const includePatterns = rootOptions.includePatterns || [];
60
+ rootOptions.includePatterns = [...includePatterns, ...opts.includePatterns];
61
+ }
62
+ if (opts.excludePatterns) {
63
+ const excludePatterns = rootOptions.excludePatterns || [];
64
+ rootOptions.excludePatterns = [...excludePatterns, ...opts.excludePatterns];
65
+ }
66
+ if (rootOptions.useGitIgnore === undefined) {
67
+ rootOptions.useGitIgnore = opts.useGitIgnore;
68
+ }
69
+ }
70
+ const exactMatches = new Set();
71
+ const fuzzyMatches = new Set();
72
+ // Split search pattern into individual terms for matching
73
+ const patterns = searchPattern.toLowerCase().split(file_search_service_1.WHITESPACE_QUERY_SEPARATOR).map(pattern => pattern.trim()).filter(Boolean);
74
+ await Promise.all(Object.keys(roots).map(async (root) => {
75
+ try {
76
+ const rootUri = new core_1.URI(root);
77
+ const rootOptions = roots[root];
78
+ await this.doFind(rootUri, rootOptions, (fileUri) => {
79
+ // Skip already matched files
80
+ if (exactMatches.has(fileUri) || fuzzyMatches.has(fileUri)) {
81
+ return;
82
+ }
83
+ // Check for exact pattern matches
84
+ const candidatePattern = fileUri.toLowerCase();
85
+ const patternExists = patterns.every(pattern => candidatePattern.includes(pattern));
86
+ if (patternExists) {
87
+ exactMatches.add(fileUri);
88
+ }
89
+ else if (!searchPattern || searchPattern === '*') {
90
+ exactMatches.add(fileUri);
91
+ }
92
+ else {
93
+ // Check for fuzzy matches if enabled
94
+ const fuzzyPatternExists = patterns.every(pattern => fuzzy.test(pattern, candidatePattern));
95
+ if (opts.fuzzyMatch && fuzzyPatternExists) {
96
+ fuzzyMatches.add(fileUri);
97
+ }
98
+ }
99
+ // Cancel search if limit reached
100
+ if ((exactMatches.size + fuzzyMatches.size) >= opts.limit) {
101
+ cancellationSource.cancel();
102
+ }
103
+ }, token);
104
+ }
105
+ catch (e) {
106
+ this.logger.error('Failed to search:', root, e);
107
+ }
108
+ }));
109
+ if (clientToken === null || clientToken === void 0 ? void 0 : clientToken.isCancellationRequested) {
110
+ return [];
111
+ }
112
+ // Return results up to the specified limit
113
+ return [...exactMatches, ...fuzzyMatches].slice(0, opts.limit);
114
+ }
115
+ /**
116
+ * Performs the actual file search within a root directory.
117
+ * @param rootUri - The root URI to search in
118
+ * @param options - Search options for this root
119
+ * @param accept - Callback function for each matching file
120
+ * @param token - Cancellation token
121
+ */
122
+ async doFind(rootUri, options, accept, token) {
123
+ const matcher = (0, file_search_1.createIgnoreMatcher)();
124
+ const queue = [rootUri];
125
+ let queueIndex = 0;
126
+ while (queueIndex < queue.length) {
127
+ if (token.isCancellationRequested) {
128
+ return;
129
+ }
130
+ const currentUri = queue[queueIndex++];
131
+ try {
132
+ // Skip excluded paths
133
+ if (this.shouldExcludePath(currentUri, options.excludePatterns)) {
134
+ continue;
135
+ }
136
+ const stat = await this.fs.resolve(currentUri);
137
+ const relPath = currentUri.path.toString().replace(/^\/|^\.\//, '');
138
+ // Skip paths ignored by gitignore patterns
139
+ if (options.useGitIgnore && relPath && matcher.ignores(relPath)) {
140
+ continue;
141
+ }
142
+ // Accept file if it matches include patterns
143
+ if (stat.isFile && this.shouldIncludePath(currentUri, options.includePatterns)) {
144
+ accept(currentUri.toString());
145
+ }
146
+ else if (stat.isDirectory && Array.isArray(stat.children)) {
147
+ // Process ignore files in directory
148
+ if (options.useGitIgnore) {
149
+ const patterns = await (0, file_search_1.getIgnorePatterns)(currentUri, uri => this.fs.read(uri).then(content => content.value));
150
+ matcher.add(patterns);
151
+ }
152
+ // Add children to search queue
153
+ for (const child of stat.children) {
154
+ queue.push(child.resource);
155
+ }
156
+ }
157
+ }
158
+ catch (e) {
159
+ this.logger.error(`Error reading directory: ${currentUri.toString()}`, e);
160
+ }
161
+ }
162
+ }
163
+ /**
164
+ * Checks if a path should be excluded based on exclude patterns.
165
+ * @param uri - The URI to check
166
+ * @param excludePatterns - Array of exclude patterns
167
+ * @returns True if the path should be excluded
168
+ */
169
+ shouldExcludePath(uri, excludePatterns) {
170
+ if (!(excludePatterns === null || excludePatterns === void 0 ? void 0 : excludePatterns.length)) {
171
+ return false;
172
+ }
173
+ const path = uri.path.toString();
174
+ return (0, file_search_1.matchesPattern)(path, excludePatterns, {
175
+ dot: true,
176
+ matchBase: true,
177
+ nocase: true
178
+ });
179
+ }
180
+ /**
181
+ * Checks if a path should be included based on include patterns.
182
+ * @param uri - The URI to check
183
+ * @param includePatterns - Array of include patterns
184
+ * @returns True if the path should be included
185
+ */
186
+ shouldIncludePath(uri, includePatterns) {
187
+ if (!(includePatterns === null || includePatterns === void 0 ? void 0 : includePatterns.length)) {
188
+ return true;
189
+ }
190
+ const path = uri.path.toString();
191
+ return (0, file_search_1.matchesPattern)(path, includePatterns, {
192
+ dot: true,
193
+ matchBase: true,
194
+ nocase: true
195
+ });
196
+ }
197
+ };
198
+ exports.FileSearchServiceImpl = FileSearchServiceImpl;
199
+ tslib_1.__decorate([
200
+ (0, inversify_1.inject)(core_1.ILogger),
201
+ (0, inversify_1.named)('file-search'),
202
+ tslib_1.__metadata("design:type", Object)
203
+ ], FileSearchServiceImpl.prototype, "logger", void 0);
204
+ tslib_1.__decorate([
205
+ (0, inversify_1.inject)(file_service_1.FileService),
206
+ tslib_1.__metadata("design:type", file_service_1.FileService)
207
+ ], FileSearchServiceImpl.prototype, "fs", void 0);
208
+ exports.FileSearchServiceImpl = FileSearchServiceImpl = tslib_1.__decorate([
209
+ (0, inversify_1.injectable)()
210
+ ], FileSearchServiceImpl);
211
+ //# sourceMappingURL=file-search-service-impl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-search-service-impl.js","sourceRoot":"","sources":["../../src/browser-only/file-search-service-impl.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "name": "@theia/file-search",
3
- "version": "1.65.0-next.6+4384a9461",
3
+ "version": "1.65.0",
4
4
  "description": "Theia - File Search Extension",
5
5
  "dependencies": {
6
- "@theia/core": "1.65.0-next.6+4384a9461",
7
- "@theia/editor": "1.65.0-next.6+4384a9461",
8
- "@theia/filesystem": "1.65.0-next.6+4384a9461",
9
- "@theia/process": "1.65.0-next.6+4384a9461",
10
- "@theia/workspace": "1.65.0-next.6+4384a9461",
6
+ "@theia/core": "1.65.0",
7
+ "@theia/editor": "1.65.0",
8
+ "@theia/filesystem": "1.65.0",
9
+ "@theia/process": "1.65.0",
10
+ "@theia/workspace": "1.65.0",
11
11
  "@vscode/ripgrep": "^1.14.2",
12
12
  "tslib": "^2.6.2"
13
13
  },
@@ -17,6 +17,7 @@
17
17
  "theiaExtensions": [
18
18
  {
19
19
  "frontend": "lib/browser/file-search-frontend-module",
20
+ "frontendOnly": "lib/browser-only/file-search-frontend-only-module",
20
21
  "backend": "lib/node/file-search-backend-module"
21
22
  }
22
23
  ],
@@ -45,10 +46,10 @@
45
46
  "watch": "theiaext watch"
46
47
  },
47
48
  "devDependencies": {
48
- "@theia/ext-scripts": "1.64.0"
49
+ "@theia/ext-scripts": "1.65.0"
49
50
  },
50
51
  "nyc": {
51
52
  "extends": "../../configs/nyc.json"
52
53
  },
53
- "gitHead": "4384a946123dd1b41e65708e58928fc1af707c8d"
54
+ "gitHead": "500dfc80cee94fd2a623b5fb59b22d5a575247c2"
54
55
  }
@@ -14,17 +14,17 @@
14
14
  // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
15
15
  // *****************************************************************************
16
16
 
17
- import { KeybindingRegistry, OpenerService, PreferenceService, QuickAccessRegistry } from '@theia/core/lib/browser';
17
+ import { KeybindingRegistry, OpenerService, QuickAccessRegistry } from '@theia/core/lib/browser';
18
18
  import { LabelProvider } from '@theia/core/lib/browser/label-provider';
19
19
  import { findMatches, QuickInputService, QuickPickItem, QuickPicks } from '@theia/core/lib/browser/quick-input/quick-input-service';
20
- import { CancellationToken, nls, QuickPickSeparator } from '@theia/core/lib/common';
20
+ import { CancellationToken, nls, PreferenceService, QuickPickSeparator } from '@theia/core/lib/common';
21
21
  import { MessageService } from '@theia/core/lib/common/message-service';
22
22
  import URI from '@theia/core/lib/common/uri';
23
23
  import * as fuzzy from '@theia/core/shared/fuzzy';
24
24
  import { inject, injectable, optional } from '@theia/core/shared/inversify';
25
25
  import { Position, Range } from '@theia/editor/lib/browser';
26
26
  import { NavigationLocationService } from '@theia/editor/lib/browser/navigation/navigation-location-service';
27
- import { FileSystemPreferences } from '@theia/filesystem/lib/browser';
27
+ import { FileSystemPreferences } from '@theia/filesystem/lib/common';
28
28
  import { WorkspaceService } from '@theia/workspace/lib/browser/workspace-service';
29
29
  import { FileSearchService, WHITESPACE_QUERY_SEPARATOR } from '../common/file-search-service';
30
30
 
@@ -0,0 +1,38 @@
1
+ // *****************************************************************************
2
+ // Copyright (C) 2025 Maksim Kachurin and others.
3
+ //
4
+ // This program and the accompanying materials are made available under the
5
+ // terms of the Eclipse Public License v. 2.0 which is available at
6
+ // http://www.eclipse.org/legal/epl-2.0.
7
+ //
8
+ // This Source Code may also be made available under the following Secondary
9
+ // Licenses when the conditions for such availability set forth in the Eclipse
10
+ // Public License v. 2.0 are satisfied: GNU General Public License, version 2
11
+ // with the GNU Classpath Exception which is available at
12
+ // https://www.gnu.org/software/classpath/license.html.
13
+ //
14
+ // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
15
+ // *****************************************************************************
16
+
17
+ import { ContainerModule, interfaces } from '@theia/core/shared/inversify';
18
+ import { CommandContribution, MenuContribution } from '@theia/core/lib/common';
19
+ import { KeybindingContribution } from '@theia/core/lib/browser';
20
+ import { FileSearchService } from '../common/file-search-service';
21
+ import { FileSearchServiceImpl } from './file-search-service-impl';
22
+ import { QuickAccessContribution } from '@theia/core/lib/browser/quick-input/quick-access';
23
+ import { QuickFileOpenFrontendContribution } from '../browser/quick-file-open-contribution';
24
+ import { QuickFileOpenService } from '../browser/quick-file-open';
25
+ import { QuickFileSelectService } from '../browser/quick-file-select-service';
26
+
27
+ export default new ContainerModule((bind: interfaces.Bind) => {
28
+ bind(FileSearchService).to(FileSearchServiceImpl).inSingletonScope();
29
+
30
+ bind(QuickFileOpenFrontendContribution).toSelf().inSingletonScope();
31
+
32
+ [CommandContribution, KeybindingContribution, MenuContribution, QuickAccessContribution].forEach(serviceIdentifier =>
33
+ bind(serviceIdentifier).toService(QuickFileOpenFrontendContribution)
34
+ );
35
+
36
+ bind(QuickFileSelectService).toSelf().inSingletonScope();
37
+ bind(QuickFileOpenService).toSelf().inSingletonScope();
38
+ });
@@ -0,0 +1,233 @@
1
+ // *****************************************************************************
2
+ // Copyright (C) 2025 Maksim Kachurin and others.
3
+ //
4
+ // This program and the accompanying materials are made available under the
5
+ // terms of the Eclipse Public License v. 2.0 which is available at
6
+ // http://www.eclipse.org/legal/epl-2.0.
7
+ //
8
+ // This Source Code may also be made available under the following Secondary
9
+ // Licenses when the conditions for such availability set forth in the Eclipse
10
+ // Public License v. 2.0 are satisfied: GNU General Public License, version 2
11
+ // with the GNU Classpath Exception which is available at
12
+ // https://www.gnu.org/software/classpath/license.html.
13
+ //
14
+ // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
15
+ // *****************************************************************************
16
+
17
+ import { injectable, inject, named } from '@theia/core/shared/inversify';
18
+ import { FileSearchService, WHITESPACE_QUERY_SEPARATOR } from '../common/file-search-service';
19
+ import { FileService } from '@theia/filesystem/lib/browser/file-service';
20
+ import * as fuzzy from '@theia/core/shared/fuzzy';
21
+ import { CancellationTokenSource, CancellationToken, ILogger, URI } from '@theia/core';
22
+ import { matchesPattern, createIgnoreMatcher, getIgnorePatterns } from '@theia/filesystem/lib/browser-only/file-search';
23
+
24
+ @injectable()
25
+ export class FileSearchServiceImpl implements FileSearchService {
26
+ @inject(ILogger)
27
+ @named('file-search')
28
+ protected logger: ILogger;
29
+
30
+ @inject(FileService)
31
+ protected readonly fs: FileService;
32
+
33
+ /**
34
+ * Searches for files matching the given pattern.
35
+ * @param searchPattern - The pattern to search for
36
+ * @param options - Search options including root URIs and filters
37
+ * @param clientToken - Optional cancellation token
38
+ * @returns Promise resolving to array of matching file URIs
39
+ */
40
+ async find(searchPattern: string, options: FileSearchService.Options, clientToken?: CancellationToken): Promise<string[]> {
41
+ const cancellationSource = new CancellationTokenSource();
42
+
43
+ if (clientToken) {
44
+ clientToken.onCancellationRequested(() => cancellationSource.cancel());
45
+ }
46
+
47
+ const token = cancellationSource.token;
48
+ const opts = {
49
+ fuzzyMatch: true,
50
+ limit: Number.MAX_SAFE_INTEGER,
51
+ useGitIgnore: true,
52
+ ...options
53
+ };
54
+
55
+ // Merge root-specific options with global options
56
+ const roots: FileSearchService.RootOptions = options.rootOptions || {};
57
+ if (options.rootUris) {
58
+ for (const rootUri of options.rootUris) {
59
+ if (!roots[rootUri]) {
60
+ roots[rootUri] = {};
61
+ }
62
+ }
63
+ }
64
+ // eslint-disable-next-line guard-for-in
65
+ for (const rootUri in roots) {
66
+ const rootOptions = roots[rootUri];
67
+ if (opts.includePatterns) {
68
+ const includePatterns = rootOptions.includePatterns || [];
69
+ rootOptions.includePatterns = [...includePatterns, ...opts.includePatterns];
70
+ }
71
+ if (opts.excludePatterns) {
72
+ const excludePatterns = rootOptions.excludePatterns || [];
73
+ rootOptions.excludePatterns = [...excludePatterns, ...opts.excludePatterns];
74
+ }
75
+ if (rootOptions.useGitIgnore === undefined) {
76
+ rootOptions.useGitIgnore = opts.useGitIgnore;
77
+ }
78
+ }
79
+
80
+ const exactMatches = new Set<string>();
81
+ const fuzzyMatches = new Set<string>();
82
+
83
+ // Split search pattern into individual terms for matching
84
+ const patterns = searchPattern.toLowerCase().split(WHITESPACE_QUERY_SEPARATOR).map(pattern => pattern.trim()).filter(Boolean);
85
+
86
+ await Promise.all(Object.keys(roots).map(async root => {
87
+ try {
88
+ const rootUri = new URI(root);
89
+ const rootOptions = roots[root];
90
+
91
+ await this.doFind(rootUri, rootOptions, (fileUri: string) => {
92
+
93
+ // Skip already matched files
94
+ if (exactMatches.has(fileUri) || fuzzyMatches.has(fileUri)) {
95
+ return;
96
+ }
97
+
98
+ // Check for exact pattern matches
99
+ const candidatePattern = fileUri.toLowerCase();
100
+ const patternExists = patterns.every(pattern => candidatePattern.includes(pattern));
101
+
102
+ if (patternExists) {
103
+ exactMatches.add(fileUri);
104
+ } else if (!searchPattern || searchPattern === '*') {
105
+ exactMatches.add(fileUri);
106
+ } else {
107
+ // Check for fuzzy matches if enabled
108
+ const fuzzyPatternExists = patterns.every(pattern => fuzzy.test(pattern, candidatePattern));
109
+
110
+ if (opts.fuzzyMatch && fuzzyPatternExists) {
111
+ fuzzyMatches.add(fileUri);
112
+ }
113
+ }
114
+
115
+ // Cancel search if limit reached
116
+ if ((exactMatches.size + fuzzyMatches.size) >= opts.limit) {
117
+ cancellationSource.cancel();
118
+ }
119
+ }, token);
120
+ } catch (e) {
121
+ this.logger.error('Failed to search:', root, e);
122
+ }
123
+ }));
124
+
125
+ if (clientToken?.isCancellationRequested) {
126
+ return [];
127
+ }
128
+
129
+ // Return results up to the specified limit
130
+ return [...exactMatches, ...fuzzyMatches].slice(0, opts.limit);
131
+ }
132
+
133
+ /**
134
+ * Performs the actual file search within a root directory.
135
+ * @param rootUri - The root URI to search in
136
+ * @param options - Search options for this root
137
+ * @param accept - Callback function for each matching file
138
+ * @param token - Cancellation token
139
+ */
140
+ protected async doFind(
141
+ rootUri: URI,
142
+ options: FileSearchService.BaseOptions,
143
+ accept: (fileUri: string) => void,
144
+ token: CancellationToken
145
+ ): Promise<void> {
146
+ const matcher = createIgnoreMatcher();
147
+ const queue: URI[] = [rootUri];
148
+ let queueIndex = 0;
149
+
150
+ while (queueIndex < queue.length) {
151
+ if (token.isCancellationRequested) {
152
+ return;
153
+ }
154
+
155
+ const currentUri = queue[queueIndex++];
156
+
157
+ try {
158
+ // Skip excluded paths
159
+ if (this.shouldExcludePath(currentUri, options.excludePatterns)) {
160
+ continue;
161
+ }
162
+
163
+ const stat = await this.fs.resolve(currentUri);
164
+ const relPath = currentUri.path.toString().replace(/^\/|^\.\//, '');
165
+
166
+ // Skip paths ignored by gitignore patterns
167
+ if (options.useGitIgnore && relPath && matcher.ignores(relPath)) {
168
+ continue;
169
+ }
170
+
171
+ // Accept file if it matches include patterns
172
+ if (stat.isFile && this.shouldIncludePath(currentUri, options.includePatterns)) {
173
+ accept(currentUri.toString());
174
+ } else if (stat.isDirectory && Array.isArray(stat.children)) {
175
+ // Process ignore files in directory
176
+ if (options.useGitIgnore) {
177
+ const patterns = await getIgnorePatterns(
178
+ currentUri,
179
+ uri => this.fs.read(uri).then(content => content.value)
180
+ );
181
+
182
+ matcher.add(patterns);
183
+ }
184
+
185
+ // Add children to search queue
186
+ for (const child of stat.children) {
187
+ queue.push(child.resource);
188
+ }
189
+ }
190
+ } catch (e) {
191
+ this.logger.error(`Error reading directory: ${currentUri.toString()}`, e);
192
+ }
193
+ }
194
+ }
195
+
196
+ /**
197
+ * Checks if a path should be excluded based on exclude patterns.
198
+ * @param uri - The URI to check
199
+ * @param excludePatterns - Array of exclude patterns
200
+ * @returns True if the path should be excluded
201
+ */
202
+ private shouldExcludePath(uri: URI, excludePatterns: string[] | undefined): boolean {
203
+ if (!excludePatterns?.length) {
204
+ return false;
205
+ }
206
+
207
+ const path = uri.path.toString();
208
+ return matchesPattern(path, excludePatterns, {
209
+ dot: true,
210
+ matchBase: true,
211
+ nocase: true
212
+ });
213
+ }
214
+
215
+ /**
216
+ * Checks if a path should be included based on include patterns.
217
+ * @param uri - The URI to check
218
+ * @param includePatterns - Array of include patterns
219
+ * @returns True if the path should be included
220
+ */
221
+ private shouldIncludePath(uri: URI, includePatterns: string[] | undefined): boolean {
222
+ if (!includePatterns?.length) {
223
+ return true;
224
+ }
225
+
226
+ const path = uri.path.toString();
227
+ return matchesPattern(path, includePatterns, {
228
+ dot: true,
229
+ matchBase: true,
230
+ nocase: true
231
+ });
232
+ }
233
+ }