@theia/core 1.74.0-next.0 → 1.74.0-next.15
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/lib/browser/catalog.json +156 -12
- package/lib/browser/keyboard/keyboard-layout-service.d.ts +2 -0
- package/lib/browser/keyboard/keyboard-layout-service.d.ts.map +1 -1
- package/lib/browser/keyboard/keyboard-layout-service.js +35 -12
- package/lib/browser/keyboard/keyboard-layout-service.js.map +1 -1
- package/lib/browser/keyboard/keyboard-layout-service.spec.js +26 -0
- package/lib/browser/keyboard/keyboard-layout-service.spec.js.map +1 -1
- package/lib/browser/preferences/preference-contribution.d.ts.map +1 -1
- package/lib/browser/preferences/preference-contribution.js +9 -1
- package/lib/browser/preferences/preference-contribution.js.map +1 -1
- package/lib/browser/preferences/preference-service.spec.js +63 -0
- package/lib/browser/preferences/preference-service.spec.js.map +1 -1
- package/lib/common/logger.d.ts.map +1 -1
- package/lib/common/logger.js +11 -1
- package/lib/common/logger.js.map +1 -1
- package/lib/common/logger.spec.js +46 -0
- package/lib/common/logger.spec.js.map +1 -1
- 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-scope.d.ts +6 -1
- package/lib/common/preferences/preference-scope.d.ts.map +1 -1
- package/lib/common/preferences/preference-scope.js +5 -0
- package/lib/common/preferences/preference-scope.js.map +1 -1
- package/lib/common/preferences/preference-scope.spec.js +5 -3
- package/lib/common/preferences/preference-scope.spec.js.map +1 -1
- package/lib/common/preferences/preference-service.d.ts +19 -0
- package/lib/common/preferences/preference-service.d.ts.map +1 -1
- package/lib/common/preferences/preference-service.js +34 -5
- package/lib/common/preferences/preference-service.js.map +1 -1
- package/lib/common/preferences/session-preference-provider.d.ts +17 -0
- package/lib/common/preferences/session-preference-provider.d.ts.map +1 -0
- package/lib/common/preferences/session-preference-provider.js +77 -0
- package/lib/common/preferences/session-preference-provider.js.map +1 -0
- package/lib/common/preferences/session-preference-provider.spec.d.ts +2 -0
- package/lib/common/preferences/session-preference-provider.spec.d.ts.map +1 -0
- package/lib/common/preferences/session-preference-provider.spec.js +71 -0
- package/lib/common/preferences/session-preference-provider.spec.js.map +1 -0
- package/package.json +4 -4
- package/src/browser/keyboard/keyboard-layout-service.spec.ts +28 -0
- package/src/browser/keyboard/keyboard-layout-service.ts +38 -14
- package/src/browser/preferences/preference-contribution.ts +9 -1
- package/src/browser/preferences/preference-service.spec.ts +72 -0
- package/src/browser/style/status-bar.css +1 -1
- package/src/common/logger.spec.ts +62 -1
- package/src/common/logger.ts +13 -4
- package/src/common/preferences/index.ts +1 -0
- package/src/common/preferences/preference-scope.spec.ts +5 -3
- package/src/common/preferences/preference-scope.ts +6 -1
- package/src/common/preferences/preference-service.ts +39 -5
- package/src/common/preferences/session-preference-provider.spec.ts +78 -0
- package/src/common/preferences/session-preference-provider.ts +69 -0
|
@@ -202,10 +202,35 @@ let PreferenceServiceImpl = class PreferenceServiceImpl {
|
|
|
202
202
|
}
|
|
203
203
|
const provider = this.getProvider(resolvedScope);
|
|
204
204
|
if (provider && await provider.setPreference(preferenceName, value, resourceUri)) {
|
|
205
|
+
await this.evictSessionOverride(preferenceName, resolvedScope);
|
|
205
206
|
return;
|
|
206
207
|
}
|
|
207
208
|
throw new Error(`Unable to write to ${preference_scope_1.PreferenceScope[resolvedScope]} Settings.`);
|
|
208
209
|
}
|
|
210
|
+
/**
|
|
211
|
+
* When a preference is written to a persistent scope, drop any in-memory session
|
|
212
|
+
* override (set via `--session-preference`) for the same key so that the explicit
|
|
213
|
+
* change takes effect for the remainder of the session. Without this, the session
|
|
214
|
+
* scope would keep shadowing the user's change because it has higher precedence.
|
|
215
|
+
*
|
|
216
|
+
* Note: this fires for any write to a persistent scope, including programmatic
|
|
217
|
+
* writes from extensions. Extensions that race with startup CLI overrides will
|
|
218
|
+
* therefore clear them. This is intentional: a programmatic write is "explicit"
|
|
219
|
+
* from the preference system's point of view, but consumers should be aware.
|
|
220
|
+
*
|
|
221
|
+
* Session preferences are global (no per-resource scoping), so `resourceUri` is
|
|
222
|
+
* not threaded through.
|
|
223
|
+
*/
|
|
224
|
+
async evictSessionOverride(preferenceName, writtenScope) {
|
|
225
|
+
if (writtenScope === preference_scope_1.PreferenceScope.Session || writtenScope === preference_scope_1.PreferenceScope.Default) {
|
|
226
|
+
return;
|
|
227
|
+
}
|
|
228
|
+
const sessionProvider = this.getProvider(preference_scope_1.PreferenceScope.Session);
|
|
229
|
+
if (sessionProvider && sessionProvider.get(preferenceName) !== undefined) {
|
|
230
|
+
// Passing `undefined` clears the value in the session provider.
|
|
231
|
+
await sessionProvider.setPreference(preferenceName, undefined);
|
|
232
|
+
}
|
|
233
|
+
}
|
|
209
234
|
getBoolean(preferenceName, defaultValue, resourceUri) {
|
|
210
235
|
const value = resourceUri ? this.get(preferenceName, defaultValue, resourceUri) : this.get(preferenceName, defaultValue);
|
|
211
236
|
// eslint-disable-next-line no-null/no-null
|
|
@@ -235,8 +260,9 @@ let PreferenceServiceImpl = class PreferenceServiceImpl {
|
|
|
235
260
|
const globalValue = this.inspectInScope(preferenceName, preference_scope_1.PreferenceScope.User, resourceUri, forceLanguageOverride);
|
|
236
261
|
const workspaceValue = this.inspectInScope(preferenceName, preference_scope_1.PreferenceScope.Workspace, resourceUri, forceLanguageOverride);
|
|
237
262
|
const workspaceFolderValue = this.inspectInScope(preferenceName, preference_scope_1.PreferenceScope.Folder, resourceUri, forceLanguageOverride);
|
|
238
|
-
const
|
|
239
|
-
|
|
263
|
+
const sessionValue = this.inspectInScope(preferenceName, preference_scope_1.PreferenceScope.Session, resourceUri, forceLanguageOverride);
|
|
264
|
+
const valueApplied = sessionValue ?? workspaceFolderValue ?? workspaceValue ?? globalValue ?? defaultValue;
|
|
265
|
+
return { preferenceName, defaultValue, globalValue, workspaceValue, workspaceFolderValue, sessionValue, value: valueApplied };
|
|
240
266
|
}
|
|
241
267
|
inspectInScope(preferenceName, scope, resourceUri, forceLanguageOverride) {
|
|
242
268
|
const value = this.doInspectInScope(preferenceName, scope, resourceUri);
|
|
@@ -258,6 +284,8 @@ let PreferenceServiceImpl = class PreferenceServiceImpl {
|
|
|
258
284
|
return inspection.workspaceValue;
|
|
259
285
|
case preference_scope_1.PreferenceScope.Folder:
|
|
260
286
|
return inspection.workspaceFolderValue;
|
|
287
|
+
case preference_scope_1.PreferenceScope.Session:
|
|
288
|
+
return inspection.sessionValue;
|
|
261
289
|
}
|
|
262
290
|
(0, types_1.unreachable)(scope, 'Not all PreferenceScope enum variants handled.');
|
|
263
291
|
}
|
|
@@ -278,9 +306,10 @@ let PreferenceServiceImpl = class PreferenceServiceImpl {
|
|
|
278
306
|
return [];
|
|
279
307
|
}
|
|
280
308
|
// Scopes in ascending order of scope breadth.
|
|
281
|
-
const allScopes = [...this.schemaService.validScopes].reverse()
|
|
282
|
-
|
|
283
|
-
|
|
309
|
+
const allScopes = [...this.schemaService.validScopes].reverse()
|
|
310
|
+
// Default is read-only, and Session is populated only by `--session-preference`,
|
|
311
|
+
// so neither is a valid target for a regular user edit.
|
|
312
|
+
.filter(scope => scope !== preference_scope_1.PreferenceScope.Default && scope !== preference_scope_1.PreferenceScope.Session);
|
|
284
313
|
const isScopeDefined = (scope) => this.getScopedValueFromInspection(inspection, scope) !== undefined;
|
|
285
314
|
if (intendedValue === undefined) {
|
|
286
315
|
return allScopes.filter(isScopeDefined);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preference-service.js","sourceRoot":"","sources":["../../../src/common/preferences/preference-service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"preference-service.js","sourceRoot":"","sources":["../../../src/common/preferences/preference-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { JSONObject, JSONValue } from '@lumino/coreutils';
|
|
2
|
+
import { PreferenceProvider } from './preference-provider';
|
|
3
|
+
import { PreferenceProviderImpl } from './preference-provider-impl';
|
|
4
|
+
import { PreferenceScope } from './preference-scope';
|
|
5
|
+
/**
|
|
6
|
+
* In-memory preference provider used for process-lifetime overrides such as those
|
|
7
|
+
* supplied via the `--session-preference` CLI option. Values live in memory only
|
|
8
|
+
* and are dropped when the process exits.
|
|
9
|
+
*/
|
|
10
|
+
export declare class SessionPreferenceProvider extends PreferenceProviderImpl implements PreferenceProvider {
|
|
11
|
+
protected readonly preferences: Map<string, JSONValue>;
|
|
12
|
+
protected init(): void;
|
|
13
|
+
canHandleScope(scope: PreferenceScope): boolean;
|
|
14
|
+
getPreferences(): JSONObject;
|
|
15
|
+
setPreference(key: string, value: JSONValue | undefined): Promise<boolean>;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=session-preference-provider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-preference-provider.d.ts","sourceRoot":"","sources":["../../../src/common/preferences/session-preference-provider.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAE1D,OAAO,EAAE,kBAAkB,EAAgC,MAAM,uBAAuB,CAAC;AACzF,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD;;;;GAIG;AACH,qBACa,yBAA0B,SAAQ,sBAAuB,YAAW,kBAAkB;IAE/F,SAAS,CAAC,QAAQ,CAAC,WAAW,yBAAgC;IAG9D,SAAS,CAAC,IAAI,IAAI,IAAI;IAIb,cAAc,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO;IAIxD,cAAc,IAAI,UAAU;IAQtB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC;CAmBnF"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// *****************************************************************************
|
|
3
|
+
// Copyright (C) 2026 EclipseSource and others.
|
|
4
|
+
//
|
|
5
|
+
// This program and the accompanying materials are made available under the
|
|
6
|
+
// terms of the Eclipse Public License v. 2.0 which is available at
|
|
7
|
+
// http://www.eclipse.org/legal/epl-2.0.
|
|
8
|
+
//
|
|
9
|
+
// This Source Code may also be made available under the following Secondary
|
|
10
|
+
// Licenses when the conditions for such availability set forth in the Eclipse
|
|
11
|
+
// Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
12
|
+
// with the GNU Classpath Exception which is available at
|
|
13
|
+
// https://www.gnu.org/software/classpath/license.html.
|
|
14
|
+
//
|
|
15
|
+
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
16
|
+
// *****************************************************************************
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
exports.SessionPreferenceProvider = void 0;
|
|
19
|
+
const tslib_1 = require("tslib");
|
|
20
|
+
const inversify_1 = require("inversify");
|
|
21
|
+
const preference_provider_impl_1 = require("./preference-provider-impl");
|
|
22
|
+
const preference_scope_1 = require("./preference-scope");
|
|
23
|
+
/**
|
|
24
|
+
* In-memory preference provider used for process-lifetime overrides such as those
|
|
25
|
+
* supplied via the `--session-preference` CLI option. Values live in memory only
|
|
26
|
+
* and are dropped when the process exits.
|
|
27
|
+
*/
|
|
28
|
+
let SessionPreferenceProvider = class SessionPreferenceProvider extends preference_provider_impl_1.PreferenceProviderImpl {
|
|
29
|
+
constructor() {
|
|
30
|
+
super(...arguments);
|
|
31
|
+
this.preferences = new Map();
|
|
32
|
+
}
|
|
33
|
+
init() {
|
|
34
|
+
this._ready.resolve();
|
|
35
|
+
}
|
|
36
|
+
canHandleScope(scope) {
|
|
37
|
+
return scope === preference_scope_1.PreferenceScope.Session;
|
|
38
|
+
}
|
|
39
|
+
getPreferences() {
|
|
40
|
+
const result = {};
|
|
41
|
+
for (const [name, value] of this.preferences) {
|
|
42
|
+
result[name] = value;
|
|
43
|
+
}
|
|
44
|
+
return result;
|
|
45
|
+
}
|
|
46
|
+
async setPreference(key, value) {
|
|
47
|
+
const oldValue = this.preferences.get(key);
|
|
48
|
+
if (value === undefined) {
|
|
49
|
+
if (!this.preferences.has(key)) {
|
|
50
|
+
return false;
|
|
51
|
+
}
|
|
52
|
+
this.preferences.delete(key);
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
this.preferences.set(key, value);
|
|
56
|
+
}
|
|
57
|
+
const change = {
|
|
58
|
+
preferenceName: key,
|
|
59
|
+
newValue: value,
|
|
60
|
+
oldValue,
|
|
61
|
+
scope: preference_scope_1.PreferenceScope.Session
|
|
62
|
+
};
|
|
63
|
+
await this.emitPreferencesChangedEvent([change]);
|
|
64
|
+
return true;
|
|
65
|
+
}
|
|
66
|
+
};
|
|
67
|
+
exports.SessionPreferenceProvider = SessionPreferenceProvider;
|
|
68
|
+
tslib_1.__decorate([
|
|
69
|
+
(0, inversify_1.postConstruct)(),
|
|
70
|
+
tslib_1.__metadata("design:type", Function),
|
|
71
|
+
tslib_1.__metadata("design:paramtypes", []),
|
|
72
|
+
tslib_1.__metadata("design:returntype", void 0)
|
|
73
|
+
], SessionPreferenceProvider.prototype, "init", null);
|
|
74
|
+
exports.SessionPreferenceProvider = SessionPreferenceProvider = tslib_1.__decorate([
|
|
75
|
+
(0, inversify_1.injectable)()
|
|
76
|
+
], SessionPreferenceProvider);
|
|
77
|
+
//# sourceMappingURL=session-preference-provider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-preference-provider.js","sourceRoot":"","sources":["../../../src/common/preferences/session-preference-provider.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,+CAA+C;AAC/C,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;;;;AAGhF,yCAAsD;AAEtD,yEAAoE;AACpE,yDAAqD;AAErD;;;;GAIG;AAEI,IAAM,yBAAyB,GAA/B,MAAM,yBAA0B,SAAQ,iDAAsB;IAA9D;;QAEgB,gBAAW,GAAG,IAAI,GAAG,EAAqB,CAAC;IAsClE,CAAC;IAnCa,IAAI;QACV,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;IAC1B,CAAC;IAEQ,cAAc,CAAC,KAAsB;QAC1C,OAAO,KAAK,KAAK,kCAAe,CAAC,OAAO,CAAC;IAC7C,CAAC;IAED,cAAc;QACV,MAAM,MAAM,GAAe,EAAE,CAAC;QAC9B,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YAC3C,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;QACzB,CAAC;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,GAAW,EAAE,KAA4B;QACzD,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC3C,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACtB,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC7B,OAAO,KAAK,CAAC;YACjB,CAAC;YACD,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACjC,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACrC,CAAC;QACD,MAAM,MAAM,GAAiC;YACzC,cAAc,EAAE,GAAG;YACnB,QAAQ,EAAE,KAAK;YACf,QAAQ;YACR,KAAK,EAAE,kCAAe,CAAC,OAAO;SACjC,CAAC;QACF,MAAM,IAAI,CAAC,2BAA2B,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;QACjD,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ,CAAA;AAxCY,8DAAyB;AAKxB;IADT,IAAA,yBAAa,GAAE;;;;qDAGf;oCAPQ,yBAAyB;IADrC,IAAA,sBAAU,GAAE;GACA,yBAAyB,CAwCrC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-preference-provider.spec.d.ts","sourceRoot":"","sources":["../../../src/common/preferences/session-preference-provider.spec.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// *****************************************************************************
|
|
3
|
+
// Copyright (C) 2026 EclipseSource and others.
|
|
4
|
+
//
|
|
5
|
+
// This program and the accompanying materials are made available under the
|
|
6
|
+
// terms of the Eclipse Public License v. 2.0 which is available at
|
|
7
|
+
// http://www.eclipse.org/legal/epl-2.0.
|
|
8
|
+
//
|
|
9
|
+
// This Source Code may also be made available under the following Secondary
|
|
10
|
+
// Licenses when the conditions for such availability set forth in the Eclipse
|
|
11
|
+
// Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
12
|
+
// with the GNU Classpath Exception which is available at
|
|
13
|
+
// https://www.gnu.org/software/classpath/license.html.
|
|
14
|
+
//
|
|
15
|
+
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
16
|
+
// *****************************************************************************
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
const chai_1 = require("chai");
|
|
19
|
+
const session_preference_provider_1 = require("./session-preference-provider");
|
|
20
|
+
const preference_scope_1 = require("./preference-scope");
|
|
21
|
+
describe('SessionPreferenceProvider', () => {
|
|
22
|
+
let provider;
|
|
23
|
+
beforeEach(() => {
|
|
24
|
+
provider = new session_preference_provider_1.SessionPreferenceProvider();
|
|
25
|
+
// PostConstruct emulation
|
|
26
|
+
provider.init();
|
|
27
|
+
});
|
|
28
|
+
it('claims only the Session scope', () => {
|
|
29
|
+
(0, chai_1.expect)(provider.canHandleScope(preference_scope_1.PreferenceScope.Session)).to.be.true;
|
|
30
|
+
(0, chai_1.expect)(provider.canHandleScope(preference_scope_1.PreferenceScope.User)).to.be.false;
|
|
31
|
+
(0, chai_1.expect)(provider.canHandleScope(preference_scope_1.PreferenceScope.Workspace)).to.be.false;
|
|
32
|
+
(0, chai_1.expect)(provider.canHandleScope(preference_scope_1.PreferenceScope.Folder)).to.be.false;
|
|
33
|
+
(0, chai_1.expect)(provider.canHandleScope(preference_scope_1.PreferenceScope.Default)).to.be.false;
|
|
34
|
+
});
|
|
35
|
+
it('starts empty', () => {
|
|
36
|
+
(0, chai_1.expect)(provider.getPreferences()).to.deep.equal({});
|
|
37
|
+
});
|
|
38
|
+
it('stores set values in memory and exposes them via get/resolve', async () => {
|
|
39
|
+
const ok = await provider.setPreference('editor.fontSize', 18);
|
|
40
|
+
(0, chai_1.expect)(ok).to.be.true;
|
|
41
|
+
(0, chai_1.expect)(provider.get('editor.fontSize')).to.equal(18);
|
|
42
|
+
(0, chai_1.expect)(provider.resolve('editor.fontSize').value).to.equal(18);
|
|
43
|
+
(0, chai_1.expect)(provider.getPreferences()).to.deep.equal({ 'editor.fontSize': 18 });
|
|
44
|
+
});
|
|
45
|
+
it('emits a change event on set', async () => {
|
|
46
|
+
let received;
|
|
47
|
+
provider.onDidPreferencesChanged(changes => {
|
|
48
|
+
const key = Object.keys(changes)[0];
|
|
49
|
+
received = {
|
|
50
|
+
name: changes[key].preferenceName,
|
|
51
|
+
newValue: changes[key].newValue,
|
|
52
|
+
oldValue: changes[key].oldValue,
|
|
53
|
+
scope: changes[key].scope
|
|
54
|
+
};
|
|
55
|
+
});
|
|
56
|
+
await provider.setPreference('foo', 'bar');
|
|
57
|
+
(0, chai_1.expect)(received).to.deep.equal({ name: 'foo', newValue: 'bar', oldValue: undefined, scope: preference_scope_1.PreferenceScope.Session });
|
|
58
|
+
});
|
|
59
|
+
it('removes a value when set to undefined', async () => {
|
|
60
|
+
await provider.setPreference('foo', 'bar');
|
|
61
|
+
const removed = await provider.setPreference('foo', undefined);
|
|
62
|
+
(0, chai_1.expect)(removed).to.be.true;
|
|
63
|
+
(0, chai_1.expect)(provider.get('foo')).to.equal(undefined);
|
|
64
|
+
(0, chai_1.expect)(provider.getPreferences()).to.deep.equal({});
|
|
65
|
+
});
|
|
66
|
+
it('returns false when removing a key that was never set', async () => {
|
|
67
|
+
const removed = await provider.setPreference('missing', undefined);
|
|
68
|
+
(0, chai_1.expect)(removed).to.be.false;
|
|
69
|
+
});
|
|
70
|
+
});
|
|
71
|
+
//# sourceMappingURL=session-preference-provider.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-preference-provider.spec.js","sourceRoot":"","sources":["../../../src/common/preferences/session-preference-provider.spec.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.74.0-next.
|
|
3
|
+
"version": "1.74.0-next.15+28d45f428",
|
|
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,8 +17,8 @@
|
|
|
17
17
|
"@lumino/virtualdom": "^2.0.4",
|
|
18
18
|
"@lumino/widgets": "2.7.5",
|
|
19
19
|
"@parcel/watcher": "^2.5.6",
|
|
20
|
-
"@theia/application-package": "1.74.0-next.
|
|
21
|
-
"@theia/request": "1.74.0-next.
|
|
20
|
+
"@theia/application-package": "1.74.0-next.15+28d45f428",
|
|
21
|
+
"@theia/request": "1.74.0-next.15+28d45f428",
|
|
22
22
|
"@types/body-parser": "^1.19.6",
|
|
23
23
|
"@types/express": "^4.17.25",
|
|
24
24
|
"@types/fs-extra": "^4.0.15",
|
|
@@ -230,5 +230,5 @@
|
|
|
230
230
|
"nyc": {
|
|
231
231
|
"extends": "../../configs/nyc.json"
|
|
232
232
|
},
|
|
233
|
-
"gitHead": "
|
|
233
|
+
"gitHead": "28d45f4284702e106aa784d69bc3d3418243a05a"
|
|
234
234
|
}
|
|
@@ -92,6 +92,34 @@ describe('keyboard layout service', function (): void {
|
|
|
92
92
|
chai.expect(service.getKeyboardCharacter(indentLine.key!)).to.equal(')');
|
|
93
93
|
});
|
|
94
94
|
|
|
95
|
+
it('does not let a dead key hijack a keybinding on Mac (#17677)', async () => {
|
|
96
|
+
// On macOS US Extended, Option+P is the "combining comma below" dead key whose display glyph
|
|
97
|
+
// is reported as ',' by native-keymap. Since KeyP is reported before Comma, without honoring the
|
|
98
|
+
// dead-key flags it would claim the ',' slot and resolve ctrlcmd+, to Cmd+Ctrl+Option+P.
|
|
99
|
+
const macUSExtended: NativeKeyboardLayout = {
|
|
100
|
+
info: { id: 'com.apple.keylayout.USExtended', lang: 'en' },
|
|
101
|
+
mapping: {
|
|
102
|
+
KeyP: {
|
|
103
|
+
value: 'p', valueIsDeadKey: false,
|
|
104
|
+
withShift: 'P', withShiftIsDeadKey: false,
|
|
105
|
+
withAltGr: ',', withAltGrIsDeadKey: true,
|
|
106
|
+
withShiftAltGr: '̦', withShiftAltGrIsDeadKey: true
|
|
107
|
+
},
|
|
108
|
+
Comma: {
|
|
109
|
+
value: ',', valueIsDeadKey: false,
|
|
110
|
+
withShift: '<', withShiftIsDeadKey: false,
|
|
111
|
+
withAltGr: '≤', withAltGrIsDeadKey: false,
|
|
112
|
+
withShiftAltGr: '¯', withShiftAltGrIsDeadKey: false
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
};
|
|
116
|
+
const service = await setup(macUSExtended, 'mac');
|
|
117
|
+
|
|
118
|
+
const openSettings = service.resolveKeyCode(KeyCode.createKeyCode('Comma+M1'));
|
|
119
|
+
chai.expect(openSettings.toString()).to.equal('meta+,');
|
|
120
|
+
chai.expect(service.getKeyboardCharacter(openSettings.key!)).to.equal(',');
|
|
121
|
+
});
|
|
122
|
+
|
|
95
123
|
it('resolves correct key bindings with German Windows layout', async () => {
|
|
96
124
|
const winGerman = require('../../../src/common/keyboard/layouts/de-German-pc.json');
|
|
97
125
|
const service = await setup(winGerman, 'win');
|
|
@@ -15,8 +15,8 @@
|
|
|
15
15
|
// *****************************************************************************
|
|
16
16
|
|
|
17
17
|
import { injectable, inject, optional } from 'inversify';
|
|
18
|
-
import type { IWindowsKeyMapping } from 'native-keymap';
|
|
19
|
-
import { isWindows } from '../../common/os';
|
|
18
|
+
import type { ILinuxKeyMapping, IMacKeyMapping, IWindowsKeyMapping } from 'native-keymap';
|
|
19
|
+
import { isOSX, isWindows } from '../../common/os';
|
|
20
20
|
import {
|
|
21
21
|
NativeKeyboardLayout, KeyboardLayoutProvider, KeyboardLayoutChangeNotifier, KeyValidator
|
|
22
22
|
} from '../../common/keyboard/keyboard-layout-provider';
|
|
@@ -159,19 +159,10 @@ export class KeyboardLayoutService {
|
|
|
159
159
|
if (mappedKey && this.shouldIncludeKey(code)) {
|
|
160
160
|
if (isWindows) {
|
|
161
161
|
this.addWindowsKeyMapping(key2KeyCode, mappedKey, (keyMapping as IWindowsKeyMapping).vkey, keyMapping.value);
|
|
162
|
+
} else if (isOSX) {
|
|
163
|
+
this.addMacKeyMappings(key2KeyCode, mappedKey, keyMapping as IMacKeyMapping);
|
|
162
164
|
} else {
|
|
163
|
-
|
|
164
|
-
this.addKeyMapping(key2KeyCode, mappedKey, keyMapping.value, false, false);
|
|
165
|
-
}
|
|
166
|
-
if (keyMapping.withShift) {
|
|
167
|
-
this.addKeyMapping(key2KeyCode, mappedKey, keyMapping.withShift, true, false);
|
|
168
|
-
}
|
|
169
|
-
if (keyMapping.withAltGr) {
|
|
170
|
-
this.addKeyMapping(key2KeyCode, mappedKey, keyMapping.withAltGr, false, true);
|
|
171
|
-
}
|
|
172
|
-
if (keyMapping.withShiftAltGr) {
|
|
173
|
-
this.addKeyMapping(key2KeyCode, mappedKey, keyMapping.withShiftAltGr, true, true);
|
|
174
|
-
}
|
|
165
|
+
this.addKeyMappings(key2KeyCode, mappedKey, keyMapping);
|
|
175
166
|
}
|
|
176
167
|
}
|
|
177
168
|
if (keyMapping.value) {
|
|
@@ -190,6 +181,39 @@ export class KeyboardLayoutService {
|
|
|
190
181
|
return !code.startsWith('Numpad');
|
|
191
182
|
}
|
|
192
183
|
|
|
184
|
+
private addKeyMappings(key2KeyCode: KeyCode[], mappedKey: Key, keyMapping: ILinuxKeyMapping): void {
|
|
185
|
+
if (keyMapping.value) {
|
|
186
|
+
this.addKeyMapping(key2KeyCode, mappedKey, keyMapping.value, false, false);
|
|
187
|
+
}
|
|
188
|
+
if (keyMapping.withShift) {
|
|
189
|
+
this.addKeyMapping(key2KeyCode, mappedKey, keyMapping.withShift, true, false);
|
|
190
|
+
}
|
|
191
|
+
if (keyMapping.withAltGr) {
|
|
192
|
+
this.addKeyMapping(key2KeyCode, mappedKey, keyMapping.withAltGr, false, true);
|
|
193
|
+
}
|
|
194
|
+
if (keyMapping.withShiftAltGr) {
|
|
195
|
+
this.addKeyMapping(key2KeyCode, mappedKey, keyMapping.withShiftAltGr, true, true);
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
private addMacKeyMappings(key2KeyCode: KeyCode[], mappedKey: Key, keyMapping: IMacKeyMapping): void {
|
|
200
|
+
// Dead keys (e.g. the combining-accent layer of Option+E on macOS US) await a following keystroke to
|
|
201
|
+
// compose a glyph and so never produce a committed character. They must not be registered as if they
|
|
202
|
+
// produced their display glyph, which would otherwise collide with the real key for that glyph.
|
|
203
|
+
if (keyMapping.value && !keyMapping.valueIsDeadKey) {
|
|
204
|
+
this.addKeyMapping(key2KeyCode, mappedKey, keyMapping.value, false, false);
|
|
205
|
+
}
|
|
206
|
+
if (keyMapping.withShift && !keyMapping.withShiftIsDeadKey) {
|
|
207
|
+
this.addKeyMapping(key2KeyCode, mappedKey, keyMapping.withShift, true, false);
|
|
208
|
+
}
|
|
209
|
+
if (keyMapping.withAltGr && !keyMapping.withAltGrIsDeadKey) {
|
|
210
|
+
this.addKeyMapping(key2KeyCode, mappedKey, keyMapping.withAltGr, false, true);
|
|
211
|
+
}
|
|
212
|
+
if (keyMapping.withShiftAltGr && !keyMapping.withShiftAltGrIsDeadKey) {
|
|
213
|
+
this.addKeyMapping(key2KeyCode, mappedKey, keyMapping.withShiftAltGr, true, true);
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
|
|
193
217
|
private addKeyMapping(key2KeyCode: KeyCode[], mappedKey: Key, value: string, shift: boolean, alt: boolean): void {
|
|
194
218
|
const key = VALUE_TO_KEY[value];
|
|
195
219
|
if (key) {
|
|
@@ -22,16 +22,24 @@ import { isObject } from '../../common/types';
|
|
|
22
22
|
import { PreferenceSchemaServiceImpl } from '../../common/preferences/preference-schema-service';
|
|
23
23
|
import { PreferenceContribution, PreferenceSchemaService } from '../../common/preferences/preference-schema';
|
|
24
24
|
import { DefaultsPreferenceProvider } from '../../common/preferences/defaults-preference-provider';
|
|
25
|
+
import { SessionPreferenceProvider } from '../../common/preferences/session-preference-provider';
|
|
25
26
|
import { PreferenceLanguageOverrideService } from '../../common/preferences/preference-language-override-service';
|
|
26
27
|
import { FrontendConfigPreferenceContribution } from './frontend-config-preference-contributions';
|
|
27
28
|
import { bindPreferenceConfigurations } from '../../common/preferences/preference-configurations';
|
|
28
29
|
|
|
29
30
|
export function bindPreferenceSchemaProvider(bind: interfaces.Bind): void {
|
|
30
31
|
bindPreferenceConfigurations(bind);
|
|
31
|
-
bind(ValidPreferenceScopes).toConstantValue([
|
|
32
|
+
bind(ValidPreferenceScopes).toConstantValue([
|
|
33
|
+
PreferenceScope.Default,
|
|
34
|
+
PreferenceScope.User,
|
|
35
|
+
PreferenceScope.Workspace,
|
|
36
|
+
PreferenceScope.Folder,
|
|
37
|
+
PreferenceScope.Session
|
|
38
|
+
]);
|
|
32
39
|
bind(PreferenceSchemaServiceImpl).toSelf().inSingletonScope();
|
|
33
40
|
bind(PreferenceSchemaService).toService(PreferenceSchemaServiceImpl);
|
|
34
41
|
bind(PreferenceProvider).to(DefaultsPreferenceProvider).inSingletonScope().whenTargetNamed(PreferenceScope.Default);
|
|
42
|
+
bind(PreferenceProvider).to(SessionPreferenceProvider).inSingletonScope().whenTargetNamed(PreferenceScope.Session);
|
|
35
43
|
bind(PreferenceLanguageOverrideService).toSelf().inSingletonScope();
|
|
36
44
|
bindRootContributionProvider(bind, PreferenceContribution);
|
|
37
45
|
bind(PreferenceContribution).to(FrontendConfigPreferenceContribution).inSingletonScope();
|
|
@@ -262,6 +262,7 @@ describe('Preference Service', () => {
|
|
|
262
262
|
globalValue,
|
|
263
263
|
workspaceValue,
|
|
264
264
|
workspaceFolderValue,
|
|
265
|
+
sessionValue: undefined,
|
|
265
266
|
value,
|
|
266
267
|
};
|
|
267
268
|
const inspection = preferences.inspect(TAB_SIZE, DUMMY_URI);
|
|
@@ -374,6 +375,7 @@ describe('Preference Service', () => {
|
|
|
374
375
|
globalValue: undefined,
|
|
375
376
|
workspaceValue: undefined,
|
|
376
377
|
workspaceFolderValue: undefined,
|
|
378
|
+
sessionValue: undefined,
|
|
377
379
|
value: 4,
|
|
378
380
|
};
|
|
379
381
|
assert.deepStrictEqual(expected, preferences.inspect('editor.tabSize'));
|
|
@@ -397,6 +399,7 @@ describe('Preference Service', () => {
|
|
|
397
399
|
globalValue: 2,
|
|
398
400
|
workspaceValue: undefined,
|
|
399
401
|
workspaceFolderValue: undefined,
|
|
402
|
+
sessionValue: undefined,
|
|
400
403
|
value: 2
|
|
401
404
|
};
|
|
402
405
|
preferences.set('editor.tabSize', 2, PreferenceScope.User);
|
|
@@ -422,6 +425,7 @@ describe('Preference Service', () => {
|
|
|
422
425
|
globalValue: undefined,
|
|
423
426
|
workspaceValue: undefined,
|
|
424
427
|
workspaceFolderValue: undefined,
|
|
428
|
+
sessionValue: undefined,
|
|
425
429
|
value: 4
|
|
426
430
|
};
|
|
427
431
|
assert.deepStrictEqual(expected, preferences.inspect('editor.tabSize'));
|
|
@@ -537,4 +541,72 @@ describe('Preference Service', () => {
|
|
|
537
541
|
});
|
|
538
542
|
});
|
|
539
543
|
|
|
544
|
+
describe('session-scope overrides', () => {
|
|
545
|
+
function getSessionProvider(): PreferenceProvider {
|
|
546
|
+
return testContainer.getNamed<PreferenceProvider>(PreferenceProvider, PreferenceScope.Session);
|
|
547
|
+
}
|
|
548
|
+
|
|
549
|
+
beforeEach(() => {
|
|
550
|
+
prefSchema.addSchema({
|
|
551
|
+
scope: PreferenceScope.Folder,
|
|
552
|
+
properties: {
|
|
553
|
+
'test.session': { type: 'number' }
|
|
554
|
+
}
|
|
555
|
+
});
|
|
556
|
+
});
|
|
557
|
+
|
|
558
|
+
it('takes precedence over the user scope', async () => {
|
|
559
|
+
getProvider(PreferenceScope.User).setPreference('test.session', 1);
|
|
560
|
+
await prefService.set('test.session', 99, PreferenceScope.Session);
|
|
561
|
+
expect(prefService.get('test.session')).equals(99);
|
|
562
|
+
});
|
|
563
|
+
|
|
564
|
+
it('is dropped when the same key is written to a persistent scope', async () => {
|
|
565
|
+
const sessionProvider = getSessionProvider();
|
|
566
|
+
getProvider(PreferenceScope.User).setPreference('test.session', 1);
|
|
567
|
+
await prefService.set('test.session', 99, PreferenceScope.Session);
|
|
568
|
+
expect(prefService.get('test.session')).equals(99);
|
|
569
|
+
|
|
570
|
+
// An explicit user edit must win over the session override and clear it.
|
|
571
|
+
await prefService.set('test.session', 2, PreferenceScope.User);
|
|
572
|
+
expect(sessionProvider.get('test.session')).to.equal(undefined);
|
|
573
|
+
expect(prefService.get('test.session')).equals(2);
|
|
574
|
+
});
|
|
575
|
+
|
|
576
|
+
it('is reported via inspect().sessionValue', async () => {
|
|
577
|
+
await prefService.set('test.session', 42, PreferenceScope.Session);
|
|
578
|
+
expect(prefService.inspect('test.session')?.sessionValue).equals(42);
|
|
579
|
+
});
|
|
580
|
+
|
|
581
|
+
it('emits a Session-scope change event when evicted by a persistent write', async () => {
|
|
582
|
+
// Status bar listeners rely on this: an eviction must surface as an
|
|
583
|
+
// onPreferenceChanged event whose `scope` is Session, otherwise the
|
|
584
|
+
// status bar would never clear after the override is dropped.
|
|
585
|
+
await prefService.set('test.session', 99, PreferenceScope.Session);
|
|
586
|
+
|
|
587
|
+
const sessionScopeEvents: PreferenceScope[] = [];
|
|
588
|
+
const listener = prefService.onPreferenceChanged(e => {
|
|
589
|
+
if (e.preferenceName === 'test.session') {
|
|
590
|
+
sessionScopeEvents.push(e.scope);
|
|
591
|
+
}
|
|
592
|
+
});
|
|
593
|
+
try {
|
|
594
|
+
await prefService.set('test.session', 2, PreferenceScope.User);
|
|
595
|
+
} finally {
|
|
596
|
+
listener.dispose();
|
|
597
|
+
}
|
|
598
|
+
|
|
599
|
+
expect(sessionScopeEvents).to.include(PreferenceScope.Session);
|
|
600
|
+
});
|
|
601
|
+
|
|
602
|
+
it('is left alone when writing to the Session scope itself', async () => {
|
|
603
|
+
const sessionProvider = getSessionProvider();
|
|
604
|
+
await prefService.set('test.session', 7, PreferenceScope.Session);
|
|
605
|
+
expect(sessionProvider.get('test.session')).to.equal(7);
|
|
606
|
+
// A second write to Session must not trigger eviction of itself.
|
|
607
|
+
await prefService.set('test.session', 8, PreferenceScope.Session);
|
|
608
|
+
expect(sessionProvider.get('test.session')).to.equal(8);
|
|
609
|
+
});
|
|
610
|
+
});
|
|
611
|
+
|
|
540
612
|
});
|
|
@@ -63,7 +63,7 @@ body.theia-no-open-workspace #theia-statusBar {
|
|
|
63
63
|
padding-inline: var(--theia-ui-padding);
|
|
64
64
|
}
|
|
65
65
|
|
|
66
|
-
#theia-statusBar .area.left .element.has-background {
|
|
66
|
+
#theia-statusBar .area.left .element.has-background:not(#session-preference-status) {
|
|
67
67
|
margin-left: calc(-1 * var(--theia-ui-padding));
|
|
68
68
|
}
|
|
69
69
|
|