@theia/core 1.71.0-next.8 → 1.71.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +19 -19
- package/i18n/nls.cs.json +97 -51
- package/i18n/nls.de.json +97 -51
- package/i18n/nls.es.json +97 -51
- package/i18n/nls.fr.json +97 -51
- package/i18n/nls.hu.json +97 -51
- package/i18n/nls.it.json +97 -51
- package/i18n/nls.ja.json +97 -51
- package/i18n/nls.json +101 -55
- package/i18n/nls.ko.json +97 -51
- package/i18n/nls.pl.json +97 -51
- package/i18n/nls.pt-br.json +97 -51
- package/i18n/nls.ru.json +97 -51
- package/i18n/nls.tr.json +97 -51
- package/i18n/nls.zh-cn.json +97 -51
- package/i18n/nls.zh-tw.json +97 -51
- package/lib/browser/catalog.json +169 -10
- package/lib/browser/common-frontend-contribution.js +2 -2
- package/lib/browser/common-frontend-contribution.js.map +1 -1
- package/lib/browser/components/card.d.ts.map +1 -1
- package/lib/browser/components/card.js +11 -3
- package/lib/browser/components/card.js.map +1 -1
- package/lib/browser/connection-status-service.js +1 -1
- package/lib/browser/connection-status-service.js.map +1 -1
- package/lib/browser/frontend-application-contribution.d.ts +2 -2
- package/lib/browser/frontend-application-contribution.d.ts.map +1 -1
- package/lib/browser/frontend-application.d.ts +2 -0
- package/lib/browser/frontend-application.d.ts.map +1 -1
- package/lib/browser/frontend-application.js +15 -6
- package/lib/browser/frontend-application.js.map +1 -1
- package/lib/browser/keyboard/index.d.ts +1 -0
- package/lib/browser/keyboard/index.d.ts.map +1 -1
- package/lib/browser/keyboard/index.js +1 -0
- package/lib/browser/keyboard/index.js.map +1 -1
- package/lib/browser/keyboard/keyboard-utils.d.ts +17 -0
- package/lib/browser/keyboard/keyboard-utils.d.ts.map +1 -0
- package/lib/browser/keyboard/keyboard-utils.js +40 -0
- package/lib/browser/keyboard/keyboard-utils.js.map +1 -0
- package/lib/browser/menu/browser-menu-plugin.d.ts.map +1 -1
- package/lib/browser/menu/browser-menu-plugin.js +8 -1
- package/lib/browser/menu/browser-menu-plugin.js.map +1 -1
- package/lib/browser/messaging/connection-source.d.ts +2 -1
- package/lib/browser/messaging/connection-source.d.ts.map +1 -1
- package/lib/browser/messaging/connection-source.js.map +1 -1
- package/lib/browser/messaging/messaging-frontend-module.d.ts.map +1 -1
- package/lib/browser/messaging/messaging-frontend-module.js +3 -0
- package/lib/browser/messaging/messaging-frontend-module.js.map +1 -1
- package/lib/browser/messaging/service-connection-provider.d.ts +2 -2
- package/lib/browser/messaging/service-connection-provider.d.ts.map +1 -1
- package/lib/browser/messaging/service-connection-provider.js +2 -2
- package/lib/browser/messaging/service-connection-provider.js.map +1 -1
- package/lib/browser/messaging/ws-connection-provider.d.ts +1 -1
- package/lib/browser/messaging/ws-connection-provider.d.ts.map +1 -1
- package/lib/browser/messaging/ws-connection-provider.js +3 -3
- package/lib/browser/messaging/ws-connection-provider.js.map +1 -1
- package/lib/browser/messaging/ws-connection-source.d.ts +4 -2
- package/lib/browser/messaging/ws-connection-source.d.ts.map +1 -1
- package/lib/browser/messaging/ws-connection-source.js +15 -10
- package/lib/browser/messaging/ws-connection-source.js.map +1 -1
- package/lib/browser/performance/frontend-stopwatch.js +1 -1
- package/lib/browser/performance/frontend-stopwatch.js.map +1 -1
- package/lib/browser/preload/i18n-preload-contribution.d.ts +1 -1
- package/lib/browser/preload/i18n-preload-contribution.d.ts.map +1 -1
- package/lib/browser/preload/i18n-preload-contribution.js +2 -2
- package/lib/browser/preload/i18n-preload-contribution.js.map +1 -1
- package/lib/browser/preload/os-preload-contribution.d.ts +1 -1
- package/lib/browser/preload/os-preload-contribution.d.ts.map +1 -1
- package/lib/browser/preload/os-preload-contribution.js +6 -6
- package/lib/browser/preload/os-preload-contribution.js.map +1 -1
- package/lib/browser/saveable-service.d.ts +9 -2
- package/lib/browser/saveable-service.d.ts.map +1 -1
- package/lib/browser/saveable-service.js +34 -25
- package/lib/browser/saveable-service.js.map +1 -1
- package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar.d.ts +1 -0
- package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar.d.ts.map +1 -1
- package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar.js +10 -1
- package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar.js.map +1 -1
- package/lib/browser/shell/tab-bar-toolbar/tab-toolbar-item.d.ts +2 -0
- package/lib/browser/shell/tab-bar-toolbar/tab-toolbar-item.d.ts.map +1 -1
- package/lib/browser/shell/tab-bar-toolbar/tab-toolbar-item.js +11 -2
- package/lib/browser/shell/tab-bar-toolbar/tab-toolbar-item.js.map +1 -1
- package/lib/browser/window/browser-window-module.d.ts.map +1 -1
- package/lib/browser/window/browser-window-module.js +2 -0
- package/lib/browser/window/browser-window-module.js.map +1 -1
- package/lib/browser/window/default-secondary-window-service.d.ts +2 -0
- package/lib/browser/window/default-secondary-window-service.d.ts.map +1 -1
- package/lib/browser/window/default-secondary-window-service.js +7 -0
- package/lib/browser/window/default-secondary-window-service.js.map +1 -1
- package/lib/browser/window/window-focus-service.d.ts +71 -0
- package/lib/browser/window/window-focus-service.d.ts.map +1 -0
- package/lib/browser/window/window-focus-service.js +173 -0
- package/lib/browser/window/window-focus-service.js.map +1 -0
- package/lib/common/event.d.ts +16 -0
- package/lib/common/event.d.ts.map +1 -1
- package/lib/common/event.js +20 -2
- package/lib/common/event.js.map +1 -1
- package/lib/common/event.spec.js +63 -0
- package/lib/common/event.spec.js.map +1 -1
- package/lib/common/glob.d.ts +2 -0
- package/lib/common/glob.d.ts.map +1 -1
- package/lib/common/glob.js +8 -7
- package/lib/common/glob.js.map +1 -1
- package/lib/common/message-rpc/channel.d.ts +1 -1
- package/lib/common/message-rpc/channel.d.ts.map +1 -1
- package/lib/common/message-rpc/channel.js +20 -12
- package/lib/common/message-rpc/channel.js.map +1 -1
- package/lib/common/message-rpc/channel.spec.d.ts.map +1 -1
- package/lib/common/message-rpc/channel.spec.js +94 -0
- package/lib/common/message-rpc/channel.spec.js.map +1 -1
- package/lib/common/message-rpc/rpc-protocol.d.ts.map +1 -1
- package/lib/common/message-rpc/rpc-protocol.js +13 -3
- package/lib/common/message-rpc/rpc-protocol.js.map +1 -1
- package/lib/common/message-rpc/uint8-array-message-buffer.d.ts.map +1 -1
- package/lib/common/message-rpc/uint8-array-message-buffer.js +1 -1
- package/lib/common/message-rpc/uint8-array-message-buffer.js.map +1 -1
- package/lib/common/messaging/index.d.ts +1 -0
- package/lib/common/messaging/index.d.ts.map +1 -1
- package/lib/common/messaging/index.js +1 -0
- package/lib/common/messaging/index.js.map +1 -1
- package/lib/common/messaging/socket-write-buffer.d.ts +4 -3
- package/lib/common/messaging/socket-write-buffer.d.ts.map +1 -1
- package/lib/common/messaging/socket-write-buffer.js +14 -4
- package/lib/common/messaging/socket-write-buffer.js.map +1 -1
- package/lib/common/performance/index.d.ts +1 -0
- package/lib/common/performance/index.d.ts.map +1 -1
- package/lib/common/performance/index.js +1 -0
- package/lib/common/performance/index.js.map +1 -1
- package/lib/common/performance/simple-stopwatch.d.ts +18 -0
- package/lib/common/performance/simple-stopwatch.d.ts.map +1 -0
- package/lib/common/performance/simple-stopwatch.js +80 -0
- package/lib/common/performance/simple-stopwatch.js.map +1 -0
- package/lib/common/performance/stopwatch.d.ts +41 -0
- package/lib/common/performance/stopwatch.d.ts.map +1 -1
- package/lib/common/performance/stopwatch.js +89 -3
- package/lib/common/performance/stopwatch.js.map +1 -1
- package/lib/common/performance/stopwatch.spec.d.ts +2 -0
- package/lib/common/performance/stopwatch.spec.d.ts.map +1 -0
- package/lib/common/performance/stopwatch.spec.js +256 -0
- package/lib/common/performance/stopwatch.spec.js.map +1 -0
- package/lib/common/preferences/index.d.ts +1 -0
- package/lib/common/preferences/index.d.ts.map +1 -1
- package/lib/common/preferences/index.js +1 -0
- package/lib/common/preferences/index.js.map +1 -1
- package/lib/common/preferences/preference-utils.d.ts +6 -0
- package/lib/common/preferences/preference-utils.d.ts.map +1 -0
- package/lib/common/preferences/preference-utils.js +29 -0
- package/lib/common/preferences/preference-utils.js.map +1 -0
- package/lib/common/resource.d.ts +2 -0
- package/lib/common/resource.d.ts.map +1 -1
- package/lib/common/resource.js +7 -3
- package/lib/common/resource.js.map +1 -1
- package/lib/electron-browser/menu/electron-main-menu-factory.d.ts.map +1 -1
- package/lib/electron-browser/menu/electron-main-menu-factory.js +5 -1
- package/lib/electron-browser/menu/electron-main-menu-factory.js.map +1 -1
- package/lib/electron-browser/messaging/electron-messaging-frontend-module.d.ts.map +1 -1
- package/lib/electron-browser/messaging/electron-messaging-frontend-module.js +3 -0
- package/lib/electron-browser/messaging/electron-messaging-frontend-module.js.map +1 -1
- package/lib/electron-browser/window/electron-window-module.d.ts.map +1 -1
- package/lib/electron-browser/window/electron-window-module.js +2 -0
- package/lib/electron-browser/window/electron-window-module.js.map +1 -1
- package/lib/electron-main/electron-api-main.d.ts.map +1 -1
- package/lib/electron-main/electron-api-main.js +4 -2
- package/lib/electron-main/electron-api-main.js.map +1 -1
- package/lib/electron-main/electron-main-application-module.d.ts.map +1 -1
- package/lib/electron-main/electron-main-application-module.js +3 -0
- package/lib/electron-main/electron-main-application-module.js.map +1 -1
- package/lib/electron-main/electron-main-application.d.ts +2 -0
- package/lib/electron-main/electron-main-application.d.ts.map +1 -1
- package/lib/electron-main/electron-main-application.js +14 -5
- package/lib/electron-main/electron-main-application.js.map +1 -1
- package/lib/electron-main/theia-electron-window.d.ts.map +1 -1
- package/lib/electron-main/theia-electron-window.js +3 -0
- package/lib/electron-main/theia-electron-window.js.map +1 -1
- package/lib/node/backend-application.d.ts +2 -0
- package/lib/node/backend-application.d.ts.map +1 -1
- package/lib/node/backend-application.js +17 -5
- package/lib/node/backend-application.js.map +1 -1
- package/lib/node/messaging/default-messaging-service.d.ts.map +1 -1
- package/lib/node/messaging/default-messaging-service.js +1 -0
- package/lib/node/messaging/default-messaging-service.js.map +1 -1
- package/lib/node/messaging/index.d.ts +1 -0
- package/lib/node/messaging/index.d.ts.map +1 -1
- package/lib/node/messaging/index.js +1 -0
- package/lib/node/messaging/index.js.map +1 -1
- package/lib/node/messaging/messaging-backend-module.d.ts.map +1 -1
- package/lib/node/messaging/messaging-backend-module.js +4 -0
- package/lib/node/messaging/messaging-backend-module.js.map +1 -1
- package/lib/node/messaging/test/default-messaging-service.spec.d.ts +2 -0
- package/lib/node/messaging/test/default-messaging-service.spec.d.ts.map +1 -0
- package/lib/node/messaging/test/default-messaging-service.spec.js +81 -0
- package/lib/node/messaging/test/default-messaging-service.spec.js.map +1 -0
- package/lib/node/messaging/websocket-frontend-connection-service.d.ts +9 -5
- package/lib/node/messaging/websocket-frontend-connection-service.d.ts.map +1 -1
- package/lib/node/messaging/websocket-frontend-connection-service.js +21 -5
- package/lib/node/messaging/websocket-frontend-connection-service.js.map +1 -1
- package/lib/node/performance/node-stopwatch.js +1 -1
- package/lib/node/performance/node-stopwatch.js.map +1 -1
- package/lib/node/process-utils.d.ts.map +1 -1
- package/lib/node/process-utils.js +9 -1
- package/lib/node/process-utils.js.map +1 -1
- package/package.json +34 -34
- package/src/browser/common-frontend-contribution.ts +2 -2
- package/src/browser/components/card.tsx +13 -2
- package/src/browser/connection-status-service.ts +1 -1
- package/src/browser/frontend-application-contribution.ts +2 -2
- package/src/browser/frontend-application.ts +26 -17
- package/src/browser/keyboard/index.ts +1 -0
- package/src/browser/keyboard/keyboard-utils.ts +37 -0
- package/src/browser/menu/browser-menu-plugin.ts +8 -1
- package/src/browser/messaging/connection-source.ts +2 -1
- package/src/browser/messaging/messaging-frontend-module.ts +3 -0
- package/src/browser/messaging/service-connection-provider.ts +2 -2
- package/src/browser/messaging/ws-connection-provider.ts +1 -1
- package/src/browser/messaging/ws-connection-source.ts +7 -4
- package/src/browser/performance/frontend-stopwatch.ts +1 -1
- package/src/browser/preload/i18n-preload-contribution.ts +1 -1
- package/src/browser/preload/os-preload-contribution.ts +1 -1
- package/src/browser/saveable-service.ts +34 -27
- package/src/browser/shell/tab-bar-toolbar/tab-bar-toolbar.tsx +14 -1
- package/src/browser/shell/tab-bar-toolbar/tab-toolbar-item.tsx +13 -2
- package/src/browser/style/card.css +4 -2
- package/src/browser/style/hover-service.css +7 -0
- package/src/browser/window/browser-window-module.ts +2 -0
- package/src/browser/window/default-secondary-window-service.ts +6 -0
- package/src/browser/window/window-focus-service.ts +187 -0
- package/src/common/event.spec.ts +80 -0
- package/src/common/event.ts +31 -2
- package/src/common/glob.ts +2 -2
- package/src/common/i18n/nls.metadata.json +4254 -1058
- package/src/common/message-rpc/channel.spec.ts +116 -0
- package/src/common/message-rpc/channel.ts +15 -11
- package/src/common/message-rpc/rpc-protocol.ts +12 -3
- package/src/common/message-rpc/uint8-array-message-buffer.ts +1 -1
- package/src/common/messaging/index.ts +1 -0
- package/src/common/messaging/socket-write-buffer.ts +10 -4
- package/src/common/performance/index.ts +1 -0
- package/src/common/performance/simple-stopwatch.ts +91 -0
- package/src/common/performance/stopwatch.spec.ts +321 -0
- package/src/common/performance/stopwatch.ts +103 -2
- package/src/common/preferences/index.ts +1 -0
- package/src/common/preferences/preference-utils.ts +28 -0
- package/src/common/resource.ts +8 -2
- package/src/electron-browser/menu/electron-main-menu-factory.ts +5 -1
- package/src/electron-browser/messaging/electron-messaging-frontend-module.ts +3 -0
- package/src/electron-browser/window/electron-window-module.ts +2 -0
- package/src/electron-main/electron-api-main.ts +4 -2
- package/src/electron-main/electron-main-application-module.ts +3 -0
- package/src/electron-main/electron-main-application.ts +21 -5
- package/src/electron-main/theia-electron-window.ts +3 -0
- package/src/node/backend-application.ts +27 -10
- package/src/node/messaging/default-messaging-service.ts +1 -0
- package/src/node/messaging/index.ts +1 -0
- package/src/node/messaging/messaging-backend-module.ts +5 -1
- package/src/node/messaging/test/default-messaging-service.spec.ts +85 -0
- package/src/node/messaging/websocket-frontend-connection-service.ts +20 -7
- package/src/node/performance/node-stopwatch.ts +1 -1
- package/src/node/process-utils.ts +9 -1
package/src/common/event.ts
CHANGED
|
@@ -123,6 +123,8 @@ class CallbackList implements Iterable<Callback> {
|
|
|
123
123
|
private _callbacks: Function[] | undefined;
|
|
124
124
|
private _contexts: any[] | undefined;
|
|
125
125
|
|
|
126
|
+
constructor(private readonly errorHandling: ErrorHandlingStrategy = 'log') {}
|
|
127
|
+
|
|
126
128
|
get length(): number {
|
|
127
129
|
return this._callbacks && this._callbacks.length || 0;
|
|
128
130
|
}
|
|
@@ -179,13 +181,25 @@ class CallbackList implements Iterable<Callback> {
|
|
|
179
181
|
|
|
180
182
|
public invoke(...args: any[]): any[] {
|
|
181
183
|
const ret: any[] = [];
|
|
184
|
+
const errors: unknown[] = [];
|
|
182
185
|
for (const callback of this) {
|
|
183
186
|
try {
|
|
184
187
|
ret.push(callback(...args));
|
|
185
188
|
} catch (e) {
|
|
186
|
-
|
|
189
|
+
if (this.errorHandling === 'propagate') {
|
|
190
|
+
errors.push(e);
|
|
191
|
+
} else if (typeof this.errorHandling === 'function') {
|
|
192
|
+
this.errorHandling(e);
|
|
193
|
+
} else {
|
|
194
|
+
console.error(e);
|
|
195
|
+
}
|
|
187
196
|
}
|
|
188
197
|
}
|
|
198
|
+
if (errors.length === 1) {
|
|
199
|
+
throw errors[0];
|
|
200
|
+
} else if (errors.length > 1) {
|
|
201
|
+
throw new AggregateError(errors, 'Multiple event listeners failed');
|
|
202
|
+
}
|
|
189
203
|
return ret;
|
|
190
204
|
}
|
|
191
205
|
|
|
@@ -199,9 +213,24 @@ class CallbackList implements Iterable<Callback> {
|
|
|
199
213
|
}
|
|
200
214
|
}
|
|
201
215
|
|
|
216
|
+
/**
|
|
217
|
+
* A strategy for handling errors in firing an emitter's event, one of
|
|
218
|
+
*
|
|
219
|
+
* - `'log'` (default): errors are caught and logged via `console.error`
|
|
220
|
+
* - `'propagate'`: all listeners are called; if any throw, the errors are collected
|
|
221
|
+
* and re-thrown after all listeners complete (single error re-thrown directly,
|
|
222
|
+
* multiple errors wrapped in an `AggregateError`)
|
|
223
|
+
* - `(error: unknown) => void`: a custom callback invoked for each error
|
|
224
|
+
*/
|
|
225
|
+
export type ErrorHandlingStrategy = 'log' | 'propagate' | ((error: unknown) => void);
|
|
226
|
+
|
|
202
227
|
export interface EmitterOptions {
|
|
203
228
|
onFirstListenerAdd?: Function;
|
|
204
229
|
onLastListenerRemove?: Function;
|
|
230
|
+
/**
|
|
231
|
+
* How errors thrown by event listeners are handled during {@link Emitter.fire}.
|
|
232
|
+
*/
|
|
233
|
+
errorHandling?: ErrorHandlingStrategy;
|
|
205
234
|
}
|
|
206
235
|
|
|
207
236
|
export class Emitter<T = any> {
|
|
@@ -229,7 +258,7 @@ export class Emitter<T = any> {
|
|
|
229
258
|
if (!this._event) {
|
|
230
259
|
this._event = Object.assign((listener: (e: T) => any, thisArgs?: any, disposables?: DisposableGroup) => {
|
|
231
260
|
if (!this._callbacks) {
|
|
232
|
-
this._callbacks = new CallbackList();
|
|
261
|
+
this._callbacks = new CallbackList(this._options?.errorHandling);
|
|
233
262
|
}
|
|
234
263
|
if (this._options && this._options.onFirstListenerAdd && this._callbacks.isEmpty()) {
|
|
235
264
|
this._options.onFirstListenerAdd(this);
|
package/src/common/glob.ts
CHANGED
|
@@ -44,8 +44,8 @@ export interface SiblingClause {
|
|
|
44
44
|
when: string;
|
|
45
45
|
}
|
|
46
46
|
|
|
47
|
-
const GLOBSTAR = '**';
|
|
48
|
-
const GLOB_SPLIT = '/';
|
|
47
|
+
export const GLOBSTAR = '**';
|
|
48
|
+
export const GLOB_SPLIT = '/';
|
|
49
49
|
const PATH_REGEX = '[/\\\\]'; // any slash or backslash
|
|
50
50
|
const NO_PATH_REGEX = '[^/\\\\]'; // any non-slash and non-backslash
|
|
51
51
|
const ALL_FORWARD_SLASHES = /\//g;
|