@theia/workspace 1.18.0-next.a7d63a0f → 1.18.0-next.aed98766

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.
@@ -0,0 +1,26 @@
1
+ /********************************************************************************
2
+ * Copyright (C) 2019 TypeFox 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 WITH Classpath-exception-2.0
15
+ ********************************************************************************/
16
+ import { FilepathBreadcrumb } from '@theia/filesystem/lib/browser/breadcrumbs/filepath-breadcrumb';
17
+ import { FilepathBreadcrumbClassNameFactory, FilepathBreadcrumbsContribution } from '@theia/filesystem/lib/browser/breadcrumbs/filepath-breadcrumbs-contribution';
18
+ import { WorkspaceService } from './workspace-service';
19
+ import URI from '@theia/core/lib/common/uri';
20
+ export declare class WorkspaceBreadcrumbsContribution extends FilepathBreadcrumbsContribution {
21
+ protected readonly workspaceService: WorkspaceService;
22
+ getContainerClassCreator(fileURI: URI): FilepathBreadcrumbClassNameFactory;
23
+ getIconClassCreator(fileURI: URI): FilepathBreadcrumbClassNameFactory;
24
+ protected filterBreadcrumbs(uri: URI, breadcrumb: FilepathBreadcrumb): boolean;
25
+ }
26
+ //# sourceMappingURL=workspace-breadcrumbs-contribution.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspace-breadcrumbs-contribution.d.ts","sourceRoot":"","sources":["../../src/browser/workspace-breadcrumbs-contribution.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAElF,OAAO,EAAE,kBAAkB,EAAE,MAAM,+DAA+D,CAAC;AACnG,OAAO,EAAE,kCAAkC,EAAE,+BAA+B,EAAE,MAAM,6EAA6E,CAAC;AAElK,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,GAAG,MAAM,4BAA4B,CAAC;AAE7C,qBACa,gCAAiC,SAAQ,+BAA+B;IAGjF,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IAEtD,wBAAwB,CAAC,OAAO,EAAE,GAAG,GAAG,kCAAkC;IAY1E,mBAAmB,CAAC,OAAO,EAAE,GAAG,GAAG,kCAAkC;IAUrE,SAAS,CAAC,iBAAiB,CAAC,GAAG,EAAE,GAAG,EAAE,UAAU,EAAE,kBAAkB,GAAG,OAAO;CAKjF"}
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+ /********************************************************************************
3
+ * Copyright (C) 2019 TypeFox 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 WITH Classpath-exception-2.0
16
+ ********************************************************************************/
17
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
18
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
19
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
20
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
21
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
22
+ };
23
+ var __metadata = (this && this.__metadata) || function (k, v) {
24
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
25
+ };
26
+ Object.defineProperty(exports, "__esModule", { value: true });
27
+ exports.WorkspaceBreadcrumbsContribution = void 0;
28
+ const filepath_breadcrumbs_contribution_1 = require("@theia/filesystem/lib/browser/breadcrumbs/filepath-breadcrumbs-contribution");
29
+ const inversify_1 = require("@theia/core/shared/inversify");
30
+ const workspace_service_1 = require("./workspace-service");
31
+ let WorkspaceBreadcrumbsContribution = class WorkspaceBreadcrumbsContribution extends filepath_breadcrumbs_contribution_1.FilepathBreadcrumbsContribution {
32
+ getContainerClassCreator(fileURI) {
33
+ const workspaceRoot = this.workspaceService.getWorkspaceRootUri(fileURI);
34
+ return (location, index) => {
35
+ if (location.isEqual(fileURI)) {
36
+ return 'file';
37
+ }
38
+ else if (workspaceRoot === null || workspaceRoot === void 0 ? void 0 : workspaceRoot.isEqual(location)) {
39
+ return 'root_folder';
40
+ }
41
+ return 'folder';
42
+ };
43
+ }
44
+ getIconClassCreator(fileURI) {
45
+ const workspaceRoot = this.workspaceService.getWorkspaceRootUri(fileURI);
46
+ return (location, index) => {
47
+ if (location.isEqual(fileURI) || (workspaceRoot === null || workspaceRoot === void 0 ? void 0 : workspaceRoot.isEqual(location))) {
48
+ return this.labelProvider.getIcon(location) + ' file-icon';
49
+ }
50
+ return '';
51
+ };
52
+ }
53
+ filterBreadcrumbs(uri, breadcrumb) {
54
+ const workspaceRootUri = this.workspaceService.getWorkspaceRootUri(uri);
55
+ const firstCrumbToHide = this.workspaceService.isMultiRootWorkspaceOpened ? workspaceRootUri === null || workspaceRootUri === void 0 ? void 0 : workspaceRootUri.parent : workspaceRootUri;
56
+ return super.filterBreadcrumbs(uri, breadcrumb) && (!firstCrumbToHide || !breadcrumb.uri.isEqualOrParent(firstCrumbToHide));
57
+ }
58
+ };
59
+ __decorate([
60
+ inversify_1.inject(workspace_service_1.WorkspaceService),
61
+ __metadata("design:type", workspace_service_1.WorkspaceService)
62
+ ], WorkspaceBreadcrumbsContribution.prototype, "workspaceService", void 0);
63
+ WorkspaceBreadcrumbsContribution = __decorate([
64
+ inversify_1.injectable()
65
+ ], WorkspaceBreadcrumbsContribution);
66
+ exports.WorkspaceBreadcrumbsContribution = WorkspaceBreadcrumbsContribution;
67
+ //# sourceMappingURL=workspace-breadcrumbs-contribution.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspace-breadcrumbs-contribution.js","sourceRoot":"","sources":["../../src/browser/workspace-breadcrumbs-contribution.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;kFAckF;;;;;;;;;;;;AAGlF,mIAAkK;AAClK,4DAAkE;AAClE,2DAAuD;AAIvD,IAAa,gCAAgC,GAA7C,MAAa,gCAAiC,SAAQ,mEAA+B;IAKjF,wBAAwB,CAAC,OAAY;QACjC,MAAM,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;QACzE,OAAO,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE;YACvB,IAAI,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;gBAC3B,OAAO,MAAM,CAAC;aACjB;iBAAM,IAAI,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,OAAO,CAAC,QAAQ,GAAG;gBACzC,OAAO,aAAa,CAAC;aACxB;YACD,OAAO,QAAQ,CAAC;QACpB,CAAC,CAAC;IACN,CAAC;IAED,mBAAmB,CAAC,OAAY;QAC5B,MAAM,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;QACzE,OAAO,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE;YACvB,IAAI,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,KAAI,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,OAAO,CAAC,QAAQ,EAAC,EAAE;gBAC/D,OAAO,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,YAAY,CAAC;aAC9D;YACD,OAAO,EAAE,CAAC;QACd,CAAC,CAAC;IACN,CAAC;IAES,iBAAiB,CAAC,GAAQ,EAAE,UAA8B;QAChE,MAAM,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;QACxE,MAAM,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC,0BAA0B,CAAC,CAAC,CAAC,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,MAAM,CAAC,CAAC,CAAC,gBAAgB,CAAC;QACxH,OAAO,KAAK,CAAC,iBAAiB,CAAC,GAAG,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,gBAAgB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,eAAe,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAChI,CAAC;CACJ,CAAA;AA7BG;IADC,kBAAM,CAAC,oCAAgB,CAAC;8BACY,oCAAgB;0EAAC;AAH7C,gCAAgC;IAD5C,sBAAU,EAAE;GACA,gCAAgC,CAgC5C;AAhCY,4EAAgC"}
@@ -1 +1 @@
1
- {"version":3,"file":"workspace-frontend-module.d.ts","sourceRoot":"","sources":["../../src/browser/workspace-frontend-module.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAElF,OAAO,EAAE,eAAe,EAAc,MAAM,8BAA8B,CAAC;;AAiC3E,wBAiDG"}
1
+ {"version":3,"file":"workspace-frontend-module.d.ts","sourceRoot":"","sources":["../../src/browser/workspace-frontend-module.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAElF,OAAO,EAAE,eAAe,EAAc,MAAM,8BAA8B,CAAC;;AAmC3E,wBAkDG"}
@@ -38,6 +38,8 @@ const workspace_compare_handler_1 = require("./workspace-compare-handler");
38
38
  const diff_service_1 = require("./diff-service");
39
39
  const json_schema_store_1 = require("@theia/core/lib/browser/json-schema-store");
40
40
  const workspace_schema_updater_1 = require("./workspace-schema-updater");
41
+ const workspace_breadcrumbs_contribution_1 = require("./workspace-breadcrumbs-contribution");
42
+ const filepath_breadcrumbs_contribution_1 = require("@theia/filesystem/lib/browser/breadcrumbs/filepath-breadcrumbs-contribution");
41
43
  exports.default = new inversify_1.ContainerModule((bind, unbind, isBound, rebind) => {
42
44
  workspace_preferences_1.bindWorkspacePreferences(bind);
43
45
  bind(workspace_service_1.WorkspaceService).toSelf().inSingletonScope();
@@ -71,5 +73,6 @@ exports.default = new inversify_1.ContainerModule((bind, unbind, isBound, rebind
71
73
  bind(workspace_utils_1.WorkspaceUtils).toSelf().inSingletonScope();
72
74
  bind(workspace_schema_updater_1.WorkspaceSchemaUpdater).toSelf().inSingletonScope();
73
75
  bind(json_schema_store_1.JsonSchemaContribution).toService(workspace_schema_updater_1.WorkspaceSchemaUpdater);
76
+ rebind(filepath_breadcrumbs_contribution_1.FilepathBreadcrumbsContribution).to(workspace_breadcrumbs_contribution_1.WorkspaceBreadcrumbsContribution).inSingletonScope();
74
77
  });
75
78
  //# sourceMappingURL=workspace-frontend-module.js.map
@@ -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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"}
@@ -1 +1 @@
1
- {"version":3,"file":"workspace-input-dialog.d.ts","sourceRoot":"","sources":["../../src/browser/workspace-input-dialog.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAGlF,OAAO,GAAG,MAAM,4BAA4B,CAAC;AAC7C,OAAO,EAAE,qBAAqB,EAAE,0BAA0B,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAE3G,qBACa,yBAA0B,SAAQ,0BAA0B;IACrE;;;OAGG;IACH,SAAS,EAAE,GAAG,CAAC;CAClB;AAED,qBAAa,oBAAqB,SAAQ,qBAAqB;IAGpB,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,yBAAyB;IAC/D,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa;gBADhB,KAAK,EAAE,yBAAyB,EAC5C,aAAa,EAAE,aAAa;IAM1E;;;OAGG;IACH,SAAS,CAAC,gBAAgB,IAAI,IAAI;CAarC"}
1
+ {"version":3,"file":"workspace-input-dialog.d.ts","sourceRoot":"","sources":["../../src/browser/workspace-input-dialog.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAGlF,OAAO,GAAG,MAAM,4BAA4B,CAAC;AAC7C,OAAO,EAAE,qBAAqB,EAAE,0BAA0B,EAAE,aAAa,EAAgB,MAAM,yBAAyB,CAAC;AAEzH,qBACa,yBAA0B,SAAQ,0BAA0B;IACrE;;;OAGG;IACH,SAAS,EAAE,GAAG,CAAC;CAClB;AAED,qBAAa,oBAAqB,SAAQ,qBAAqB;IAGpB,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,yBAAyB;IAC/D,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa;gBADhB,KAAK,EAAE,yBAAyB,EAC5C,aAAa,EAAE,aAAa;IAM1E;;;OAGG;IACH,SAAS,CAAC,gBAAgB,IAAI,IAAI;CAarC"}
@@ -53,7 +53,7 @@ let WorkspaceInputDialog = class WorkspaceInputDialog extends browser_1.SingleTe
53
53
  const element = document.createElement('div');
54
54
  // Create the `folder` icon.
55
55
  const icon = document.createElement('i');
56
- icon.classList.add('fa', 'fa-folder');
56
+ icon.classList.add(...browser_1.codiconArray('folder'));
57
57
  icon.style.marginRight = '0.5em';
58
58
  element.appendChild(icon);
59
59
  element.appendChild(document.createTextNode(label));
@@ -1 +1 @@
1
- {"version":3,"file":"workspace-input-dialog.js","sourceRoot":"","sources":["../../src/browser/workspace-input-dialog.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;kFAckF;;;;;;;;;;;;;;;AAElF,4DAAkE;AAElE,qDAA2G;AAG3G,IAAa,yBAAyB,GAAtC,MAAa,yBAA0B,SAAQ,oCAA0B;CAMxE,CAAA;AANY,yBAAyB;IADrC,sBAAU,EAAE;GACA,yBAAyB,CAMrC;AANY,8DAAyB;AAQtC,IAAa,oBAAoB,GAAjC,MAAa,oBAAqB,SAAQ,+BAAqB;IAE3D,YAC0D,KAAgC,EAC5C,aAA4B;QAEtE,KAAK,CAAC,KAAK,CAAC,CAAC;QAHyC,UAAK,GAAL,KAAK,CAA2B;QAC5C,kBAAa,GAAb,aAAa,CAAe;QAGtE,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC5B,CAAC;IAED;;;OAGG;IACO,gBAAgB;QACtB,wCAAwC;QACxC,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACnE,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC9C,4BAA4B;QAC5B,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QACzC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QACtC,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,OAAO,CAAC;QACjC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAC1B,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC;QACpD,qDAAqD;QACrD,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IAC5D,CAAC;CACJ,CAAA;AA3BY,oBAAoB;IAGxB,WAAA,kBAAM,CAAC,yBAAyB,CAAC,CAAA;IACjC,WAAA,kBAAM,CAAC,uBAAa,CAAC,CAAA;qCADuC,yBAAyB;QAC7B,uBAAa;GAJjE,oBAAoB,CA2BhC;AA3BY,oDAAoB"}
1
+ {"version":3,"file":"workspace-input-dialog.js","sourceRoot":"","sources":["../../src/browser/workspace-input-dialog.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;kFAckF;;;;;;;;;;;;;;;AAElF,4DAAkE;AAElE,qDAAyH;AAGzH,IAAa,yBAAyB,GAAtC,MAAa,yBAA0B,SAAQ,oCAA0B;CAMxE,CAAA;AANY,yBAAyB;IADrC,sBAAU,EAAE;GACA,yBAAyB,CAMrC;AANY,8DAAyB;AAQtC,IAAa,oBAAoB,GAAjC,MAAa,oBAAqB,SAAQ,+BAAqB;IAE3D,YAC0D,KAAgC,EAC5C,aAA4B;QAEtE,KAAK,CAAC,KAAK,CAAC,CAAC;QAHyC,UAAK,GAAL,KAAK,CAA2B;QAC5C,kBAAa,GAAb,aAAa,CAAe;QAGtE,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC5B,CAAC;IAED;;;OAGG;IACO,gBAAgB;QACtB,wCAAwC;QACxC,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACnE,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC9C,4BAA4B;QAC5B,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QACzC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,sBAAY,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC9C,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,OAAO,CAAC;QACjC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAC1B,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC;QACpD,qDAAqD;QACrD,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IAC5D,CAAC;CACJ,CAAA;AA3BY,oBAAoB;IAGxB,WAAA,kBAAM,CAAC,yBAAyB,CAAC,CAAA;IACjC,WAAA,kBAAM,CAAC,uBAAa,CAAC,CAAA;qCADuC,yBAAyB;QAC7B,uBAAa;GAJjE,oBAAoB,CA2BhC;AA3BY,oDAAoB"}
@@ -1 +1 @@
1
- {"version":3,"file":"workspace-uri-contribution.d.ts","sourceRoot":"","sources":["../../src/browser/workspace-uri-contribution.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAElF,OAAO,EAAE,mCAAmC,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAC/G,OAAO,GAAG,MAAM,4BAA4B,CAAC;AAE7C,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AAC9D,OAAO,EAAE,6BAA6B,EAAE,MAAM,mCAAmC,CAAC;AAElF,qBACa,qCAAsC,SAAQ,mCAAmC;IAG1F,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,6BAA6B,CAAC;IAG9D,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAI3B,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAOlC,OAAO,CAAC,OAAO,EAAE,GAAG,GAAG,gBAAgB,GAAG,QAAQ,GAAG,MAAM;IAI3D,OAAO,CAAC,OAAO,EAAE,GAAG,GAAG,gBAAgB,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS;IAIvE;;OAEG;IACH,WAAW,CAAC,OAAO,EAAE,GAAG,GAAG,gBAAgB,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS;IAY3E,SAAS,CAAC,kBAAkB,CAAC,OAAO,EAAE,GAAG,GAAG,gBAAgB,GAAG,QAAQ,GAAG,GAAG,GAAG,gBAAgB;IAOhG,SAAS,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,GAAG,gBAAgB,GAAG,QAAQ,GAAG,GAAG,GAAG,SAAS;CAMhF"}
1
+ {"version":3,"file":"workspace-uri-contribution.d.ts","sourceRoot":"","sources":["../../src/browser/workspace-uri-contribution.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAElF,OAAO,EAAE,mCAAmC,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAC/G,OAAO,GAAG,MAAM,4BAA4B,CAAC;AAE7C,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AAC9D,OAAO,EAAE,6BAA6B,EAAE,MAAM,mCAAmC,CAAC;AAElF,qBACa,qCAAsC,SAAQ,mCAAmC;IAG1F,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,6BAA6B,CAAC;IAG9D,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAI3B,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAOlC,OAAO,CAAC,OAAO,EAAE,GAAG,GAAG,gBAAgB,GAAG,QAAQ,GAAG,MAAM;IAQ3D,OAAO,CAAC,OAAO,EAAE,GAAG,GAAG,gBAAgB,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS;IAIvE;;OAEG;IACH,WAAW,CAAC,OAAO,EAAE,GAAG,GAAG,gBAAgB,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS;IAY3E,SAAS,CAAC,kBAAkB,CAAC,OAAO,EAAE,GAAG,GAAG,gBAAgB,GAAG,QAAQ,GAAG,GAAG,GAAG,gBAAgB;IAOhG,SAAS,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,GAAG,gBAAgB,GAAG,QAAQ,GAAG,GAAG,GAAG,SAAS;CAMhF"}
@@ -41,6 +41,11 @@ let WorkspaceUriLabelProviderContribution = class WorkspaceUriLabelProviderContr
41
41
  return 0;
42
42
  }
43
43
  getIcon(element) {
44
+ var _a;
45
+ const uri = this.getUri(element);
46
+ if (uri && ((_a = this.workspaceVariable.getWorkspaceRootUri(uri)) === null || _a === void 0 ? void 0 : _a.isEqual(uri))) {
47
+ return 'rootfolder-icon';
48
+ }
44
49
  return super.getIcon(this.asURIIconReference(element));
45
50
  }
46
51
  getName(element) {
@@ -1 +1 @@
1
- {"version":3,"file":"workspace-uri-contribution.js","sourceRoot":"","sources":["../../src/browser/workspace-uri-contribution.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;kFAckF;;;;;;;;;;;;AAElF,2EAA+G;AAC/G,oDAA6C;AAC7C,4DAAiF;AACjF,8DAA8D;AAC9D,uFAAkF;AAGlF,IAAa,qCAAqC,GAAlD,MAAa,qCAAsC,SAAQ,oDAAmC;IAM1F,KAAK,CAAC,IAAI;QACN,gCAAgC;IACpC,CAAC;IAED,SAAS,CAAC,OAAe;QACrB,IAAI,CAAC,OAAO,YAAY,aAAG,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,IAAI,iCAAgB,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,gBAAQ,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,EAAE;YAC/G,OAAO,EAAE,CAAC;SACb;QACD,OAAO,CAAC,CAAC;IACb,CAAC;IAED,OAAO,CAAC,OAA0C;QAC9C,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3D,CAAC;IAED,OAAO,CAAC,OAA0C;QAC9C,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3D,CAAC;IAED;;OAEG;IACH,WAAW,CAAC,OAA0C;QAClD,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACjC,IAAI,GAAG,EAAE;YACL,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;YAC5C,IAAI,UAAU,EAAE;gBACZ,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;aAC1C;SACJ;QACD,MAAM,YAAY,GAAG,GAAG,IAAI,IAAI,CAAC,iBAAiB,CAAC,wBAAwB,CAAC,GAAG,CAAC,CAAC;QACjF,OAAO,YAAY,IAAI,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC;IAC/E,CAAC;IAES,kBAAkB,CAAC,OAA0C;QACnE,IAAI,gBAAQ,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE;YACtB,OAAO,iCAAgB,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;SAC7F;QACD,OAAO,OAAO,CAAC;IACnB,CAAC;IAES,MAAM,CAAC,OAA0C;QACvD,IAAI,gBAAQ,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE;YACtB,OAAO,OAAO,CAAC,QAAQ,CAAC;SAC3B;QACD,OAAO,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACjC,CAAC;CACJ,CAAA;AAlDG;IADC,kBAAM,CAAC,+DAA6B,CAAC;8BACA,+DAA6B;gFAAC;AAGpE;IADC,yBAAa,EAAE;;;;iEAGf;AARQ,qCAAqC;IADjD,sBAAU,EAAE;GACA,qCAAqC,CAqDjD;AArDY,sFAAqC"}
1
+ {"version":3,"file":"workspace-uri-contribution.js","sourceRoot":"","sources":["../../src/browser/workspace-uri-contribution.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;kFAckF;;;;;;;;;;;;AAElF,2EAA+G;AAC/G,oDAA6C;AAC7C,4DAAiF;AACjF,8DAA8D;AAC9D,uFAAkF;AAGlF,IAAa,qCAAqC,GAAlD,MAAa,qCAAsC,SAAQ,oDAAmC;IAM1F,KAAK,CAAC,IAAI;QACN,gCAAgC;IACpC,CAAC;IAED,SAAS,CAAC,OAAe;QACrB,IAAI,CAAC,OAAO,YAAY,aAAG,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,IAAI,iCAAgB,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,gBAAQ,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,EAAE;YAC/G,OAAO,EAAE,CAAC;SACb;QACD,OAAO,CAAC,CAAC;IACb,CAAC;IAED,OAAO,CAAC,OAA0C;;QAC9C,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACjC,IAAI,GAAG,WAAI,IAAI,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,GAAG,CAAC,0CAAE,OAAO,CAAC,GAAG,EAAC,EAAE;YACtE,OAAO,iBAAiB,CAAC;SAC5B;QACD,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3D,CAAC;IAED,OAAO,CAAC,OAA0C;QAC9C,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3D,CAAC;IAED;;OAEG;IACH,WAAW,CAAC,OAA0C;QAClD,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACjC,IAAI,GAAG,EAAE;YACL,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;YAC5C,IAAI,UAAU,EAAE;gBACZ,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;aAC1C;SACJ;QACD,MAAM,YAAY,GAAG,GAAG,IAAI,IAAI,CAAC,iBAAiB,CAAC,wBAAwB,CAAC,GAAG,CAAC,CAAC;QACjF,OAAO,YAAY,IAAI,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC;IAC/E,CAAC;IAES,kBAAkB,CAAC,OAA0C;QACnE,IAAI,gBAAQ,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE;YACtB,OAAO,iCAAgB,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;SAC7F;QACD,OAAO,OAAO,CAAC;IACnB,CAAC;IAES,MAAM,CAAC,OAA0C;QACvD,IAAI,gBAAQ,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE;YACtB,OAAO,OAAO,CAAC,QAAQ,CAAC;SAC3B;QACD,OAAO,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACjC,CAAC;CACJ,CAAA;AAtDG;IADC,kBAAM,CAAC,+DAA6B,CAAC;8BACA,+DAA6B;gFAAC;AAGpE;IADC,yBAAa,EAAE;;;;iEAGf;AARQ,qCAAqC;IADjD,sBAAU,EAAE;GACA,qCAAqC,CAyDjD;AAzDY,sFAAqC"}
@@ -89,12 +89,12 @@ describe('WorkspaceUriLabelProviderContribution class', () => {
89
89
  stubs.push(sinon.stub(label_provider_1.DefaultUriLabelProviderContribution.prototype, 'getFileIcon').returns(undefined));
90
90
  chai_1.expect(labelProvider.getIcon(files_1.FileStat.file('file:///home/test'))).eq(labelProvider.defaultFileIcon);
91
91
  });
92
- it('should return folder icon from a folder URI', async () => {
92
+ it('should return folder icon from a folder FileStat', async () => {
93
93
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
94
94
  stubs.push(sinon.stub(label_provider_1.DefaultUriLabelProviderContribution.prototype, 'getFileIcon').returns(undefined));
95
95
  chai_1.expect(labelProvider.getIcon(files_1.FileStat.dir('file:///home/test'))).eq(labelProvider.defaultFolderIcon);
96
96
  });
97
- it('should return file icon from a file URI', async () => {
97
+ it('should return file icon from a file FileStat', async () => {
98
98
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
99
99
  stubs.push(sinon.stub(label_provider_1.DefaultUriLabelProviderContribution.prototype, 'getFileIcon').returns(undefined));
100
100
  chai_1.expect(labelProvider.getIcon(files_1.FileStat.file('file:///home/test'))).eq(labelProvider.defaultFileIcon);
@@ -106,6 +106,10 @@ describe('WorkspaceUriLabelProviderContribution class', () => {
106
106
  chai_1.expect(labelProvider.getIcon(new uri_1.default('file:///home/test'))).eq(ret);
107
107
  chai_1.expect(labelProvider.getIcon(files_1.FileStat.file('file:///home/test'))).eq(ret);
108
108
  });
109
+ it('should return rootfolder-icon for a URI or file stat that corresponds to a workspace root', () => {
110
+ chai_1.expect(labelProvider.getIcon(new uri_1.default('file:///workspace'))).eq('rootfolder-icon');
111
+ chai_1.expect(labelProvider.getIcon(files_1.FileStat.dir('file:///workspace'))).eq('rootfolder-icon');
112
+ });
109
113
  });
110
114
  describe('getName()', () => {
111
115
  it('should return the display name of a file from its URI', () => {
@@ -1 +1 @@
1
- {"version":3,"file":"workspace-uri-contribution.spec.js","sourceRoot":"","sources":["../../src/browser/workspace-uri-contribution.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workspace-uri-contribution.spec.js","sourceRoot":"","sources":["../../src/browser/workspace-uri-contribution.spec.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "name": "@theia/workspace",
3
- "version": "1.18.0-next.a7d63a0f",
3
+ "version": "1.18.0-next.aed98766",
4
4
  "description": "Theia - Workspace Extension",
5
5
  "dependencies": {
6
- "@theia/core": "1.18.0-next.a7d63a0f",
7
- "@theia/filesystem": "1.18.0-next.a7d63a0f",
8
- "@theia/variable-resolver": "1.18.0-next.a7d63a0f",
6
+ "@theia/core": "1.18.0-next.aed98766",
7
+ "@theia/filesystem": "1.18.0-next.aed98766",
8
+ "@theia/variable-resolver": "1.18.0-next.aed98766",
9
9
  "ajv": "^6.5.3",
10
10
  "jsonc-parser": "^2.2.0",
11
11
  "moment": "2.24.0",
@@ -44,7 +44,7 @@
44
44
  "test": "theiaext test"
45
45
  },
46
46
  "devDependencies": {
47
- "@theia/ext-scripts": "1.18.0-next.a7d63a0f"
47
+ "@theia/ext-scripts": "1.18.0-next.aed98766"
48
48
  },
49
49
  "nyc": {
50
50
  "extends": "../../configs/nyc.json"
@@ -0,0 +1,56 @@
1
+ /********************************************************************************
2
+ * Copyright (C) 2019 TypeFox 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 WITH Classpath-exception-2.0
15
+ ********************************************************************************/
16
+
17
+ import { FilepathBreadcrumb } from '@theia/filesystem/lib/browser/breadcrumbs/filepath-breadcrumb';
18
+ import { FilepathBreadcrumbClassNameFactory, FilepathBreadcrumbsContribution } from '@theia/filesystem/lib/browser/breadcrumbs/filepath-breadcrumbs-contribution';
19
+ import { inject, injectable } from '@theia/core/shared/inversify';
20
+ import { WorkspaceService } from './workspace-service';
21
+ import URI from '@theia/core/lib/common/uri';
22
+
23
+ @injectable()
24
+ export class WorkspaceBreadcrumbsContribution extends FilepathBreadcrumbsContribution {
25
+
26
+ @inject(WorkspaceService)
27
+ protected readonly workspaceService: WorkspaceService;
28
+
29
+ getContainerClassCreator(fileURI: URI): FilepathBreadcrumbClassNameFactory {
30
+ const workspaceRoot = this.workspaceService.getWorkspaceRootUri(fileURI);
31
+ return (location, index) => {
32
+ if (location.isEqual(fileURI)) {
33
+ return 'file';
34
+ } else if (workspaceRoot?.isEqual(location)) {
35
+ return 'root_folder';
36
+ }
37
+ return 'folder';
38
+ };
39
+ }
40
+
41
+ getIconClassCreator(fileURI: URI): FilepathBreadcrumbClassNameFactory {
42
+ const workspaceRoot = this.workspaceService.getWorkspaceRootUri(fileURI);
43
+ return (location, index) => {
44
+ if (location.isEqual(fileURI) || workspaceRoot?.isEqual(location)) {
45
+ return this.labelProvider.getIcon(location) + ' file-icon';
46
+ }
47
+ return '';
48
+ };
49
+ }
50
+
51
+ protected filterBreadcrumbs(uri: URI, breadcrumb: FilepathBreadcrumb): boolean {
52
+ const workspaceRootUri = this.workspaceService.getWorkspaceRootUri(uri);
53
+ const firstCrumbToHide = this.workspaceService.isMultiRootWorkspaceOpened ? workspaceRootUri?.parent : workspaceRootUri;
54
+ return super.filterBreadcrumbs(uri, breadcrumb) && (!firstCrumbToHide || !breadcrumb.uri.isEqualOrParent(firstCrumbToHide));
55
+ }
56
+ }
@@ -46,6 +46,8 @@ import { WorkspaceCompareHandler } from './workspace-compare-handler';
46
46
  import { DiffService } from './diff-service';
47
47
  import { JsonSchemaContribution } from '@theia/core/lib/browser/json-schema-store';
48
48
  import { WorkspaceSchemaUpdater } from './workspace-schema-updater';
49
+ import { WorkspaceBreadcrumbsContribution } from './workspace-breadcrumbs-contribution';
50
+ import { FilepathBreadcrumbsContribution } from '@theia/filesystem/lib/browser/breadcrumbs/filepath-breadcrumbs-contribution';
49
51
 
50
52
  export default new ContainerModule((bind: interfaces.Bind, unbind: interfaces.Unbind, isBound: interfaces.IsBound, rebind: interfaces.Rebind) => {
51
53
  bindWorkspacePreferences(bind);
@@ -96,4 +98,5 @@ export default new ContainerModule((bind: interfaces.Bind, unbind: interfaces.Un
96
98
 
97
99
  bind(WorkspaceSchemaUpdater).toSelf().inSingletonScope();
98
100
  bind(JsonSchemaContribution).toService(WorkspaceSchemaUpdater);
101
+ rebind(FilepathBreadcrumbsContribution).to(WorkspaceBreadcrumbsContribution).inSingletonScope();
99
102
  });
@@ -16,7 +16,7 @@
16
16
 
17
17
  import { inject, injectable } from '@theia/core/shared/inversify';
18
18
  import URI from '@theia/core/lib/common/uri';
19
- import { SingleTextInputDialog, SingleTextInputDialogProps, LabelProvider } from '@theia/core/lib/browser';
19
+ import { SingleTextInputDialog, SingleTextInputDialogProps, LabelProvider, codiconArray } from '@theia/core/lib/browser';
20
20
 
21
21
  @injectable()
22
22
  export class WorkspaceInputDialogProps extends SingleTextInputDialogProps {
@@ -47,7 +47,7 @@ export class WorkspaceInputDialog extends SingleTextInputDialog {
47
47
  const element = document.createElement('div');
48
48
  // Create the `folder` icon.
49
49
  const icon = document.createElement('i');
50
- icon.classList.add('fa', 'fa-folder');
50
+ icon.classList.add(...codiconArray('folder'));
51
51
  icon.style.marginRight = '0.5em';
52
52
  element.appendChild(icon);
53
53
  element.appendChild(document.createTextNode(label));
@@ -100,13 +100,13 @@ describe('WorkspaceUriLabelProviderContribution class', () => {
100
100
  expect(labelProvider.getIcon(FileStat.file('file:///home/test'))).eq(labelProvider.defaultFileIcon);
101
101
  });
102
102
 
103
- it('should return folder icon from a folder URI', async () => {
103
+ it('should return folder icon from a folder FileStat', async () => {
104
104
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
105
105
  stubs.push(sinon.stub(DefaultUriLabelProviderContribution.prototype, <any>'getFileIcon').returns(undefined));
106
106
  expect(labelProvider.getIcon(FileStat.dir('file:///home/test'))).eq(labelProvider.defaultFolderIcon);
107
107
  });
108
108
 
109
- it('should return file icon from a file URI', async () => {
109
+ it('should return file icon from a file FileStat', async () => {
110
110
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
111
111
  stubs.push(sinon.stub(DefaultUriLabelProviderContribution.prototype, <any>'getFileIcon').returns(undefined));
112
112
  expect(labelProvider.getIcon(FileStat.file('file:///home/test'))).eq(labelProvider.defaultFileIcon);
@@ -119,6 +119,11 @@ describe('WorkspaceUriLabelProviderContribution class', () => {
119
119
  expect(labelProvider.getIcon(new URI('file:///home/test'))).eq(ret);
120
120
  expect(labelProvider.getIcon(FileStat.file('file:///home/test'))).eq(ret);
121
121
  });
122
+
123
+ it('should return rootfolder-icon for a URI or file stat that corresponds to a workspace root', () => {
124
+ expect(labelProvider.getIcon(new URI('file:///workspace'))).eq('rootfolder-icon');
125
+ expect(labelProvider.getIcon(FileStat.dir('file:///workspace'))).eq('rootfolder-icon');
126
+ });
122
127
  });
123
128
 
124
129
  describe('getName()', () => {
@@ -39,6 +39,10 @@ export class WorkspaceUriLabelProviderContribution extends DefaultUriLabelProvid
39
39
  }
40
40
 
41
41
  getIcon(element: URI | URIIconReference | FileStat): string {
42
+ const uri = this.getUri(element);
43
+ if (uri && this.workspaceVariable.getWorkspaceRootUri(uri)?.isEqual(uri)) {
44
+ return 'rootfolder-icon';
45
+ }
42
46
  return super.getIcon(this.asURIIconReference(element));
43
47
  }
44
48