@theia/core 1.20.0 → 1.21.0-next.11

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.
Files changed (41) hide show
  1. package/README.md +3 -3
  2. package/lib/browser/common-frontend-contribution.d.ts +1 -13
  3. package/lib/browser/common-frontend-contribution.d.ts.map +1 -1
  4. package/lib/browser/common-frontend-contribution.js +86 -127
  5. package/lib/browser/common-frontend-contribution.js.map +1 -1
  6. package/lib/browser/frontend-application-module.d.ts.map +1 -1
  7. package/lib/browser/frontend-application-module.js +6 -5
  8. package/lib/browser/frontend-application-module.js.map +1 -1
  9. package/lib/browser/shell/application-shell.d.ts +7 -7
  10. package/lib/browser/shell/application-shell.d.ts.map +1 -1
  11. package/lib/browser/shell/application-shell.js +10 -17
  12. package/lib/browser/shell/application-shell.js.map +1 -1
  13. package/lib/browser/shell/current-widget-command-adapter.d.ts +39 -0
  14. package/lib/browser/shell/current-widget-command-adapter.d.ts.map +1 -0
  15. package/lib/browser/shell/current-widget-command-adapter.js +42 -0
  16. package/lib/browser/shell/current-widget-command-adapter.js.map +1 -0
  17. package/lib/browser/shell/tab-bars.d.ts +8 -2
  18. package/lib/browser/shell/tab-bars.d.ts.map +1 -1
  19. package/lib/browser/shell/tab-bars.js +30 -3
  20. package/lib/browser/shell/tab-bars.js.map +1 -1
  21. package/lib/common/promise-util.d.ts +3 -0
  22. package/lib/common/promise-util.d.ts.map +1 -1
  23. package/lib/common/promise-util.js +16 -1
  24. package/lib/common/promise-util.js.map +1 -1
  25. package/lib/common/promise-util.spec.d.ts +2 -0
  26. package/lib/common/promise-util.spec.d.ts.map +1 -0
  27. package/lib/common/promise-util.spec.js +42 -0
  28. package/lib/common/promise-util.spec.js.map +1 -0
  29. package/lib/electron-main/electron-main-application.d.ts +10 -0
  30. package/lib/electron-main/electron-main-application.d.ts.map +1 -1
  31. package/lib/electron-main/electron-main-application.js +13 -3
  32. package/lib/electron-main/electron-main-application.js.map +1 -1
  33. package/package.json +3 -3
  34. package/src/browser/common-frontend-contribution.ts +75 -132
  35. package/src/browser/frontend-application-module.ts +6 -5
  36. package/src/browser/shell/application-shell.ts +17 -22
  37. package/src/browser/shell/current-widget-command-adapter.ts +57 -0
  38. package/src/browser/shell/tab-bars.ts +30 -5
  39. package/src/common/promise-util.spec.ts +41 -0
  40. package/src/common/promise-util.ts +20 -1
  41. package/src/electron-main/electron-main-application.ts +24 -5
@@ -13,6 +13,8 @@
13
13
  *
14
14
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
15
  ********************************************************************************/
16
+ import { Disposable } from './disposable';
17
+ import { Event } from './event';
16
18
  import { CancellationToken } from './cancellation';
17
19
  /**
18
20
  * Simple implementation of the deferred pattern.
@@ -44,4 +46,5 @@ export declare function delay<T>(ms: number): (value: T) => Promise<T>;
44
46
  * @param ms the number of milliseconds to wait
45
47
  */
46
48
  export declare function wait(ms: number): Promise<void>;
49
+ export declare function waitForEvent<T>(event: Event<T>, ms: number, thisArg?: any, disposables?: Disposable[]): Promise<T>;
47
50
  //# sourceMappingURL=promise-util.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"promise-util.d.ts","sourceRoot":"","sources":["../../src/common/promise-util.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAElF,OAAO,EAAE,iBAAiB,EAAa,MAAM,gBAAgB,CAAC;AAE9D;;;GAGG;AACH,qBAAa,QAAQ,CAAC,CAAC,GAAG,IAAI;IAC1B,KAAK,EAAE,UAAU,GAAG,UAAU,GAAG,YAAY,CAAgB;IAC7D,OAAO,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC;IAC5B,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;IAE5B,OAAO,aAaJ;CACN;AAED;;;GAGG;AACH,wBAAgB,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,oBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC,CAQjF;AAED,wBAAsB,KAAK,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CActG;AAED;;;;;;;GAOG;AACH,wBAAgB,KAAK,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,GAAG,CAAC,KAAK,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAE7D;AAED;;;GAGG;AACH,wBAAsB,IAAI,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAEpD"}
