@theia/workspace 1.55.1 → 1.57.0-next.22

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.
package/README.md CHANGED
@@ -26,5 +26,6 @@ The `@theia/workspace` extension provides functionality and services to handle w
26
26
  - [一 (Secondary) GNU General Public License, version 2 with the GNU Classpath Exception](https://projects.eclipse.org/license/secondary-gpl-2.0-cp)
27
27
 
28
28
  ## Trademark
29
+
29
30
  "Theia" is a trademark of the Eclipse Foundation
30
- https://www.eclipse.org/theia
31
+ <https://www.eclipse.org/theia>
@@ -1,6 +1,7 @@
1
1
  import { LabelProvider, QuickInputService, QuickInputButton } from '@theia/core/lib/browser';
2
2
  import { EnvVariablesServer } from '@theia/core/lib/common/env-variables';
3
- import { WorkspaceService } from './workspace-service';
3
+ import { WorkspaceOpenHandlerContribution, WorkspaceService } from './workspace-service';
4
+ import { ContributionProvider } from '@theia/core/lib/common';
4
5
  import { UntitledWorkspaceService } from '../common/untitled-workspace-service';
5
6
  export declare class QuickOpenWorkspace {
6
7
  protected opened: boolean;
@@ -9,6 +10,7 @@ export declare class QuickOpenWorkspace {
9
10
  protected readonly labelProvider: LabelProvider;
10
11
  protected readonly envServer: EnvVariablesServer;
11
12
  protected untitledWorkspaceService: UntitledWorkspaceService;
13
+ protected readonly workspaceOpenHandlers: ContributionProvider<WorkspaceOpenHandlerContribution>;
12
14
  protected readonly removeRecentWorkspaceButton: QuickInputButton;
13
15
  open(workspaces: string[]): Promise<void>;
14
16
  select(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"quick-open-workspace.d.ts","sourceRoot":"","sources":["../../src/browser/quick-open-workspace.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAiB,aAAa,EAAE,iBAAiB,EAAE,gBAAgB,EAAsB,MAAM,yBAAyB,CAAC;AAChI,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAC1E,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAGvD,OAAO,EAAE,wBAAwB,EAAE,MAAM,sCAAsC,CAAC;AAMhF,qBACa,kBAAkB;IAC3B,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC;IAEa,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IACrE,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IACzD,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IAC3C,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,kBAAkB,CAAC;IAC3C,SAAS,CAAC,wBAAwB,EAAE,wBAAwB,CAAC;IAE/F,SAAS,CAAC,QAAQ,CAAC,2BAA2B,EAAE,gBAAgB,CAG9D;IAEI,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IA0C/C,MAAM,IAAI,IAAI;CAQjB"}
1
+ {"version":3,"file":"quick-open-workspace.d.ts","sourceRoot":"","sources":["../../src/browser/quick-open-workspace.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAiB,aAAa,EAAE,iBAAiB,EAAE,gBAAgB,EAAsB,MAAM,yBAAyB,CAAC;AAChI,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAC1E,OAAO,EAAE,gCAAgC,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEzF,OAAO,EAAE,oBAAoB,EAAa,MAAM,wBAAwB,CAAC;AACzE,OAAO,EAAE,wBAAwB,EAAE,MAAM,sCAAsC,CAAC;AAMhF,qBACa,kBAAkB;IAC3B,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC;IAEa,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IACrE,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IACzD,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IAC3C,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,kBAAkB,CAAC;IAC3C,SAAS,CAAC,wBAAwB,EAAE,wBAAwB,CAAC;IAG/F,SAAS,CAAC,QAAQ,CAAC,qBAAqB,EAAE,oBAAoB,CAAC,gCAAgC,CAAC,CAAC;IAEjG,SAAS,CAAC,QAAQ,CAAC,2BAA2B,EAAE,gBAAgB,CAG9D;IAEI,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IA2C/C,MAAM,IAAI,IAAI;CAQjB"}
@@ -32,7 +32,7 @@ let QuickOpenWorkspace = class QuickOpenWorkspace {
32
32
  };
33
33
  }
34
34
  async open(workspaces) {
35
- var _a;
35
+ var _a, _b, _c, _d;
36
36
  const homeDirUri = await this.envServer.getHomeDirUri();
37
37
  const home = new uri_1.default(homeDirUri).path.fsPath();
38
38
  const items = [{
@@ -41,7 +41,8 @@ let QuickOpenWorkspace = class QuickOpenWorkspace {
41
41
  }];
42
42
  for (const workspace of workspaces) {
43
43
  const uri = new uri_1.default(workspace);
44
- const label = uri.path.base;
44
+ const label = (_c = await ((_b = (_a = this.workspaceOpenHandlers.getContributions()
45
+ .find(handler => handler.getWorkspaceLabel && handler.canHandle(uri))) === null || _a === void 0 ? void 0 : _a.getWorkspaceLabel) === null || _b === void 0 ? void 0 : _b.call(_a, uri))) !== null && _c !== void 0 ? _c : uri.path.base;
45
46
  if (!label || this.untitledWorkspaceService.isUntitledWorkspace(uri)) {
46
47
  continue; // skip temporary workspace files & empty workspace names
47
48
  }
@@ -58,7 +59,7 @@ let QuickOpenWorkspace = class QuickOpenWorkspace {
58
59
  }
59
60
  });
60
61
  }
61
- (_a = this.quickInputService) === null || _a === void 0 ? void 0 : _a.showQuickPick(items, {
62
+ (_d = this.quickInputService) === null || _d === void 0 ? void 0 : _d.showQuickPick(items, {
62
63
  placeholder: common_1.nls.localize('theia/workspace/openRecentPlaceholder', 'Type the name of the workspace you want to open'),
63
64
  onDidTriggerItemButton: async (context) => {
64
65
  const resource = context.item.resource;
@@ -100,6 +101,11 @@ tslib_1.__decorate([
100
101
  (0, inversify_1.inject)(untitled_workspace_service_1.UntitledWorkspaceService),
101
102
  tslib_1.__metadata("design:type", untitled_workspace_service_1.UntitledWorkspaceService)
102
103
  ], QuickOpenWorkspace.prototype, "untitledWorkspaceService", void 0);
104
+ tslib_1.__decorate([
105
+ (0, inversify_1.inject)(common_1.ContributionProvider),
106
+ (0, inversify_1.named)(workspace_service_1.WorkspaceOpenHandlerContribution),
107
+ tslib_1.__metadata("design:type", Object)
108
+ ], QuickOpenWorkspace.prototype, "workspaceOpenHandlers", void 0);
103
109
  exports.QuickOpenWorkspace = QuickOpenWorkspace = tslib_1.__decorate([
104
110
  (0, inversify_1.injectable)()
105
111
  ], QuickOpenWorkspace);
@@ -1 +1 @@
1
- {"version":3,"file":"quick-open-workspace.js","sourceRoot":"","sources":["../../src/browser/quick-open-workspace.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"quick-open-workspace.js","sourceRoot":"","sources":["../../src/browser/quick-open-workspace.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"workspace-frontend-module.d.ts","sourceRoot":"","sources":["../../src/browser/workspace-frontend-module.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,eAAe,EAAc,MAAM,8BAA8B,CAAC;;AA0C3E,wBA2DG"}
1
+ {"version":3,"file":"workspace-frontend-module.d.ts","sourceRoot":"","sources":["../../src/browser/workspace-frontend-module.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,eAAe,EAAc,MAAM,8BAA8B,CAAC;;AA0C3E,wBA6DG"}
@@ -50,6 +50,7 @@ const canonical_uri_service_1 = require("./canonical-uri-service");
50
50
  exports.default = new inversify_1.ContainerModule((bind, unbind, isBound, rebind) => {
51
51
  (0, workspace_preferences_1.bindWorkspacePreferences)(bind);
52
52
  (0, workspace_trust_preferences_1.bindWorkspaceTrustPreferences)(bind);
53
+ (0, common_1.bindContributionProvider)(bind, workspace_service_1.WorkspaceOpenHandlerContribution);
53
54
  bind(workspace_service_1.WorkspaceService).toSelf().inSingletonScope();
54
55
  bind(browser_1.FrontendApplicationContribution).toService(workspace_service_1.WorkspaceService);
55
56
  bind(canonical_uri_service_1.CanonicalUriService).toSelf().inSingletonScope();
@@ -1 +1 @@
1
- {"version":3,"file":"workspace-frontend-module.js","sourceRoot":"","sources":["../../src/browser/workspace-frontend-module.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workspace-frontend-module.js","sourceRoot":"","sources":["../../src/browser/workspace-frontend-module.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@ import { WindowService } from '@theia/core/lib/browser/window/window-service';
4
4
  import { FrontendApplicationContribution, PreferenceServiceImpl, PreferenceSchemaProvider, LabelProvider } from '@theia/core/lib/browser';
5
5
  import { Deferred } from '@theia/core/lib/common/promise-util';
6
6
  import { EnvVariablesServer } from '@theia/core/lib/common/env-variables';
7
- import { ILogger, Disposable, DisposableCollection, Emitter, Event, MaybePromise, MessageService } from '@theia/core';
7
+ import { ILogger, Disposable, DisposableCollection, Emitter, Event, MaybePromise, MessageService, ContributionProvider } from '@theia/core';
8
8
  import { WorkspacePreferences } from './workspace-preferences';
9
9
  import { FileStat, BaseStat } from '@theia/filesystem/lib/common/files';
10
10
  import { FileService } from '@theia/filesystem/lib/browser/file-service';
@@ -12,10 +12,16 @@ import { WindowTitleService } from '@theia/core/lib/browser/window/window-title-
12
12
  import { FileSystemPreferences } from '@theia/filesystem/lib/browser';
13
13
  import { WorkspaceSchemaUpdater } from './workspace-schema-updater';
14
14
  import { IJSONSchema } from '@theia/core/lib/common/json-schema';
15
+ export declare const WorkspaceOpenHandlerContribution: unique symbol;
16
+ export interface WorkspaceOpenHandlerContribution {
17
+ canHandle(uri: URI): MaybePromise<boolean>;
18
+ openWorkspace(uri: URI, options?: WorkspaceInput): MaybePromise<void>;
19
+ getWorkspaceLabel?(uri: URI): MaybePromise<string | undefined>;
20
+ }
15
21
  /**
16
22
  * The workspace service.
17
23
  */
18
- export declare class WorkspaceService implements FrontendApplicationContribution {
24
+ export declare class WorkspaceService implements FrontendApplicationContribution, WorkspaceOpenHandlerContribution {
19
25
  protected _workspace: FileStat | undefined;
20
26
  protected _roots: FileStat[];
21
27
  protected deferredRoots: Deferred<FileStat[]>;
@@ -34,6 +40,7 @@ export declare class WorkspaceService implements FrontendApplicationContribution
34
40
  protected readonly untitledWorkspaceService: UntitledWorkspaceService;
35
41
  protected readonly workspaceFileService: WorkspaceFileService;
36
42
  protected readonly windowTitleService: WindowTitleService;
43
+ protected readonly openHandlerContribution: ContributionProvider<WorkspaceOpenHandlerContribution>;
37
44
  protected _ready: Deferred<void>;
38
45
  get ready(): Promise<void>;
39
46
  protected init(): void;
@@ -88,7 +95,9 @@ export declare class WorkspaceService implements FrontendApplicationContribution
88
95
  * Opens directory, or recreates a workspace from the file that `uri` points to.
89
96
  */
90
97
  open(uri: URI, options?: WorkspaceInput): void;
91
- protected doOpen(uri: URI, options?: WorkspaceInput): Promise<URI | undefined>;
98
+ protected doOpen(uri: URI, options?: WorkspaceInput): Promise<void>;
99
+ canHandle(uri: URI): Promise<boolean>;
100
+ openWorkspace(uri: URI, options?: WorkspaceInput): Promise<void>;
92
101
  /**
93
102
  * Adds root folder(s) to the workspace
94
103
  * @param uris URI or URIs of the root folder(s) to add
@@ -1 +1 @@
1
- {"version":3,"file":"workspace-service.d.ts","sourceRoot":"","sources":["../../src/browser/workspace-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workspace-service.d.ts","sourceRoot":"","sources":["../../src/browser/workspace-service.ts"],"names":[],"mappings":"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"}
@@ -15,7 +15,7 @@
15
15
  // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
16
16
  // *****************************************************************************
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
- exports.WorkspaceData = exports.WorkspaceService = void 0;
18
+ exports.WorkspaceData = exports.WorkspaceService = exports.WorkspaceOpenHandlerContribution = void 0;
19
19
  const tslib_1 = require("tslib");
20
20
  const inversify_1 = require("@theia/core/shared/inversify");
21
21
  const uri_1 = require("@theia/core/lib/common/uri");
@@ -35,6 +35,7 @@ const window_title_service_1 = require("@theia/core/lib/browser/window/window-ti
35
35
  const browser_2 = require("@theia/filesystem/lib/browser");
36
36
  const workspace_schema_updater_1 = require("./workspace-schema-updater");
37
37
  const frontend_application_state_1 = require("@theia/core/lib/common/frontend-application-state");
38
+ exports.WorkspaceOpenHandlerContribution = Symbol('WorkspaceOpenHandlerContribution');
38
39
  /**
39
40
  * The workspace service.
40
41
  */
@@ -286,6 +287,18 @@ let WorkspaceService = class WorkspaceService {
286
287
  this.doOpen(uri, options);
287
288
  }
288
289
  async doOpen(uri, options) {
290
+ for (const handler of [...this.openHandlerContribution.getContributions(), this]) {
291
+ if (await handler.canHandle(uri)) {
292
+ handler.openWorkspace(uri, options);
293
+ return;
294
+ }
295
+ }
296
+ throw new Error(`Could not find a handler to open the workspace with uri ${uri.toString()}.`);
297
+ }
298
+ async canHandle(uri) {
299
+ return uri.scheme === 'file';
300
+ }
301
+ async openWorkspace(uri, options) {
289
302
  const stat = await this.toFileStat(uri);
290
303
  if (stat) {
291
304
  if (!stat.isDirectory && !this.isWorkspaceFile(stat)) {
@@ -655,6 +668,11 @@ tslib_1.__decorate([
655
668
  (0, inversify_1.inject)(window_title_service_1.WindowTitleService),
656
669
  tslib_1.__metadata("design:type", window_title_service_1.WindowTitleService)
657
670
  ], WorkspaceService.prototype, "windowTitleService", void 0);
671
+ tslib_1.__decorate([
672
+ (0, inversify_1.inject)(core_1.ContributionProvider),
673
+ (0, inversify_1.named)(exports.WorkspaceOpenHandlerContribution),
674
+ tslib_1.__metadata("design:type", Object)
675
+ ], WorkspaceService.prototype, "openHandlerContribution", void 0);
658
676
  tslib_1.__decorate([
659
677
  (0, inversify_1.postConstruct)(),
660
678
  tslib_1.__metadata("design:type", Function),
@@ -1 +1 @@
1
- {"version":3,"file":"workspace-service.js","sourceRoot":"","sources":["../../src/browser/workspace-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workspace-service.js","sourceRoot":"","sources":["../../src/browser/workspace-service.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,13 @@ import { CliContribution } from '@theia/core/lib/node/cli';
5
5
  import { Deferred } from '@theia/core/lib/common/promise-util';
6
6
  import { WorkspaceServer, UntitledWorkspaceService } from '../common';
7
7
  import { EnvVariablesServer } from '@theia/core/lib/common/env-variables';
8
+ import URI from '@theia/core/lib/common/uri';
9
+ import { ContributionProvider } from '@theia/core';
10
+ export declare const WorkspaceHandlerContribution: unique symbol;
11
+ export interface WorkspaceHandlerContribution {
12
+ canHandle(uri: URI): boolean;
13
+ workspaceStillExists(uri: URI): Promise<boolean>;
14
+ }
8
15
  export declare class WorkspaceCliContribution implements CliContribution {
9
16
  protected readonly envVariablesServer: EnvVariablesServer;
10
17
  protected readonly untitledWorkspaceService: UntitledWorkspaceService;
@@ -24,6 +31,7 @@ export declare class DefaultWorkspaceServer implements WorkspaceServer, BackendA
24
31
  protected readonly cliParams: WorkspaceCliContribution;
25
32
  protected readonly envServer: EnvVariablesServer;
26
33
  protected readonly untitledWorkspaceService: UntitledWorkspaceService;
34
+ protected readonly workspaceHandlers: ContributionProvider<WorkspaceHandlerContribution>;
27
35
  protected init(): void;
28
36
  protected doInit(): Promise<void>;
29
37
  onStart(): Promise<void>;
@@ -52,6 +60,10 @@ export declare class DefaultWorkspaceServer implements WorkspaceServer, BackendA
52
60
  */
53
61
  protected removeOldUntitledWorkspaces(): Promise<void>;
54
62
  }
63
+ export declare class FileWorkspaceHandlerContribution implements WorkspaceHandlerContribution {
64
+ canHandle(uri: URI): boolean;
65
+ workspaceStillExists(uri: URI): Promise<boolean>;
66
+ }
55
67
  export interface RecentWorkspacePathsData {
56
68
  recentRoots: string[];
57
69
  }
@@ -1 +1 @@
1
- {"version":3,"file":"default-workspace-server.d.ts","sourceRoot":"","sources":["../../src/node/default-workspace-server.ts"],"names":[],"mappings":";AAiBA,OAAO,KAAK,KAAK,MAAM,0BAA0B,CAAC;AAIlD,OAAO,EAAW,8BAA8B,EAAE,MAAM,sBAAsB,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,qCAAqC,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AACtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAI1E,qBACa,wBAAyB,YAAW,eAAe;IAEhC,SAAS,CAAC,QAAQ,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;IACpD,SAAS,CAAC,QAAQ,CAAC,wBAAwB,EAAE,wBAAwB,CAAC;IAExG,aAAa,+BAAsC;IAEnD,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,GAAG,IAAI;IAO3B,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAcxD,SAAS,CAAC,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;cAIpC,kCAAkC,CAAC,kBAAkB,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;CAoBhH;AAED,qBACa,sBAAuB,YAAW,eAAe,EAAE,8BAA8B;IAE1F,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,MAAM,GAAG,SAAS,CAAC,CAAkB;IAC9D;;;OAGG;IACH,SAAS,CAAC,+BAA+B,SAAM;IAG/C,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,wBAAwB,CAAC;IAGvD,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,kBAAkB,CAAC;IAGjD,SAAS,CAAC,QAAQ,CAAC,wBAAwB,EAAE,wBAAwB,CAAC;IAGtE,SAAS,CAAC,IAAI,IAAI,IAAI;cAIN,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAKjC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;cAId,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAWtD,4BAA4B,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAIrD,4BAA4B,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ3D,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAYpD,mBAAmB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;cAU9B,mBAAmB,CAAC,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;cAS/D,sBAAsB,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAKrE;;;OAGG;cACa,eAAe,CAAC,IAAI,EAAE,wBAAwB,GAAG,OAAO,CAAC,IAAI,CAAC;cAK9D,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOxE;;OAEG;cACa,oCAAoC,IAAI,OAAO,CAAC,wBAAwB,GAAG,SAAS,CAAC;cAMrF,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;cAQ7D,kBAAkB,IAAI,OAAO,CAAC,MAAM,CAAC;IAKrD;;;OAGG;cACa,2BAA2B,IAAI,OAAO,CAAC,IAAI,CAAC;CAU/D;AAED,MAAM,WAAW,wBAAwB;IACrC,WAAW,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,yBAAiB,wBAAwB,CAAC;IACtC;;;;OAIG;IACH,SAAgB,MAAM,CAAC,IAAI,EAAE,OAAO,GAAG,wBAAwB,GAAG,SAAS,CAO1E;CACJ"}
1
+ {"version":3,"file":"default-workspace-server.d.ts","sourceRoot":"","sources":["../../src/node/default-workspace-server.ts"],"names":[],"mappings":"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"}
@@ -15,7 +15,7 @@
15
15
  // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
16
16
  // *****************************************************************************
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
- exports.RecentWorkspacePathsData = exports.DefaultWorkspaceServer = exports.WorkspaceCliContribution = void 0;
18
+ exports.RecentWorkspacePathsData = exports.FileWorkspaceHandlerContribution = exports.DefaultWorkspaceServer = exports.WorkspaceCliContribution = exports.WorkspaceHandlerContribution = void 0;
19
19
  const tslib_1 = require("tslib");
20
20
  const path = require("path");
21
21
  const fs = require("@theia/core/shared/fs-extra");
@@ -27,6 +27,7 @@ const common_1 = require("../common");
27
27
  const env_variables_1 = require("@theia/core/lib/common/env-variables");
28
28
  const uri_1 = require("@theia/core/lib/common/uri");
29
29
  const core_1 = require("@theia/core");
30
+ exports.WorkspaceHandlerContribution = Symbol('workspaceHandlerContribution');
30
31
  let WorkspaceCliContribution = class WorkspaceCliContribution {
31
32
  constructor() {
32
33
  this.workspaceRoot = new promise_util_1.Deferred();
@@ -146,11 +147,12 @@ let DefaultWorkspaceServer = class DefaultWorkspaceServer {
146
147
  }
147
148
  async workspaceStillExist(workspaceRootUri) {
148
149
  const uri = new uri_1.default(workspaceRootUri);
149
- // Non file system workspaces cannot be checked for existence
150
- if (uri.scheme !== 'file') {
151
- return false;
150
+ for (const handler of this.workspaceHandlers.getContributions()) {
151
+ if (handler.canHandle(uri)) {
152
+ return handler.workspaceStillExists(uri);
153
+ }
152
154
  }
153
- return fs.pathExists(uri.path.fsPath());
155
+ return false;
154
156
  }
155
157
  async getWorkspaceURIFromCli() {
156
158
  const arg = await this.cliParams.workspaceRoot.promise;
@@ -217,6 +219,11 @@ tslib_1.__decorate([
217
219
  (0, inversify_1.inject)(common_1.UntitledWorkspaceService),
218
220
  tslib_1.__metadata("design:type", common_1.UntitledWorkspaceService)
219
221
  ], DefaultWorkspaceServer.prototype, "untitledWorkspaceService", void 0);
222
+ tslib_1.__decorate([
223
+ (0, inversify_1.inject)(core_1.ContributionProvider),
224
+ (0, inversify_1.named)(exports.WorkspaceHandlerContribution),
225
+ tslib_1.__metadata("design:type", Object)
226
+ ], DefaultWorkspaceServer.prototype, "workspaceHandlers", void 0);
220
227
  tslib_1.__decorate([
221
228
  (0, inversify_1.postConstruct)(),
222
229
  tslib_1.__metadata("design:type", Function),
@@ -226,6 +233,18 @@ tslib_1.__decorate([
226
233
  exports.DefaultWorkspaceServer = DefaultWorkspaceServer = tslib_1.__decorate([
227
234
  (0, inversify_1.injectable)()
228
235
  ], DefaultWorkspaceServer);
236
+ let FileWorkspaceHandlerContribution = class FileWorkspaceHandlerContribution {
237
+ canHandle(uri) {
238
+ return uri.scheme === 'file';
239
+ }
240
+ async workspaceStillExists(uri) {
241
+ return fs.pathExists(uri.path.fsPath());
242
+ }
243
+ };
244
+ exports.FileWorkspaceHandlerContribution = FileWorkspaceHandlerContribution;
245
+ exports.FileWorkspaceHandlerContribution = FileWorkspaceHandlerContribution = tslib_1.__decorate([
246
+ (0, inversify_1.injectable)()
247
+ ], FileWorkspaceHandlerContribution);
229
248
  var RecentWorkspacePathsData;
230
249
  (function (RecentWorkspacePathsData) {
231
250
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"default-workspace-server.js","sourceRoot":"","sources":["../../src/node/default-workspace-server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"default-workspace-server.js","sourceRoot":"","sources":["../../src/node/default-workspace-server.ts"],"names":[],"mappings":"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"}
@@ -24,6 +24,8 @@ const default_workspace_server_1 = require("./default-workspace-server");
24
24
  const chai_1 = require("chai");
25
25
  const temp = require("temp");
26
26
  const fs = require("fs");
27
+ const core_1 = require("@theia/core");
28
+ const mock_logger_1 = require("@theia/core/lib/common/test/mock-logger");
27
29
  describe('DefaultWorkspaceServer', function () {
28
30
  describe('getRecentWorkspaces()', async () => {
29
31
  let workspaceServer;
@@ -36,11 +38,19 @@ describe('DefaultWorkspaceServer', function () {
36
38
  recentWorkspaceFile = node_1.FileUri.fsPath(tmpConfigDir.resolve('recentworkspace.json'));
37
39
  // create a container with the necessary bindings for the DefaultWorkspaceServer
38
40
  const container = new inversify_1.Container();
39
- container.bind(default_workspace_server_1.WorkspaceCliContribution).toSelf().inSingletonScope();
40
- container.bind(default_workspace_server_1.DefaultWorkspaceServer).toSelf().inSingletonScope();
41
- container.bind(common_1.WorkspaceFileService).toSelf().inSingletonScope();
42
- container.bind(common_1.UntitledWorkspaceService).toSelf().inSingletonScope();
43
- container.bind(env_variables_1.EnvVariablesServer).toConstantValue(new mock_env_variables_server_1.MockEnvVariablesServerImpl(tmpConfigDir));
41
+ const containerModule = new inversify_1.ContainerModule(bind => {
42
+ /* Mock logger binding*/
43
+ bind(core_1.ILogger).to(mock_logger_1.MockLogger);
44
+ (0, core_1.bindContributionProvider)(bind, default_workspace_server_1.WorkspaceHandlerContribution);
45
+ bind(default_workspace_server_1.FileWorkspaceHandlerContribution).toSelf().inSingletonScope();
46
+ bind(default_workspace_server_1.WorkspaceHandlerContribution).toService(default_workspace_server_1.FileWorkspaceHandlerContribution);
47
+ bind(default_workspace_server_1.WorkspaceCliContribution).toSelf().inSingletonScope();
48
+ bind(default_workspace_server_1.DefaultWorkspaceServer).toSelf().inSingletonScope();
49
+ bind(common_1.WorkspaceFileService).toSelf().inSingletonScope();
50
+ bind(common_1.UntitledWorkspaceService).toSelf().inSingletonScope();
51
+ bind(env_variables_1.EnvVariablesServer).toConstantValue(new mock_env_variables_server_1.MockEnvVariablesServerImpl(tmpConfigDir));
52
+ });
53
+ container.load(containerModule);
44
54
  workspaceServer = container.get(default_workspace_server_1.DefaultWorkspaceServer);
45
55
  });
46
56
  it('should return empty list of workspaces if no recent workspaces file is existing', async function () {
@@ -1 +1 @@
1
- {"version":3,"file":"default-workspace-server.spec.js","sourceRoot":"","sources":["../../src/node/default-workspace-server.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"default-workspace-server.spec.js","sourceRoot":"","sources":["../../src/node/default-workspace-server.spec.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"workspace-backend-module.d.ts","sourceRoot":"","sources":["../../src/node/workspace-backend-module.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;;AAO/D,wBAcG"}
1
+ {"version":3,"file":"workspace-backend-module.d.ts","sourceRoot":"","sources":["../../src/node/workspace-backend-module.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;;AAO/D,wBAmBG"}
@@ -29,6 +29,9 @@ exports.default = new inversify_1.ContainerModule(bind => {
29
29
  bind(node_1.BackendApplicationContribution).toService(common_2.WorkspaceServer);
30
30
  bind(common_2.UntitledWorkspaceService).toSelf().inSingletonScope();
31
31
  bind(common_2.WorkspaceFileService).toSelf().inSingletonScope();
32
+ (0, common_1.bindContributionProvider)(bind, default_workspace_server_1.WorkspaceHandlerContribution);
33
+ bind(default_workspace_server_1.FileWorkspaceHandlerContribution).toSelf().inSingletonScope();
34
+ bind(default_workspace_server_1.WorkspaceHandlerContribution).toService(default_workspace_server_1.FileWorkspaceHandlerContribution);
32
35
  bind(common_1.ConnectionHandler).toDynamicValue(ctx => new common_1.RpcConnectionHandler(common_2.workspacePath, () => ctx.container.get(common_2.WorkspaceServer))).inSingletonScope();
33
36
  });
34
37
  //# sourceMappingURL=workspace-backend-module.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"workspace-backend-module.js","sourceRoot":"","sources":["../../src/node/workspace-backend-module.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,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,4DAA+D;AAC/D,mDAAiF;AACjF,sCAA2G;AAC3G,yEAA8F;AAC9F,kDAA2D;AAC3D,+CAAsE;AAEtE,kBAAe,IAAI,2BAAe,CAAC,IAAI,CAAC,EAAE;IACtC,IAAI,CAAC,mDAAwB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAC3D,IAAI,CAAC,qBAAe,CAAC,CAAC,SAAS,CAAC,mDAAwB,CAAC,CAAC;IAC1D,IAAI,CAAC,iDAAsB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IACzD,IAAI,CAAC,wBAAe,CAAC,CAAC,SAAS,CAAC,iDAAsB,CAAC,CAAC;IACxD,IAAI,CAAC,qCAA8B,CAAC,CAAC,SAAS,CAAC,wBAAe,CAAC,CAAC;IAChE,IAAI,CAAC,iCAAwB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAC3D,IAAI,CAAC,6BAAoB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAEvD,IAAI,CAAC,0BAAiB,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CACzC,IAAI,6BAAoB,CAAC,sBAAa,EAAE,GAAG,EAAE,CACzC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,wBAAe,CAAC,CACrC,CACJ,CAAC,gBAAgB,EAAE,CAAC;AACzB,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"workspace-backend-module.js","sourceRoot":"","sources":["../../src/node/workspace-backend-module.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,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,4DAA+D;AAC/D,mDAA2G;AAC3G,sCAA2G;AAC3G,yEAA8J;AAC9J,kDAA2D;AAC3D,+CAAsE;AAEtE,kBAAe,IAAI,2BAAe,CAAC,IAAI,CAAC,EAAE;IACtC,IAAI,CAAC,mDAAwB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAC3D,IAAI,CAAC,qBAAe,CAAC,CAAC,SAAS,CAAC,mDAAwB,CAAC,CAAC;IAC1D,IAAI,CAAC,iDAAsB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IACzD,IAAI,CAAC,wBAAe,CAAC,CAAC,SAAS,CAAC,iDAAsB,CAAC,CAAC;IACxD,IAAI,CAAC,qCAA8B,CAAC,CAAC,SAAS,CAAC,wBAAe,CAAC,CAAC;IAChE,IAAI,CAAC,iCAAwB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAC3D,IAAI,CAAC,6BAAoB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAEvD,IAAA,iCAAwB,EAAC,IAAI,EAAE,uDAA4B,CAAC,CAAC;IAE7D,IAAI,CAAC,2DAAgC,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IACnE,IAAI,CAAC,uDAA4B,CAAC,CAAC,SAAS,CAAC,2DAAgC,CAAC,CAAC;IAE/E,IAAI,CAAC,0BAAiB,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CACzC,IAAI,6BAAoB,CAAC,sBAAa,EAAE,GAAG,EAAE,CACzC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,wBAAe,CAAC,CACrC,CACJ,CAAC,gBAAgB,EAAE,CAAC;AACzB,CAAC,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "name": "@theia/workspace",
3
- "version": "1.55.1",
3
+ "version": "1.57.0-next.22+35d458a96",
4
4
  "description": "Theia - Workspace Extension",
5
5
  "dependencies": {
6
- "@theia/core": "1.55.1",
7
- "@theia/filesystem": "1.55.1",
8
- "@theia/variable-resolver": "1.55.1",
6
+ "@theia/core": "1.57.0-next.22+35d458a96",
7
+ "@theia/filesystem": "1.57.0-next.22+35d458a96",
8
+ "@theia/variable-resolver": "1.57.0-next.22+35d458a96",
9
9
  "jsonc-parser": "^2.2.0",
10
10
  "tslib": "^2.6.2",
11
11
  "valid-filename": "^2.0.1"
@@ -47,10 +47,10 @@
47
47
  "watch": "theiaext watch"
48
48
  },
49
49
  "devDependencies": {
50
- "@theia/ext-scripts": "1.55.1"
50
+ "@theia/ext-scripts": "1.56.0"
51
51
  },
52
52
  "nyc": {
53
53
  "extends": "../../configs/nyc.json"
54
54
  },
55
- "gitHead": "be4713a778be16ba831af63a6fbd43b2301e882d"
55
+ "gitHead": "35d458a961212de264d9579305d984147fa55618"
56
56
  }
@@ -14,12 +14,12 @@
14
14
  // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
15
15
  // *****************************************************************************
16
16
 
17
- import { injectable, inject, optional } from '@theia/core/shared/inversify';
17
+ import { injectable, inject, optional, named } from '@theia/core/shared/inversify';
18
18
  import { QuickPickItem, LabelProvider, QuickInputService, QuickInputButton, QuickPickSeparator } from '@theia/core/lib/browser';
19
19
  import { EnvVariablesServer } from '@theia/core/lib/common/env-variables';
20
- import { WorkspaceService } from './workspace-service';
20
+ import { WorkspaceOpenHandlerContribution, WorkspaceService } from './workspace-service';
21
21
  import URI from '@theia/core/lib/common/uri';
22
- import { nls, Path } from '@theia/core/lib/common';
22
+ import { ContributionProvider, nls, Path } from '@theia/core/lib/common';
23
23
  import { UntitledWorkspaceService } from '../common/untitled-workspace-service';
24
24
 
25
25
  interface RecentlyOpenedPick extends QuickPickItem {
@@ -36,6 +36,9 @@ export class QuickOpenWorkspace {
36
36
  @inject(EnvVariablesServer) protected readonly envServer: EnvVariablesServer;
37
37
  @inject(UntitledWorkspaceService) protected untitledWorkspaceService: UntitledWorkspaceService;
38
38
 
39
+ @inject(ContributionProvider) @named(WorkspaceOpenHandlerContribution)
40
+ protected readonly workspaceOpenHandlers: ContributionProvider<WorkspaceOpenHandlerContribution>;
41
+
39
42
  protected readonly removeRecentWorkspaceButton: QuickInputButton = {
40
43
  iconClass: 'codicon-remove-close',
41
44
  tooltip: nls.localizeByDefault('Remove from Recently Opened')
@@ -51,7 +54,8 @@ export class QuickOpenWorkspace {
51
54
 
52
55
  for (const workspace of workspaces) {
53
56
  const uri = new URI(workspace);
54
- const label = uri.path.base;
57
+ const label = await this.workspaceOpenHandlers.getContributions()
58
+ .find(handler => handler.getWorkspaceLabel && handler.canHandle(uri))?.getWorkspaceLabel?.(uri) ?? uri.path.base;
55
59
  if (!label || this.untitledWorkspaceService.isUntitledWorkspace(uri)) {
56
60
  continue; // skip temporary workspace files & empty workspace names
57
61
  }
@@ -15,7 +15,7 @@
15
15
  // *****************************************************************************
16
16
 
17
17
  import { ContainerModule, interfaces } from '@theia/core/shared/inversify';
18
- import { CommandContribution, MenuContribution } from '@theia/core/lib/common';
18
+ import { CommandContribution, MenuContribution, bindContributionProvider } from '@theia/core/lib/common';
19
19
  import { WebSocketConnectionProvider, FrontendApplicationContribution, KeybindingContribution } from '@theia/core/lib/browser';
20
20
  import {
21
21
  OpenFileDialogFactory,
@@ -32,7 +32,7 @@ import { LabelProviderContribution } from '@theia/core/lib/browser/label-provide
32
32
  import { VariableContribution } from '@theia/variable-resolver/lib/browser';
33
33
  import { WorkspaceServer, workspacePath, UntitledWorkspaceService, WorkspaceFileService } from '../common';
34
34
  import { WorkspaceFrontendContribution } from './workspace-frontend-contribution';
35
- import { WorkspaceService } from './workspace-service';
35
+ import { WorkspaceOpenHandlerContribution, WorkspaceService } from './workspace-service';
36
36
  import { WorkspaceCommandContribution, FileMenuContribution, EditMenuContribution } from './workspace-commands';
37
37
  import { WorkspaceVariableContribution } from './workspace-variable-contribution';
38
38
  import { WorkspaceStorageService } from './workspace-storage-service';
@@ -59,9 +59,11 @@ import { CanonicalUriService } from './canonical-uri-service';
59
59
  export default new ContainerModule((bind: interfaces.Bind, unbind: interfaces.Unbind, isBound: interfaces.IsBound, rebind: interfaces.Rebind) => {
60
60
  bindWorkspacePreferences(bind);
61
61
  bindWorkspaceTrustPreferences(bind);
62
+ bindContributionProvider(bind, WorkspaceOpenHandlerContribution);
62
63
 
63
64
  bind(WorkspaceService).toSelf().inSingletonScope();
64
65
  bind(FrontendApplicationContribution).toService(WorkspaceService);
66
+
65
67
  bind(CanonicalUriService).toSelf().inSingletonScope();
66
68
  bind(WorkspaceServer).toDynamicValue(ctx => {
67
69
  const provider = ctx.container.get(WebSocketConnectionProvider);
@@ -14,7 +14,7 @@
14
14
  // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
15
15
  // *****************************************************************************
16
16
 
17
- import { injectable, inject, postConstruct } from '@theia/core/shared/inversify';
17
+ import { injectable, inject, postConstruct, named } from '@theia/core/shared/inversify';
18
18
  import URI from '@theia/core/lib/common/uri';
19
19
  import { WorkspaceServer, UntitledWorkspaceService, WorkspaceFileService } from '../common';
20
20
  import { WindowService } from '@theia/core/lib/browser/window/window-service';
@@ -24,7 +24,7 @@ import {
24
24
  } from '@theia/core/lib/browser';
25
25
  import { Deferred } from '@theia/core/lib/common/promise-util';
26
26
  import { EnvVariablesServer } from '@theia/core/lib/common/env-variables';
27
- import { ILogger, Disposable, DisposableCollection, Emitter, Event, MaybePromise, MessageService, nls } from '@theia/core';
27
+ import { ILogger, Disposable, DisposableCollection, Emitter, Event, MaybePromise, MessageService, nls, ContributionProvider } from '@theia/core';
28
28
  import { WorkspacePreferences } from './workspace-preferences';
29
29
  import * as jsoncparser from 'jsonc-parser';
30
30
  import * as Ajv from '@theia/core/shared/ajv';
@@ -36,11 +36,19 @@ import { workspaceSchema, WorkspaceSchemaUpdater } from './workspace-schema-upda
36
36
  import { IJSONSchema } from '@theia/core/lib/common/json-schema';
37
37
  import { StopReason } from '@theia/core/lib/common/frontend-application-state';
38
38
 
39
+ export const WorkspaceOpenHandlerContribution = Symbol('WorkspaceOpenHandlerContribution');
40
+
41
+ export interface WorkspaceOpenHandlerContribution {
42
+ canHandle(uri: URI): MaybePromise<boolean>;
43
+ openWorkspace(uri: URI, options?: WorkspaceInput): MaybePromise<void>;
44
+ getWorkspaceLabel?(uri: URI): MaybePromise<string | undefined>;
45
+ }
46
+
39
47
  /**
40
48
  * The workspace service.
41
49
  */
42
50
  @injectable()
43
- export class WorkspaceService implements FrontendApplicationContribution {
51
+ export class WorkspaceService implements FrontendApplicationContribution, WorkspaceOpenHandlerContribution {
44
52
 
45
53
  protected _workspace: FileStat | undefined;
46
54
 
@@ -92,6 +100,9 @@ export class WorkspaceService implements FrontendApplicationContribution {
92
100
  @inject(WindowTitleService)
93
101
  protected readonly windowTitleService: WindowTitleService;
94
102
 
103
+ @inject(ContributionProvider) @named(WorkspaceOpenHandlerContribution)
104
+ protected readonly openHandlerContribution: ContributionProvider<WorkspaceOpenHandlerContribution>;
105
+
95
106
  protected _ready = new Deferred<void>();
96
107
  get ready(): Promise<void> {
97
108
  return this._ready.promise;
@@ -350,7 +361,21 @@ export class WorkspaceService implements FrontendApplicationContribution {
350
361
  this.doOpen(uri, options);
351
362
  }
352
363
 
353
- protected async doOpen(uri: URI, options?: WorkspaceInput): Promise<URI | undefined> {
364
+ protected async doOpen(uri: URI, options?: WorkspaceInput): Promise<void> {
365
+ for (const handler of [...this.openHandlerContribution.getContributions(), this]) {
366
+ if (await handler.canHandle(uri)) {
367
+ handler.openWorkspace(uri, options);
368
+ return;
369
+ }
370
+ }
371
+ throw new Error(`Could not find a handler to open the workspace with uri ${uri.toString()}.`);
372
+ }
373
+
374
+ async canHandle(uri: URI): Promise<boolean> {
375
+ return uri.scheme === 'file';
376
+ }
377
+
378
+ async openWorkspace(uri: URI, options?: WorkspaceInput): Promise<void> {
354
379
  const stat = await this.toFileStat(uri);
355
380
  if (stat) {
356
381
  if (!stat.isDirectory && !this.isWorkspaceFile(stat)) {
@@ -14,16 +14,18 @@
14
14
  // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
15
15
  // *****************************************************************************
16
16
 
17
- import { Container } from '@theia/core/shared/inversify';
17
+ import { Container, ContainerModule } from '@theia/core/shared/inversify';
18
18
  import { MockEnvVariablesServerImpl } from '@theia/core/lib/browser/test/mock-env-variables-server';
19
19
  import { EnvVariablesServer } from '@theia/core/lib/common/env-variables';
20
20
  import URI from '@theia/core/lib/common/uri';
21
21
  import { FileUri } from '@theia/core/lib/node';
22
22
  import { WorkspaceFileService, UntitledWorkspaceService } from '../common';
23
- import { DefaultWorkspaceServer, WorkspaceCliContribution } from './default-workspace-server';
23
+ import { DefaultWorkspaceServer, FileWorkspaceHandlerContribution, WorkspaceCliContribution, WorkspaceHandlerContribution } from './default-workspace-server';
24
24
  import { expect } from 'chai';
25
25
  import * as temp from 'temp';
26
26
  import * as fs from 'fs';
27
+ import { ILogger, bindContributionProvider } from '@theia/core';
28
+ import { MockLogger } from '@theia/core/lib/common/test/mock-logger';
27
29
 
28
30
  describe('DefaultWorkspaceServer', function (): void {
29
31
 
@@ -40,12 +42,21 @@ describe('DefaultWorkspaceServer', function (): void {
40
42
 
41
43
  // create a container with the necessary bindings for the DefaultWorkspaceServer
42
44
  const container = new Container();
43
- container.bind(WorkspaceCliContribution).toSelf().inSingletonScope();
44
- container.bind(DefaultWorkspaceServer).toSelf().inSingletonScope();
45
- container.bind(WorkspaceFileService).toSelf().inSingletonScope();
46
- container.bind(UntitledWorkspaceService).toSelf().inSingletonScope();
47
- container.bind(EnvVariablesServer).toConstantValue(new MockEnvVariablesServerImpl(tmpConfigDir));
48
-
45
+ const containerModule = new ContainerModule(bind => {
46
+ /* Mock logger binding*/
47
+ bind(ILogger).to(MockLogger);
48
+
49
+ bindContributionProvider(bind, WorkspaceHandlerContribution);
50
+ bind(FileWorkspaceHandlerContribution).toSelf().inSingletonScope();
51
+ bind(WorkspaceHandlerContribution).toService(FileWorkspaceHandlerContribution);
52
+ bind(WorkspaceCliContribution).toSelf().inSingletonScope();
53
+ bind(DefaultWorkspaceServer).toSelf().inSingletonScope();
54
+ bind(WorkspaceFileService).toSelf().inSingletonScope();
55
+ bind(UntitledWorkspaceService).toSelf().inSingletonScope();
56
+ bind(EnvVariablesServer).toConstantValue(new MockEnvVariablesServerImpl(tmpConfigDir));
57
+ });
58
+
59
+ container.load(containerModule);
49
60
  workspaceServer = container.get(DefaultWorkspaceServer);
50
61
  });
51
62
 
@@ -18,15 +18,20 @@ import * as path from 'path';
18
18
  import * as yargs from '@theia/core/shared/yargs';
19
19
  import * as fs from '@theia/core/shared/fs-extra';
20
20
  import * as jsoncparser from 'jsonc-parser';
21
- import { injectable, inject, postConstruct } from '@theia/core/shared/inversify';
21
+ import { injectable, inject, postConstruct, named } from '@theia/core/shared/inversify';
22
22
  import { FileUri, BackendApplicationContribution } from '@theia/core/lib/node';
23
23
  import { CliContribution } from '@theia/core/lib/node/cli';
24
24
  import { Deferred } from '@theia/core/lib/common/promise-util';
25
25
  import { WorkspaceServer, UntitledWorkspaceService } from '../common';
26
26
  import { EnvVariablesServer } from '@theia/core/lib/common/env-variables';
27
27
  import URI from '@theia/core/lib/common/uri';
28
- import { notEmpty } from '@theia/core';
28
+ import { ContributionProvider, notEmpty } from '@theia/core';
29
29
 
30
+ export const WorkspaceHandlerContribution = Symbol('workspaceHandlerContribution');
31
+ export interface WorkspaceHandlerContribution {
32
+ canHandle(uri: URI): boolean;
33
+ workspaceStillExists(uri: URI): Promise<boolean>;
34
+ }
30
35
  @injectable()
31
36
  export class WorkspaceCliContribution implements CliContribution {
32
37
 
@@ -101,6 +106,9 @@ export class DefaultWorkspaceServer implements WorkspaceServer, BackendApplicati
101
106
  @inject(UntitledWorkspaceService)
102
107
  protected readonly untitledWorkspaceService: UntitledWorkspaceService;
103
108
 
109
+ @inject(ContributionProvider) @named(WorkspaceHandlerContribution)
110
+ protected readonly workspaceHandlers: ContributionProvider<WorkspaceHandlerContribution>;
111
+
104
112
  @postConstruct()
105
113
  protected init(): void {
106
114
  this.doInit();
@@ -162,11 +170,13 @@ export class DefaultWorkspaceServer implements WorkspaceServer, BackendApplicati
162
170
 
163
171
  protected async workspaceStillExist(workspaceRootUri: string): Promise<boolean> {
164
172
  const uri = new URI(workspaceRootUri);
165
- // Non file system workspaces cannot be checked for existence
166
- if (uri.scheme !== 'file') {
167
- return false;
173
+
174
+ for (const handler of this.workspaceHandlers.getContributions()) {
175
+ if (handler.canHandle(uri)) {
176
+ return handler.workspaceStillExists(uri);
177
+ }
168
178
  }
169
- return fs.pathExists(uri.path.fsPath());
179
+ return false;
170
180
  }
171
181
 
172
182
  protected async getWorkspaceURIFromCli(): Promise<string | undefined> {
@@ -228,6 +238,18 @@ export class DefaultWorkspaceServer implements WorkspaceServer, BackendApplicati
228
238
  }
229
239
  }
230
240
 
241
+ @injectable()
242
+ export class FileWorkspaceHandlerContribution implements WorkspaceHandlerContribution {
243
+
244
+ canHandle(uri: URI): boolean {
245
+ return uri.scheme === 'file';
246
+ }
247
+
248
+ async workspaceStillExists(uri: URI): Promise<boolean> {
249
+ return fs.pathExists(uri.path.fsPath());
250
+ }
251
+ }
252
+
231
253
  export interface RecentWorkspacePathsData {
232
254
  recentRoots: string[];
233
255
  }
@@ -15,9 +15,9 @@
15
15
  // *****************************************************************************
16
16
 
17
17
  import { ContainerModule } from '@theia/core/shared/inversify';
18
- import { ConnectionHandler, RpcConnectionHandler } from '@theia/core/lib/common';
18
+ import { ConnectionHandler, RpcConnectionHandler, bindContributionProvider } from '@theia/core/lib/common';
19
19
  import { WorkspaceServer, workspacePath, UntitledWorkspaceService, WorkspaceFileService } from '../common';
20
- import { DefaultWorkspaceServer, WorkspaceCliContribution } from './default-workspace-server';
20
+ import { DefaultWorkspaceServer, FileWorkspaceHandlerContribution, WorkspaceCliContribution, WorkspaceHandlerContribution } from './default-workspace-server';
21
21
  import { CliContribution } from '@theia/core/lib/node/cli';
22
22
  import { BackendApplicationContribution } from '@theia/core/lib/node';
23
23
 
@@ -30,6 +30,11 @@ export default new ContainerModule(bind => {
30
30
  bind(UntitledWorkspaceService).toSelf().inSingletonScope();
31
31
  bind(WorkspaceFileService).toSelf().inSingletonScope();
32
32
 
33
+ bindContributionProvider(bind, WorkspaceHandlerContribution);
34
+
35
+ bind(FileWorkspaceHandlerContribution).toSelf().inSingletonScope();
36
+ bind(WorkspaceHandlerContribution).toService(FileWorkspaceHandlerContribution);
37
+
33
38
  bind(ConnectionHandler).toDynamicValue(ctx =>
34
39
  new RpcConnectionHandler(workspacePath, () =>
35
40
  ctx.container.get(WorkspaceServer)