1
+ {"version":3,"file":"promise-util.d.ts","sourceRoot":"","sources":["../../src/common/promise-util.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAElF,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,iBAAiB,EAAgC,MAAM,gBAAgB,CAAC;AAEjF;;;GAGG;AACH,qBAAa,QAAQ,CAAC,CAAC,GAAG,IAAI;IAC1B,KAAK,EAAE,UAAU,GAAG,UAAU,GAAG,YAAY,CAAgB;IAC7D,OAAO,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC;IAC5B,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;IAE5B,OAAO,aAaJ;CACN;AAED;;;GAGG;AACH,wBAAgB,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,oBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC,CAQjF;AAED,wBAAsB,KAAK,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CActG;AAED;;;;;;;GAOG;AACH,wBAAgB,KAAK,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,GAAG,CAAC,KAAK,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAE7D;AAED;;;GAGG;AACH,wBAAsB,IAAI,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAEpD;AAGD,wBAAgB,YAAY,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE,WAAW,CAAC,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,CAclH"}
@@ -15,7 +15,7 @@
15
15
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
16
16
  ********************************************************************************/
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
- exports.wait = exports.delay = exports.retry = exports.timeout = exports.Deferred = void 0;
18
+ exports.waitForEvent = exports.wait = exports.delay = exports.retry = exports.timeout = exports.Deferred = void 0;
19
19
  const cancellation_1 = require("./cancellation");
20
20
  /**
21
21
  * Simple implementation of the deferred pattern.
@@ -89,4 +89,19 @@ async function wait(ms) {
89
89
  await delay(ms)(undefined);
90
90
  }
91
91
  exports.wait = wait;
92
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
93
+ function waitForEvent(event, ms, thisArg, disposables) {
94
+ return new Promise((resolve, reject) => {
95
+ const registration = setTimeout(() => {
96
+ listener.dispose();
97
+ reject(new cancellation_1.CancellationError());
98
+ }, ms);
99
+ const listener = event((evt) => {
100
+ clearTimeout(registration);
101
+ listener.dispose();
102
+ resolve(evt);
103
+ }, thisArg, disposables);
104
+ });
105
+ }
106
+ exports.waitForEvent = waitForEvent;
92
107
  //# sourceMappingURL=promise-util.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"promise-util.js","sourceRoot":"","sources":["../../src/common/promise-util.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;kFAckF;;;AAElF,iDAA8D;AAE9D;;;GAGG;AACH,MAAa,QAAQ;IAArB;QACI,UAAK,GAA2C,YAAY,CAAC;QAI7D,YAAO,GAAG,IAAI,OAAO,CAAI,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACzC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,EAAE;gBACpB,OAAO,CAAC,MAAM,CAAC,CAAC;gBAChB,IAAI,IAAI,CAAC,KAAK,KAAK,YAAY,EAAE;oBAC7B,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC;iBAC3B;YACL,CAAC,CAAC;YACF,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,EAAE;gBAChB,MAAM,CAAC,GAAG,CAAC,CAAC;gBACZ,IAAI,IAAI,CAAC,KAAK,KAAK,YAAY,EAAE;oBAC7B,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC;iBAC3B;YACL,CAAC,CAAC;QACN,CAAC,CAAC,CAAC;IACP,CAAC;CAAA;AAnBD,4BAmBC;AAED;;;GAGG;AACH,SAAgB,OAAO,CAAC,EAAU,EAAE,KAAK,GAAG,gCAAiB,CAAC,IAAI;IAC9D,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAQ,CAAC;IACtC,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;IACxD,KAAK,CAAC,uBAAuB,CAAC,GAAG,EAAE;QAC/B,YAAY,CAAC,MAAM,CAAC,CAAC;QACrB,QAAQ,CAAC,MAAM,CAAC,wBAAS,EAAE,CAAC,CAAC;IACjC,CAAC,CAAC,CAAC;IACH,OAAO,QAAQ,CAAC,OAAO,CAAC;AAC5B,CAAC;AARD,0BAQC;AAEM,KAAK,UAAU,KAAK,CAAI,IAAsB,EAAE,UAAkB,EAAE,OAAe;IACtF,IAAI,SAA4B,CAAC;IAEjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,EAAE,CAAC,EAAE,EAAE;QAC9B,IAAI;YACA,OAAO,MAAM,IAAI,EAAE,CAAC;SACvB;QAAC,OAAO,KAAK,EAAE;YACZ,SAAS,GAAG,KAAK,CAAC;YAElB,MAAM,OAAO,CAAC,UAAU,CAAC,CAAC;SAC7B;KACJ;IAED,MAAM,SAAS,CAAC;AACpB,CAAC;AAdD,sBAcC;AAED;;;;;;;GAOG;AACH,SAAgB,KAAK,CAAI,EAAU;IAC/B,OAAO,KAAK,CAAC,EAAE,CAAC,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChG,CAAC;AAFD,sBAEC;AAED;;;GAGG;AACI,KAAK,UAAU,IAAI,CAAC,EAAU;IACjC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC;AAC/B,CAAC;AAFD,oBAEC"}
1
+ {"version":3,"file":"promise-util.js","sourceRoot":"","sources":["../../src/common/promise-util.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=promise-util.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"promise-util.spec.d.ts","sourceRoot":"","sources":["../../src/common/promise-util.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ /********************************************************************************
4
+ * Copyright (C) 2021 Red Hat and others.
5
+ *
6
+ * This program and the accompanying materials are made available under the
7
+ * terms of the Eclipse Public License v. 2.0 which is available at
8
+ * http://www.eclipse.org/legal/epl-2.0.
9
+ *
10
+ * This Source Code may also be made available under the following Secondary
11
+ * Licenses when the conditions for such availability set forth in the Eclipse
12
+ * Public License v. 2.0 are satisfied: GNU General Public License, version 2
13
+ * with the GNU Classpath Exception which is available at
14
+ * https://www.gnu.org/software/classpath/license.html.
15
+ *
16
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
17
+ ********************************************************************************/
18
+ const assert = require("assert");
19
+ const promise_util_1 = require("./promise-util");
20
+ const event_1 = require("./event");
21
+ describe('promise-util', () => {
22
+ it('should time out', async () => {
23
+ const emitter = new event_1.Emitter();
24
+ try {
25
+ await promise_util_1.waitForEvent(emitter.event, 1000);
26
+ assert.fail('did not time out');
27
+ }
28
+ catch (e) {
29
+ // OK
30
+ }
31
+ });
32
+ describe('promise-util', () => {
33
+ it('should get event', async () => {
34
+ const emitter = new event_1.Emitter();
35
+ setTimeout(() => {
36
+ emitter.fire('abcd');
37
+ }, 500);
38
+ assert.strictEqual(await promise_util_1.waitForEvent(emitter.event, 1000), 'abcd');
39
+ });
40
+ });
41
+ });
42
+ //# sourceMappingURL=promise-util.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"promise-util.spec.js","sourceRoot":"","sources":["../../src/common/promise-util.spec.ts"],"names":[],"mappings":";;AAAA;;;;;;;;;;;;;;kFAckF;AAClF,iCAAiC;AACjC,iDAA8C;AAC9C,mCAAkC;AAElC,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;IAC1B,EAAE,CAAC,iBAAiB,EAAE,KAAK,IAAI,EAAE;QAC7B,MAAM,OAAO,GAAG,IAAI,eAAO,EAAU,CAAC;QACtC,IAAI;YACA,MAAM,2BAAY,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YACxC,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;SACnC;QAAC,OAAO,CAAC,EAAE;YACR,KAAK;SACR;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;QAC1B,EAAE,CAAC,kBAAkB,EAAE,KAAK,IAAI,EAAE;YAC9B,MAAM,OAAO,GAAG,IAAI,eAAO,EAAU,CAAC;YACtC,UAAU,CAAC,GAAG,EAAE;gBACZ,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACzB,CAAC,EAAE,GAAG,CAAC,CAAC;YACR,MAAM,CAAC,WAAW,CAAC,MAAM,2BAAY,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;QACxE,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AAEP,CAAC,CAAC,CAAC"}
@@ -30,6 +30,12 @@ import Storage = require('electron-store');
30
30
  export interface TheiaBrowserWindowOptions extends BrowserWindowConstructorOptions {
31
31
  isMaximized?: boolean;
32
32
  isFullScreen?: boolean;
33
+ /**
34
+ * Represents the complete screen layout for all available displays.
35
+ * This field is used to determine if the layout was updated since the electron window was last opened,
36
+ * in which case we want to invalidate the stored options and use the default options instead.
37
+ */
38
+ screenLayout?: string;
33
39
  }
34
40
  /**
35
41
  * Options passed to the main/default command handler.
@@ -150,6 +156,10 @@ export declare class ElectronMainApplication {
150
156
  */
151
157
  protected attachSaveWindowState(electronWindow: BrowserWindow): void;
152
158
  protected saveWindowState(electronWindow: BrowserWindow): void;
159
+ /**
160
+ * Return a string unique to the current display layout.
161
+ */
162
+ protected getCurrentScreenLayout(): string;
153
163
  /**
154
164
  * Catch certain keybindings to prevent reloading the window using keyboard shortcuts.
155
165
  */
@@ -1 +1 @@
1
- {"version":3,"file":"electron-main-application.d.ts","sourceRoot":"","sources":["../../src/electron-main/electron-main-application.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"electron-main-application.d.ts","sourceRoot":"","sources":["../../src/electron-main/electron-main-application.ts"],"names":[],"mappings":"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"}
@@ -165,8 +165,11 @@ let ElectronMainApplication = class ElectronMainApplication {
165
165
  return electronWindow;
166
166
  }
167
167
  async getLastWindowOptions() {
168
- const windowState = this.electronStore.get('windowstate') || this.getDefaultTheiaWindowOptions();
169
- return Object.assign(Object.assign({ frame: this.useNativeWindowFrame }, windowState), this.getDefaultOptions());
168
+ const previousWindowState = this.electronStore.get('windowstate');
169
+ const windowState = (previousWindowState === null || previousWindowState === void 0 ? void 0 : previousWindowState.screenLayout) === this.getCurrentScreenLayout()
170
+ ? previousWindowState
171
+ : this.getDefaultTheiaWindowOptions();
172
+ return Object.assign(Object.assign({ frame: this.useNativeWindowFrame }, this.getDefaultOptions()), windowState);
170
173
  }
171
174
  avoidOverlap(options) {
172
175
  const existingWindowsBounds = electron_1.BrowserWindow.getAllWindows().map(window => window.getBounds());
@@ -290,13 +293,20 @@ let ElectronMainApplication = class ElectronMainApplication {
290
293
  height: bounds.height,
291
294
  x: bounds.x,
292
295
  y: bounds.y,
293
- frame: this.useNativeWindowFrame
296
+ frame: this.useNativeWindowFrame,
297
+ screenLayout: this.getCurrentScreenLayout(),
294
298
  });
295
299
  }
296
300
  catch (e) {
297
301
  console.error('Error while saving window state:', e);
298
302
  }
299
303
  }
304
+ /**
305
+ * Return a string unique to the current display layout.
306
+ */
307
+ getCurrentScreenLayout() {
308
+ return electron_1.screen.getAllDisplays().map(display => `${display.bounds.x}:${display.bounds.y}:${display.bounds.width}:${display.bounds.height}`).sort().join('-');
309
+ }
300
310
  /**
301
311
  * Catch certain keybindings to prevent reloading the window using keyboard shortcuts.
302
312
  */
@@ -1 +1 @@
1
- {"version":3,"file":"electron-main-application.js","sourceRoot":"","sources":["../../src/electron-main/electron-main-application.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"electron-main-application.js","sourceRoot":"","sources":["../../src/electron-main/electron-main-application.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@theia/core",
3
- "version": "1.20.0",
3
+ "version": "1.21.0-next.11+a3c2e91fa9a",
4
4
  "description": "Theia is a cloud & desktop IDE framework implemented in TypeScript.",
5
5
  "main": "lib/common/index.js",
6
6
  "typings": "lib/common/index.d.ts",
@@ -17,7 +17,7 @@
17
17
  "@phosphor/virtualdom": "1",
18
18
  "@phosphor/widgets": "1",
19
19
  "@primer/octicons-react": "^9.0.0",
20
- "@theia/application-package": "1.20.0",
20
+ "@theia/application-package": "1.21.0-next.11+a3c2e91fa9a",
21
21
  "@types/body-parser": "^1.16.4",
22
22
  "@types/cookie": "^0.3.3",
23
23
  "@types/dompurify": "^2.2.2",
@@ -177,5 +177,5 @@
177
177
  "nyc": {
178
178
  "extends": "../../configs/nyc.json"
179
179
  },
180
- "gitHead": "774a2724c51d4ae026c6d2499bff3a02e3d50ba9"
180
+ "gitHead": "a3c2e91fa9a030f5ee02696065c204afa2798072"
181
181
  }
@@ -18,7 +18,6 @@
18
18
 
19
19
  import debounce = require('lodash.debounce');
20
20
  import { injectable, inject, optional } from 'inversify';
21
- import { TabBar, Widget } from '@phosphor/widgets';
22
21
  import { MAIN_MENU_BAR, SETTINGS_MENU, MenuContribution, MenuModelRegistry, ACCOUNTS_MENU } from '../common/menu';
23
22
  import { KeybindingContribution, KeybindingRegistry } from './keybinding';
24
23
  import { FrontendApplication, FrontendApplicationContribution } from './frontend-application';
@@ -28,7 +27,7 @@ import { SelectionService } from '../common/selection-service';
28
27
  import { MessageService } from '../common/message-service';
29
28
  import { OpenerService, open } from '../browser/opener-service';
30
29
  import { ApplicationShell } from './shell/application-shell';
31
- import { SHELL_TABBAR_CONTEXT_MENU } from './shell/tab-bars';
30
+ import { SHELL_TABBAR_CONTEXT_CLOSE, SHELL_TABBAR_CONTEXT_COPY, SHELL_TABBAR_CONTEXT_SPLIT } from './shell/tab-bars';
32
31
  import { AboutDialog } from './about-dialog';
33
32
  import * as browser from './browser';
34
33
  import URI from '../common/uri';
@@ -51,10 +50,11 @@ import { EncodingRegistry } from './encoding-registry';
51
50
  import { UTF8 } from '../common/encodings';
52
51
  import { EnvVariablesServer } from '../common/env-variables';
53
52
  import { AuthenticationService } from './authentication-service';
54
- import { FormatType } from './saveable';
53
+ import { FormatType, Saveable } from './saveable';
55
54
  import { QuickInputService, QuickPick, QuickPickItem } from './quick-input';
56
55
  import { AsyncLocalizationProvider } from '../common/i18n/localization';
57
56
  import { nls } from '../common/nls';
57
+ import { CurrentWidgetCommandAdapter } from './shell/current-widget-command-adapter';
58
58
 
59
59
  export namespace CommonMenus {
60
60
 
@@ -181,6 +181,11 @@ export namespace CommonCommands {
181
181
  category: VIEW_CATEGORY,
182
182
  label: 'Close Other Tabs'
183
183
  }, 'theia/core/common/closeOthers', VIEW_CATEGORY_KEY);
184
+ export const CLOSE_SAVED_TABS = Command.toDefaultLocalizedCommand({
185
+ id: 'workbench.action.closeUnmodifiedEditors',
186
+ category: VIEW_CATEGORY,
187
+ label: 'Close Saved Editors in Group',
188
+ });
184
189
  export const CLOSE_RIGHT_TABS = Command.toLocalizedCommand({
185
190
  id: 'core.close.right.tabs',
186
191
  category: VIEW_CATEGORY,
@@ -546,35 +551,45 @@ export class CommonFrontendContribution implements FrontendApplicationContributi
546
551
  order: '2'
547
552
  });
548
553
 
549
- registry.registerMenuAction(SHELL_TABBAR_CONTEXT_MENU, {
554
+ registry.registerMenuAction(SHELL_TABBAR_CONTEXT_CLOSE, {
550
555
  commandId: CommonCommands.CLOSE_TAB.id,
551
556
  label: nls.localizeByDefault('Close'),
552
557
  order: '0'
553
558
  });
554
- registry.registerMenuAction(SHELL_TABBAR_CONTEXT_MENU, {
559
+ registry.registerMenuAction(SHELL_TABBAR_CONTEXT_CLOSE, {
555
560
  commandId: CommonCommands.CLOSE_OTHER_TABS.id,
556
561
  label: nls.localizeByDefault('Close Others'),
557
562
  order: '1'
558
563
  });
559
- registry.registerMenuAction(SHELL_TABBAR_CONTEXT_MENU, {
564
+ registry.registerMenuAction(SHELL_TABBAR_CONTEXT_CLOSE, {
560
565
  commandId: CommonCommands.CLOSE_RIGHT_TABS.id,
561
566
  label: nls.localizeByDefault('Close to the Right'),
562
567
  order: '2'
563
568
  });
564
- registry.registerMenuAction(SHELL_TABBAR_CONTEXT_MENU, {
569
+ registry.registerMenuAction(SHELL_TABBAR_CONTEXT_CLOSE, {
570
+ commandId: CommonCommands.CLOSE_SAVED_TABS.id,
571
+ label: nls.localizeByDefault('Close Saved'),
572
+ order: '3',
573
+ });
574
+ registry.registerMenuAction(SHELL_TABBAR_CONTEXT_CLOSE, {
565
575
  commandId: CommonCommands.CLOSE_ALL_TABS.id,
566
576
  label: nls.localizeByDefault('Close All'),
567
- order: '3'
577
+ order: '4'
568
578
  });
569
- registry.registerMenuAction(SHELL_TABBAR_CONTEXT_MENU, {
579
+ registry.registerMenuAction(SHELL_TABBAR_CONTEXT_SPLIT, {
570
580
  commandId: CommonCommands.COLLAPSE_PANEL.id,
571
581
  label: CommonCommands.COLLAPSE_PANEL.label,
572
- order: '4'
582
+ order: '5'
573
583
  });
574
- registry.registerMenuAction(SHELL_TABBAR_CONTEXT_MENU, {
584
+ registry.registerMenuAction(SHELL_TABBAR_CONTEXT_SPLIT, {
575
585
  commandId: CommonCommands.TOGGLE_MAXIMIZED.id,
576
586
  label: CommonCommands.TOGGLE_MAXIMIZED.label,
577
- order: '5'
587
+ order: '6'
588
+ });
589
+ registry.registerMenuAction(SHELL_TABBAR_CONTEXT_COPY, {
590
+ commandId: CommonCommands.COPY_PATH.id,
591
+ label: CommonCommands.COPY_PATH.label,
592
+ order: '1',
578
593
  });
579
594
  registry.registerMenuAction(CommonMenus.HELP, {
580
595
  commandId: CommonCommands.ABOUT_COMMAND.id,
@@ -633,6 +648,8 @@ export class CommonFrontendContribution implements FrontendApplicationContributi
633
648
  }
634
649
  });
635
650
  commandRegistry.registerCommand(CommonCommands.COPY_PATH, UriAwareCommandHandler.MultiSelect(this.selectionService, {
651
+ isVisible: uris => Array.isArray(uris) && uris.some(uri => uri instanceof URI),
652
+ isEnabled: uris => Array.isArray(uris) && uris.some(uri => uri instanceof URI),
636
653
  execute: async uris => {
637
654
  if (uris.length) {
638
655
  const lineDelimiter = isWindows ? '\r\n' : '\n';
@@ -685,62 +702,45 @@ export class CommonFrontendContribution implements FrontendApplicationContributi
685
702
  isEnabled: () => this.shell.previousTabBar() !== undefined,
686
703
  execute: () => this.shell.activatePreviousTabBar()
687
704
  });
688
- commandRegistry.registerCommand(CommonCommands.CLOSE_TAB, {
689
- isEnabled: (event?: Event) => {
690
- const tabBar = this.shell.findTabBar(event);
691
- if (!tabBar) {
692
- return false;
693
- }
694
- const currentTitle = this.shell.findTitle(tabBar, event);
695
- return currentTitle !== undefined && currentTitle.closable;
696
- },
697
- execute: (event?: Event) => {
698
- const tabBar = this.shell.findTabBar(event)!;
699
- const currentTitle = this.shell.findTitle(tabBar, event);
700
- this.shell.closeTabs(tabBar, title => title === currentTitle);
701
- }
702
- });
703
- commandRegistry.registerCommand(CommonCommands.CLOSE_OTHER_TABS, {
704
- isEnabled: (event?: Event) => {
705
- const tabBar = this.shell.findTabBar(event);
706
- if (!tabBar) {
707
- return false;
708
- }
709
- const currentTitle = this.shell.findTitle(tabBar, event);
710
- return tabBar.titles.some(title => title !== currentTitle && title.closable);
711
- },
712
- execute: (event?: Event) => {
713
- const tabBar = this.shell.findTabBar(event)!;
714
- const currentTitle = this.shell.findTitle(tabBar, event);
715
- this.shell.closeTabs(tabBar, title => title !== currentTitle && title.closable);
716
- }
717
- });
718
- commandRegistry.registerCommand(CommonCommands.CLOSE_RIGHT_TABS, {
719
- isEnabled: (event?: Event) => {
720
- const tabBar = this.shell.findTabBar(event);
721
- if (!tabBar) {
722
- return false;
723
- }
724
- const currentIndex = this.findTitleIndex(tabBar, event);
725
- return tabBar.titles.some((title, index) => index > currentIndex && title.closable);
726
- },
727
- isVisible: (event?: Event) => {
728
- const area = this.findTabArea(event);
705
+ commandRegistry.registerCommand(CommonCommands.CLOSE_TAB, new CurrentWidgetCommandAdapter(this.shell, {
706
+ isEnabled: title => Boolean(title?.closable),
707
+ execute: (title, tabBar) => tabBar && this.shell.closeTabs(tabBar, candidate => candidate === title),
708
+ }));
709
+ commandRegistry.registerCommand(CommonCommands.CLOSE_OTHER_TABS, new CurrentWidgetCommandAdapter(this.shell, {
710
+ isEnabled: (title, tabbar) => Boolean(tabbar?.titles.some(candidate => candidate !== title && candidate.closable)),
711
+ execute: (title, tabbar) => tabbar && this.shell.closeTabs(tabbar, candidate => candidate !== title && candidate.closable),
712
+ }));
713
+ commandRegistry.registerCommand(CommonCommands.CLOSE_SAVED_TABS, new CurrentWidgetCommandAdapter(this.shell, {
714
+ isEnabled: (_title, tabbar) => Boolean(tabbar?.titles.some(candidate => candidate.closable && !Saveable.isDirty(candidate.owner))),
715
+ execute: (_title, tabbar) => tabbar && this.shell.closeTabs(tabbar, candidate => candidate.closable && !Saveable.isDirty(candidate.owner)),
716
+ }));
717
+ commandRegistry.registerCommand(CommonCommands.CLOSE_RIGHT_TABS, new CurrentWidgetCommandAdapter(this.shell, {
718
+ isEnabled: (title, tabbar) => {
719
+ let targetSeen = false;
720
+ return Boolean(tabbar?.titles.some(candidate => {
721
+ if (targetSeen && candidate.closable) { return true; };
722
+ if (candidate === title) { targetSeen = true; };
723
+ }));
724
+ },
725
+ isVisible: (_title, tabbar) => {
726
+ const area = (tabbar && this.shell.getAreaFor(tabbar)) ?? this.shell.currentTabArea;
729
727
  return area !== undefined && area !== 'left' && area !== 'right';
730
728
  },
731
- execute: (event?: Event) => {
732
- const tabBar = this.shell.findTabBar(event)!;
733
- const currentIndex = this.findTitleIndex(tabBar, event);
734
- this.shell.closeTabs(tabBar, (title, index) => index > currentIndex && title.closable);
729
+ execute: (title, tabbar) => {
730
+ if (tabbar) {
731
+ let targetSeen = false;
732
+ this.shell.closeTabs(tabbar, candidate => {
733
+ if (targetSeen && candidate.closable) { return true; };
734
+ if (candidate === title) { targetSeen = true; };
735
+ return false;
736
+ });
737
+ }
735
738
  }
736
- });
737
- commandRegistry.registerCommand(CommonCommands.CLOSE_ALL_TABS, {
738
- isEnabled: (event?: Event) => {
739
- const tabBar = this.shell.findTabBar(event);
740
- return tabBar !== undefined && tabBar.titles.some(title => title.closable);
741
- },
742
- execute: (event?: Event) => this.shell.closeTabs(this.shell.findTabBar(event)!, title => title.closable)
743
- });
739
+ }));
740
+ commandRegistry.registerCommand(CommonCommands.CLOSE_ALL_TABS, new CurrentWidgetCommandAdapter(this.shell, {
741
+ isEnabled: (_title, tabbar) => Boolean(tabbar?.titles.some(title => title.closable)),
742
+ execute: (_title, tabbar) => tabbar && this.shell.closeTabs(tabbar, candidate => candidate.closable),
743
+ }));
744
744
  commandRegistry.registerCommand(CommonCommands.CLOSE_MAIN_TAB, {
745
745
  isEnabled: () => {
746
746
  const currentWidget = this.shell.getCurrentWidget('main');
@@ -763,11 +763,11 @@ export class CommonFrontendContribution implements FrontendApplicationContributi
763
763
  isEnabled: () => this.shell.mainAreaTabBars.some(tb => tb.titles.some(title => title.closable)),
764
764
  execute: () => this.shell.closeTabs('main', title => title.closable)
765
765
  });
766
- commandRegistry.registerCommand(CommonCommands.COLLAPSE_PANEL, {
767
- isEnabled: (event?: Event) => ApplicationShell.isSideArea(this.findTabArea(event)),
768
- isVisible: (event?: Event) => ApplicationShell.isSideArea(this.findTabArea(event)),
769
- execute: (event?: Event) => this.shell.collapsePanel(this.findTabArea(event)!)
770
- });
766
+ commandRegistry.registerCommand(CommonCommands.COLLAPSE_PANEL, new CurrentWidgetCommandAdapter(this.shell, {
767
+ isEnabled: (_title, tabbar) => Boolean(tabbar && ApplicationShell.isSideArea(this.shell.getAreaFor(tabbar))),
768
+ isVisible: (_title, tabbar) => Boolean(tabbar && ApplicationShell.isSideArea(this.shell.getAreaFor(tabbar))),
769
+ execute: (_title, tabbar) => tabbar && this.shell.collapsePanel(this.shell.getAreaFor(tabbar)!)
770
+ }));
771
771
  commandRegistry.registerCommand(CommonCommands.COLLAPSE_ALL_PANELS, {
772
772
  execute: () => {
773
773
  this.shell.collapsePanel('left');
@@ -788,11 +788,11 @@ export class CommonFrontendContribution implements FrontendApplicationContributi
788
788
  commandRegistry.registerCommand(CommonCommands.TOGGLE_STATUS_BAR, {
789
789
  execute: () => this.preferenceService.updateValue('workbench.statusBar.visible', !this.preferences['workbench.statusBar.visible'])
790
790
  });
791
- commandRegistry.registerCommand(CommonCommands.TOGGLE_MAXIMIZED, {
792
- isEnabled: (event?: Event) => this.canToggleMaximized(event),
793
- isVisible: (event?: Event) => this.canToggleMaximized(event),
794
- execute: (event?: Event) => this.toggleMaximized(event)
795
- });
791
+ commandRegistry.registerCommand(CommonCommands.TOGGLE_MAXIMIZED, new CurrentWidgetCommandAdapter(this.shell, {
792
+ isEnabled: title => Boolean(title?.owner && this.shell.canToggleMaximized(title?.owner)),
793
+ isVisible: title => Boolean(title?.owner && this.shell.canToggleMaximized(title?.owner)),
794
+ execute: title => title?.owner && this.shell.toggleMaximized(title?.owner),
795
+ }));
796
796
 
797
797
  commandRegistry.registerCommand(CommonCommands.SAVE, {
798
798
  execute: () => this.shell.save({ formatType: FormatType.ON })
@@ -823,63 +823,6 @@ export class CommonFrontendContribution implements FrontendApplicationContributi
823
823
  });
824
824
  }
825
825
 
826
- private findTabArea(event?: Event): ApplicationShell.Area | undefined {
827
- const tabBar = this.shell.findTabBar(event);
828
- if (tabBar) {
829
- return this.shell.getAreaFor(tabBar);
830
- }
831
- return this.shell.currentTabArea;
832
- }
833
-
834
- /**
835
- * Finds the index of the selected title from the tab-bar.
836
- * @param tabBar: used for providing an array of titles.
837
- * @returns the index of the selected title if it is available in the tab-bar, else returns the index of currently-selected title.
838
- */
839
- private findTitleIndex(tabBar: TabBar<Widget>, event?: Event): number {
840
- if (event) {
841
- const targetTitle = this.shell.findTitle(tabBar, event);
842
- return targetTitle ? tabBar.titles.indexOf(targetTitle) : tabBar.currentIndex;
843
- }
844
- return tabBar.currentIndex;
845
- }
846
-
847
- private canToggleMaximized(event?: Event): boolean {
848
- if (event?.target instanceof HTMLElement) {
849
- const widget = this.shell.findWidgetForElement(event.target);
850
- if (widget) {
851
- return this.shell.mainPanel.contains(widget) || this.shell.bottomPanel.contains(widget);
852
- }
853
- }
854
- return this.shell.canToggleMaximized();
855
- }
856
-
857
- /**
858
- * Maximize the bottom or the main dockpanel based on the widget.
859
- * @param event used to find the selected widget.
860
- */
861
- private toggleMaximized(event?: Event): void {
862
- if (event?.target instanceof HTMLElement) {
863
- const widget = this.shell.findWidgetForElement(event.target);
864
- if (widget) {
865
- if (this.shell.mainPanel.contains(widget)) {
866
- this.shell.mainPanel.toggleMaximized();
867
- } else if (this.shell.bottomPanel.contains(widget)) {
868
- this.shell.bottomPanel.toggleMaximized();
869
- }
870
- if (widget instanceof TabBar) {
871
- // reveals the widget when maximized.
872
- const title = this.shell.findTitle(widget, event);
873
- if (title) {
874
- this.shell.revealWidget(title.owner.id);
875
- }
876
- }
877
- }
878
- } else {
879
- this.shell.toggleMaximized();
880
- }
881
- }
882
-
883
826
  private isElectron(): boolean {
884
827
  return environment.electron.is();
885
828
  }
@@ -165,11 +165,12 @@ export const frontendApplicationModule = new ContainerModule((bind, unbind, isBo
165
165
 
166
166
  bind(DockPanelRendererFactory).toFactory(context => () => context.container.get(DockPanelRenderer));
167
167
  bind(DockPanelRenderer).toSelf();
168
- bind(TabBarRendererFactory).toFactory(context => () => {
169
- const contextMenuRenderer = context.container.get<ContextMenuRenderer>(ContextMenuRenderer);
170
- const decoratorService = context.container.get<TabBarDecoratorService>(TabBarDecoratorService);
171
- const iconThemeService = context.container.get<IconThemeService>(IconThemeService);
172
- return new TabBarRenderer(contextMenuRenderer, decoratorService, iconThemeService);
168
+ bind(TabBarRendererFactory).toFactory(({ container }) => () => {
169
+ const contextMenuRenderer = container.get(ContextMenuRenderer);
170
+ const tabBarDecoratorService = container.get(TabBarDecoratorService);
171
+ const iconThemeService = container.get(IconThemeService);
172
+ const selectionService = container.get(SelectionService);
173
+ return new TabBarRenderer(contextMenuRenderer, tabBarDecoratorService, iconThemeService, selectionService);
173
174
  });
174
175
 
175
176
  bindContributionProvider(bind, TabBarDecorator);