@theia/keymaps 1.22.0-next.9 → 1.22.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.
@@ -0,0 +1,101 @@
1
+ /********************************************************************************
2
+ * Copyright (C) 2022 Ericsson 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 { CommandRegistry, InMemoryResources } from '@theia/core/lib/common';
17
+ import { JsonSchemaContribution, JsonSchemaRegisterContext } from '@theia/core/lib/browser/json-schema-store';
18
+ import URI from '@theia/core/lib/common/uri';
19
+ export declare class KeybindingSchemaUpdater implements JsonSchemaContribution {
20
+ protected readonly uri: URI;
21
+ protected readonly commandRegistry: CommandRegistry;
22
+ protected readonly inMemoryResources: InMemoryResources;
23
+ protected init(): void;
24
+ registerSchemas(store: JsonSchemaRegisterContext): void;
25
+ protected updateSchema(): void;
26
+ }
27
+ export declare const keybindingSchema: {
28
+ $id: string;
29
+ type: string;
30
+ title: string;
31
+ default: never[];
32
+ definitions: {
33
+ key: {
34
+ type: string;
35
+ description: string;
36
+ };
37
+ };
38
+ items: {
39
+ type: string;
40
+ defaultSnippets: {
41
+ body: {
42
+ key: string;
43
+ command: string;
44
+ when: string;
45
+ };
46
+ }[];
47
+ allOf: ({
48
+ required: string[];
49
+ properties: {
50
+ command: {
51
+ anyOf: ({
52
+ type: string;
53
+ enum?: undefined;
54
+ enumDescriptions?: undefined;
55
+ } | {
56
+ enum: string[];
57
+ enumDescriptions: string[];
58
+ type?: undefined;
59
+ })[];
60
+ description: string;
61
+ };
62
+ when: {
63
+ type: string;
64
+ description: string;
65
+ };
66
+ args: {
67
+ description: string;
68
+ };
69
+ context: {
70
+ type: string;
71
+ description: string;
72
+ deprecationMessage: string;
73
+ };
74
+ };
75
+ anyOf?: undefined;
76
+ } | {
77
+ anyOf: ({
78
+ required: string[];
79
+ properties: {
80
+ key: {
81
+ $ref: string;
82
+ };
83
+ keybinding?: undefined;
84
+ };
85
+ } | {
86
+ required: string[];
87
+ properties: {
88
+ keybinding: {
89
+ $ref: string;
90
+ };
91
+ key?: undefined;
92
+ };
93
+ })[];
94
+ required?: undefined;
95
+ properties?: undefined;
96
+ })[];
97
+ };
98
+ allowComments: boolean;
99
+ allowTrailingCommas: boolean;
100
+ };
101
+ //# sourceMappingURL=keybinding-schema-updater.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keybinding-schema-updater.d.ts","sourceRoot":"","sources":["../../src/browser/keybinding-schema-updater.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAElF,OAAO,EAAO,eAAe,EAAE,iBAAiB,EAAa,MAAM,wBAAwB,CAAC;AAC5F,OAAO,EAAE,sBAAsB,EAAE,yBAAyB,EAAE,MAAM,2CAA2C,CAAC;AAE9G,OAAO,GAAG,MAAM,4BAA4B,CAAC;AAE7C,qBACa,uBAAwB,YAAW,sBAAsB;IAClE,SAAS,CAAC,QAAQ,CAAC,GAAG,MAA+B;IAC5B,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAC;IAClD,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IAGnF,SAAS,CAAC,IAAI,IAAI,IAAI;IAMtB,eAAe,CAAC,KAAK,EAAE,yBAAyB,GAAG,IAAI;IAOvD,SAAS,CAAC,YAAY,IAAI,IAAI;CAYjC;AAGD,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqC5B,CAAC"}
@@ -0,0 +1,118 @@
1
+ "use strict";
2
+ /********************************************************************************
3
+ * Copyright (C) 2022 Ericsson 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.keybindingSchema = exports.KeybindingSchemaUpdater = void 0;
28
+ const common_1 = require("@theia/core/lib/common");
29
+ const inversify_1 = require("@theia/core/shared/inversify");
30
+ const uri_1 = require("@theia/core/lib/common/uri");
31
+ let KeybindingSchemaUpdater = class KeybindingSchemaUpdater {
32
+ constructor() {
33
+ this.uri = new uri_1.default(keybindingSchemaId);
34
+ }
35
+ init() {
36
+ this.inMemoryResources.add(new uri_1.default(keybindingSchemaId), '');
37
+ this.updateSchema();
38
+ this.commandRegistry.onCommandsChanged(() => this.updateSchema());
39
+ }
40
+ registerSchemas(store) {
41
+ store.registerSchema({
42
+ fileMatch: ['keybindings.json', 'keymaps.json'],
43
+ url: this.uri.toString(),
44
+ });
45
+ }
46
+ updateSchema() {
47
+ var _a;
48
+ const schema = common_1.deepClone(exports.keybindingSchema);
49
+ const enumValues = schema.items.allOf[0].properties.command.anyOf[1].enum;
50
+ const enumDescriptions = schema.items.allOf[0].properties.command.anyOf[1].enumDescriptions;
51
+ for (const command of this.commandRegistry.getAllCommands()) {
52
+ if (command.handlers.length > 0 && !command.id.startsWith('_')) {
53
+ enumValues.push(command.id);
54
+ enumDescriptions.push((_a = command.label) !== null && _a !== void 0 ? _a : '');
55
+ }
56
+ }
57
+ this.inMemoryResources.update(this.uri, JSON.stringify(schema));
58
+ }
59
+ };
60
+ __decorate([
61
+ inversify_1.inject(common_1.CommandRegistry),
62
+ __metadata("design:type", common_1.CommandRegistry)
63
+ ], KeybindingSchemaUpdater.prototype, "commandRegistry", void 0);
64
+ __decorate([
65
+ inversify_1.inject(common_1.InMemoryResources),
66
+ __metadata("design:type", common_1.InMemoryResources)
67
+ ], KeybindingSchemaUpdater.prototype, "inMemoryResources", void 0);
68
+ __decorate([
69
+ inversify_1.postConstruct(),
70
+ __metadata("design:type", Function),
71
+ __metadata("design:paramtypes", []),
72
+ __metadata("design:returntype", void 0)
73
+ ], KeybindingSchemaUpdater.prototype, "init", null);
74
+ KeybindingSchemaUpdater = __decorate([
75
+ inversify_1.injectable()
76
+ ], KeybindingSchemaUpdater);
77
+ exports.KeybindingSchemaUpdater = KeybindingSchemaUpdater;
78
+ const keybindingSchemaId = 'vscode://schemas/keybindings';
79
+ exports.keybindingSchema = {
80
+ $id: keybindingSchemaId,
81
+ type: 'array',
82
+ title: 'Keybinding Configuration File',
83
+ default: [],
84
+ definitions: {
85
+ key: { type: 'string', description: common_1.nls.localizeByDefault('Key or key sequence (separated by space)') },
86
+ },
87
+ items: {
88
+ type: 'object',
89
+ defaultSnippets: [{ body: { key: '$1', command: '$2', when: '$3' } }],
90
+ allOf: [
91
+ {
92
+ required: ['command'],
93
+ properties: {
94
+ command: {
95
+ anyOf: [{ type: 'string' }, { enum: [], enumDescriptions: [] }],
96
+ description: common_1.nls.localizeByDefault('Name of the command to execute')
97
+ },
98
+ when: { type: 'string', description: common_1.nls.localizeByDefault('Condition when the key is active.') },
99
+ args: { description: common_1.nls.localizeByDefault('Arguments to pass to the command to execute.') },
100
+ context: {
101
+ type: 'string',
102
+ description: common_1.nls.localizeByDefault('Condition when the key is active.'),
103
+ deprecationMessage: common_1.nls.localize('theia/keybinding-schema-updater/deprecation', 'Use `when` clause instead.')
104
+ }
105
+ }
106
+ },
107
+ {
108
+ anyOf: [
109
+ { required: ['key'], properties: { key: { $ref: '#/definitions/key' }, } },
110
+ { required: ['keybinding'], properties: { keybinding: { $ref: '#/definitions/key' } } }
111
+ ]
112
+ }
113
+ ]
114
+ },
115
+ allowComments: true,
116
+ allowTrailingCommas: true,
117
+ };
118
+ //# sourceMappingURL=keybinding-schema-updater.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keybinding-schema-updater.js","sourceRoot":"","sources":["../../src/browser/keybinding-schema-updater.ts"],"names":[],"mappings":"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"}
@@ -13,9 +13,9 @@
13
13
  *
14
14
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
15
  ********************************************************************************/
16
- import { ContainerModule } from '@theia/core/shared/inversify';
17
16
  import './keymaps-monaco-contribution';
18
17
  import '../../src/browser/style/index.css';
18
+ import { ContainerModule } from '@theia/core/shared/inversify';
19
19
  declare const _default: ContainerModule;
20
20
  export default _default;
21
21
  //# sourceMappingURL=keymaps-frontend-module.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"keymaps-frontend-module.d.ts","sourceRoot":"","sources":["../../src/browser/keymaps-frontend-module.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAElF,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAO/D,OAAO,+BAA+B,CAAC;AAIvC,OAAO,mCAAmC,CAAC;;AAE3C,wBAYG"}
1
+ {"version":3,"file":"keymaps-frontend-module.d.ts","sourceRoot":"","sources":["../../src/browser/keymaps-frontend-module.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAElF,OAAO,+BAA+B,CAAC;AACvC,OAAO,mCAAmC,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;;AAW/D,wBAcG"}
@@ -15,16 +15,18 @@
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
+ require("./keymaps-monaco-contribution");
19
+ require("../../src/browser/style/index.css");
18
20
  const inversify_1 = require("@theia/core/shared/inversify");
19
21
  const keymaps_service_1 = require("./keymaps-service");
20
22
  const keymaps_frontend_contribution_1 = require("./keymaps-frontend-contribution");
21
23
  const common_1 = require("@theia/core/lib/common");
22
24
  const keybinding_1 = require("@theia/core/lib/browser/keybinding");
23
25
  const tab_bar_toolbar_1 = require("@theia/core/lib/browser/shell/tab-bar-toolbar");
24
- require("./keymaps-monaco-contribution");
25
26
  const browser_1 = require("@theia/core/lib/browser");
26
27
  const keybindings_widget_1 = require("./keybindings-widget");
27
- require("../../src/browser/style/index.css");
28
+ const keybinding_schema_updater_1 = require("./keybinding-schema-updater");
29
+ const json_schema_store_1 = require("@theia/core/lib/browser/json-schema-store");
28
30
  exports.default = new inversify_1.ContainerModule(bind => {
29
31
  bind(keymaps_service_1.KeymapsService).toSelf().inSingletonScope();
30
32
  bind(keymaps_frontend_contribution_1.KeymapsFrontendContribution).toSelf().inSingletonScope();
@@ -37,5 +39,7 @@ exports.default = new inversify_1.ContainerModule(bind => {
37
39
  id: keybindings_widget_1.KeybindingWidget.ID,
38
40
  createWidget: () => context.container.get(keybindings_widget_1.KeybindingWidget),
39
41
  })).inSingletonScope();
42
+ bind(keybinding_schema_updater_1.KeybindingSchemaUpdater).toSelf().inSingletonScope();
43
+ bind(json_schema_store_1.JsonSchemaContribution).toService(keybinding_schema_updater_1.KeybindingSchemaUpdater);
40
44
  });
41
45
  //# sourceMappingURL=keymaps-frontend-module.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"keymaps-frontend-module.js","sourceRoot":"","sources":["../../src/browser/keymaps-frontend-module.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;kFAckF;;AAElF,4DAA+D;AAC/D,uDAAmD;AACnD,mFAA8E;AAC9E,mDAA+E;AAC/E,mEAA4E;AAC5E,mFAA0F;AAE1F,yCAAuC;AACvC,qDAAwD;AACxD,6DAAwD;AAExD,6CAA2C;AAE3C,kBAAe,IAAI,2BAAe,CAAC,IAAI,CAAC,EAAE;IACtC,IAAI,CAAC,gCAAc,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IACjD,IAAI,CAAC,2DAA2B,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAC9D,IAAI,CAAC,4BAAmB,CAAC,CAAC,SAAS,CAAC,2DAA2B,CAAC,CAAC;IACjE,IAAI,CAAC,mCAAsB,CAAC,CAAC,SAAS,CAAC,2DAA2B,CAAC,CAAC;IACpE,IAAI,CAAC,yBAAgB,CAAC,CAAC,SAAS,CAAC,2DAA2B,CAAC,CAAC;IAC9D,IAAI,CAAC,qCAAgB,CAAC,CAAC,MAAM,EAAE,CAAC;IAChC,IAAI,CAAC,2CAAyB,CAAC,CAAC,SAAS,CAAC,2DAA2B,CAAC,CAAC;IACvE,IAAI,CAAC,uBAAa,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC3C,EAAE,EAAE,qCAAgB,CAAC,EAAE;QACvB,YAAY,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAmB,qCAAgB,CAAC;KAChF,CAAC,CAAC,CAAC,gBAAgB,EAAE,CAAC;AAC3B,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"keymaps-frontend-module.js","sourceRoot":"","sources":["../../src/browser/keymaps-frontend-module.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;kFAckF;;AAElF,yCAAuC;AACvC,6CAA2C;AAC3C,4DAA+D;AAC/D,uDAAmD;AACnD,mFAA8E;AAC9E,mDAA+E;AAC/E,mEAA4E;AAC5E,mFAA0F;AAC1F,qDAAwD;AACxD,6DAAwD;AACxD,2EAAsE;AACtE,iFAAmF;AAEnF,kBAAe,IAAI,2BAAe,CAAC,IAAI,CAAC,EAAE;IACtC,IAAI,CAAC,gCAAc,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IACjD,IAAI,CAAC,2DAA2B,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAC9D,IAAI,CAAC,4BAAmB,CAAC,CAAC,SAAS,CAAC,2DAA2B,CAAC,CAAC;IACjE,IAAI,CAAC,mCAAsB,CAAC,CAAC,SAAS,CAAC,2DAA2B,CAAC,CAAC;IACpE,IAAI,CAAC,yBAAgB,CAAC,CAAC,SAAS,CAAC,2DAA2B,CAAC,CAAC;IAC9D,IAAI,CAAC,qCAAgB,CAAC,CAAC,MAAM,EAAE,CAAC;IAChC,IAAI,CAAC,2CAAyB,CAAC,CAAC,SAAS,CAAC,2DAA2B,CAAC,CAAC;IACvE,IAAI,CAAC,uBAAa,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC3C,EAAE,EAAE,qCAAgB,CAAC,EAAE;QACvB,YAAY,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAmB,qCAAgB,CAAC;KAChF,CAAC,CAAC,CAAC,gBAAgB,EAAE,CAAC;IACvB,IAAI,CAAC,mDAAuB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAC1D,IAAI,CAAC,0CAAsB,CAAC,CAAC,SAAS,CAAC,mDAAuB,CAAC,CAAC;AACpE,CAAC,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"keymaps-service.d.ts","sourceRoot":"","sources":["../../src/browser/keymaps-service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAGlF,OAAO,EAAE,aAAa,EAA6B,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAC3F,OAAO,EAAE,kBAAkB,EAAmB,MAAM,oCAAoC,CAAC;AACzF,OAAO,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAC;AAG/D,OAAO,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAC;AACvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,qDAAqD,CAAC;AAC7F,OAAO,EAAE,iBAAiB,EAAE,MAAM,+CAA+C,CAAC;AAClF,OAAO,EAAE,QAAQ,EAAE,MAAM,qCAAqC,CAAC;AAE/D,OAAO,EAAE,eAAe,EAAE,MAAM,4CAA4C,CAAC;AAC7E,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAExE,qBACa,cAAc;IAGvB,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,eAAe,CAAC;IAG9C,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,sBAAsB,CAAC;IAG5D,SAAS,CAAC,QAAQ,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;IAG1D,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAGzC,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IAElD,SAAS,CAAC,QAAQ,CAAC,mBAAmB,gBAAuB;IAC7D,QAAQ,CAAC,kBAAkB,qDAAkC;IAE7D,SAAS,CAAC,KAAK,EAAE,iBAAiB,GAAG,SAAS,CAAC;IAC/C,SAAS,CAAC,QAAQ,CAAC,aAAa,8BAAqC;IAErE;;OAEG;cAEa,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAYrC;;OAEG;IACH,SAAS,CAAC,SAAS,IAAI,IAAI;IAwB3B;;;OAGG;IACG,IAAI,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAYvC;;;OAGG;IACG,aAAa,CAAC,aAAa,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAiDhG;;;OAGG;IACH,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;cAWlC,YAAY,CAAC,EAAE,EAAE,MAAM,UAAU,EAAE,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;CAiC7E"}
1
+ {"version":3,"file":"keymaps-service.d.ts","sourceRoot":"","sources":["../../src/browser/keymaps-service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAGlF,OAAO,EAAE,aAAa,EAA6B,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAC3F,OAAO,EAAE,kBAAkB,EAAmB,MAAM,oCAAoC,CAAC;AACzF,OAAO,EAAE,UAAU,EAAiB,MAAM,mCAAmC,CAAC;AAG9E,OAAO,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAC;AACvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,qDAAqD,CAAC;AAC7F,OAAO,EAAE,iBAAiB,EAAE,MAAM,+CAA+C,CAAC;AAClF,OAAO,EAAE,QAAQ,EAAE,MAAM,qCAAqC,CAAC;AAE/D,OAAO,EAAE,eAAe,EAAE,MAAM,4CAA4C,CAAC;AAC7E,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAExE,qBACa,cAAc;IAGvB,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,eAAe,CAAC;IAG9C,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,sBAAsB,CAAC;IAG5D,SAAS,CAAC,QAAQ,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;IAG1D,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAGzC,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IAElD,SAAS,CAAC,QAAQ,CAAC,mBAAmB,gBAAuB;IAC7D,QAAQ,CAAC,kBAAkB,qDAAkC;IAE7D,SAAS,CAAC,KAAK,EAAE,iBAAiB,GAAG,SAAS,CAAC;IAC/C,SAAS,CAAC,QAAQ,CAAC,aAAa,8BAAqC;IAErE;;OAEG;cAEa,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAYrC;;OAEG;IACH,SAAS,CAAC,SAAS,IAAI,IAAI;IA0B3B;;;OAGG;IACG,IAAI,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAYvC;;;OAGG;IACG,aAAa,CAAC,aAAa,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAiDhG;;;OAGG;IACH,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;cAWlC,YAAY,CAAC,EAAE,EAAE,MAAM,UAAU,EAAE,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;CAiC7E"}
@@ -74,6 +74,9 @@ let KeymapsService = class KeymapsService {
74
74
  if (keybinding_2.Keybinding.is(value)) {
75
75
  keybindings.push(value);
76
76
  }
77
+ else if (keybinding_2.RawKeybinding.is(value)) {
78
+ keybindings.push(keybinding_2.Keybinding.apiObjectify(value));
79
+ }
77
80
  }
78
81
  }
79
82
  }
@@ -1 +1 @@
1
- {"version":3,"file":"keymaps-service.js","sourceRoot":"","sources":["../../src/browser/keymaps-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"keymaps-service.js","sourceRoot":"","sources":["../../src/browser/keymaps-service.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,18 +1,17 @@
1
1
  {
2
2
  "name": "@theia/keymaps",
3
- "version": "1.22.0-next.9+8924245db11",
3
+ "version": "1.22.0",
4
4
  "description": "Theia - Custom Keymaps Extension",
5
5
  "dependencies": {
6
- "@theia/core": "1.22.0-next.9+8924245db11",
7
- "@theia/monaco": "1.22.0-next.9+8924245db11",
8
- "@theia/userstorage": "1.22.0-next.9+8924245db11",
9
- "@theia/workspace": "1.22.0-next.9+8924245db11",
6
+ "@theia/core": "1.22.0",
7
+ "@theia/monaco": "1.22.0",
8
+ "@theia/userstorage": "1.22.0",
9
+ "@theia/workspace": "1.22.0",
10
10
  "@types/lodash.debounce": "4.0.3",
11
- "ajv": "^6.5.3",
12
11
  "jsonc-parser": "^2.2.0"
13
12
  },
14
13
  "devDependencies": {
15
- "@theia/ext-scripts": "1.21.0",
14
+ "@theia/ext-scripts": "1.22.0",
16
15
  "@types/temp": "^0.8.29",
17
16
  "temp": "^0.8.3"
18
17
  },
@@ -51,5 +50,5 @@
51
50
  "nyc": {
52
51
  "extends": "../../configs/nyc.json"
53
52
  },
54
- "gitHead": "8924245db112317f6b42392a71e2f6e81b3bbfa4"
53
+ "gitHead": "84cfe06b4b10720cc9915bc6e2f091a2b09b1087"
55
54
  }
@@ -0,0 +1,95 @@
1
+ /********************************************************************************
2
+ * Copyright (C) 2022 Ericsson 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 { nls, CommandRegistry, InMemoryResources, deepClone } from '@theia/core/lib/common';
18
+ import { JsonSchemaContribution, JsonSchemaRegisterContext } from '@theia/core/lib/browser/json-schema-store';
19
+ import { injectable, inject, postConstruct } from '@theia/core/shared/inversify';
20
+ import URI from '@theia/core/lib/common/uri';
21
+
22
+ @injectable()
23
+ export class KeybindingSchemaUpdater implements JsonSchemaContribution {
24
+ protected readonly uri = new URI(keybindingSchemaId);
25
+ @inject(CommandRegistry) protected readonly commandRegistry: CommandRegistry;
26
+ @inject(InMemoryResources) protected readonly inMemoryResources: InMemoryResources;
27
+
28
+ @postConstruct()
29
+ protected init(): void {
30
+ this.inMemoryResources.add(new URI(keybindingSchemaId), '');
31
+ this.updateSchema();
32
+ this.commandRegistry.onCommandsChanged(() => this.updateSchema());
33
+ }
34
+
35
+ registerSchemas(store: JsonSchemaRegisterContext): void {
36
+ store.registerSchema({
37
+ fileMatch: ['keybindings.json', 'keymaps.json'],
38
+ url: this.uri.toString(),
39
+ });
40
+ }
41
+
42
+ protected updateSchema(): void {
43
+ const schema = deepClone(keybindingSchema);
44
+ const enumValues = schema.items.allOf[0].properties!.command.anyOf[1].enum!;
45
+ const enumDescriptions = schema.items.allOf[0].properties!.command.anyOf[1].enumDescriptions!;
46
+ for (const command of this.commandRegistry.getAllCommands()) {
47
+ if (command.handlers.length > 0 && !command.id.startsWith('_')) {
48
+ enumValues.push(command.id);
49
+ enumDescriptions.push(command.label ?? '');
50
+ }
51
+ }
52
+ this.inMemoryResources.update(this.uri, JSON.stringify(schema));
53
+ }
54
+ }
55
+
56
+ const keybindingSchemaId = 'vscode://schemas/keybindings';
57
+ export const keybindingSchema = {
58
+ $id: keybindingSchemaId,
59
+ type: 'array',
60
+ title: 'Keybinding Configuration File',
61
+ default: [],
62
+ definitions: {
63
+ key: { type: 'string', description: nls.localizeByDefault('Key or key sequence (separated by space)') },
64
+ },
65
+ items: {
66
+ type: 'object',
67
+ defaultSnippets: [{ body: { key: '$1', command: '$2', when: '$3' } }],
68
+ allOf: [
69
+ {
70
+ required: ['command'],
71
+ properties: {
72
+ command: {
73
+ anyOf: [{ type: 'string' }, { enum: <string[]>[], enumDescriptions: <string[]>[] }], description: nls.localizeByDefault('Name of the command to execute')
74
+ },
75
+ when: { type: 'string', description: nls.localizeByDefault('Condition when the key is active.') },
76
+ args: { description: nls.localizeByDefault('Arguments to pass to the command to execute.') },
77
+ context: {
78
+ type: 'string',
79
+ description: nls.localizeByDefault('Condition when the key is active.'),
80
+ deprecationMessage: nls.localize('theia/keybinding-schema-updater/deprecation', 'Use `when` clause instead.')
81
+ }
82
+ }
83
+ },
84
+ {
85
+ anyOf: [
86
+ { required: ['key'], properties: { key: { $ref: '#/definitions/key' }, } },
87
+ { required: ['keybinding'], properties: { keybinding: { $ref: '#/definitions/key' } } }
88
+ ]
89
+ }
90
+ ]
91
+ },
92
+ allowComments: true,
93
+ allowTrailingCommas: true,
94
+ };
95
+
@@ -14,18 +14,18 @@
14
14
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
15
  ********************************************************************************/
16
16
 
17
+ import './keymaps-monaco-contribution';
18
+ import '../../src/browser/style/index.css';
17
19
  import { ContainerModule } from '@theia/core/shared/inversify';
18
20
  import { KeymapsService } from './keymaps-service';
19
21
  import { KeymapsFrontendContribution } from './keymaps-frontend-contribution';
20
22
  import { CommandContribution, MenuContribution } from '@theia/core/lib/common';
21
23
  import { KeybindingContribution } from '@theia/core/lib/browser/keybinding';
22
24
  import { TabBarToolbarContribution } from '@theia/core/lib/browser/shell/tab-bar-toolbar';
23
-
24
- import './keymaps-monaco-contribution';
25
25
  import { WidgetFactory } from '@theia/core/lib/browser';
26
26
  import { KeybindingWidget } from './keybindings-widget';
27
-
28
- import '../../src/browser/style/index.css';
27
+ import { KeybindingSchemaUpdater } from './keybinding-schema-updater';
28
+ import { JsonSchemaContribution } from '@theia/core/lib/browser/json-schema-store';
29
29
 
30
30
  export default new ContainerModule(bind => {
31
31
  bind(KeymapsService).toSelf().inSingletonScope();
@@ -39,4 +39,6 @@ export default new ContainerModule(bind => {
39
39
  id: KeybindingWidget.ID,
40
40
  createWidget: () => context.container.get<KeybindingWidget>(KeybindingWidget),
41
41
  })).inSingletonScope();
42
+ bind(KeybindingSchemaUpdater).toSelf().inSingletonScope();
43
+ bind(JsonSchemaContribution).toService(KeybindingSchemaUpdater);
42
44
  });
@@ -17,7 +17,7 @@
17
17
  import { inject, injectable, postConstruct } from '@theia/core/shared/inversify';
18
18
  import { OpenerService, open, WidgetOpenerOptions, Widget } from '@theia/core/lib/browser';
19
19
  import { KeybindingRegistry, KeybindingScope } from '@theia/core/lib/browser/keybinding';
20
- import { Keybinding } from '@theia/core/lib/common/keybinding';
20
+ import { Keybinding, RawKeybinding } from '@theia/core/lib/common/keybinding';
21
21
  import { UserStorageUri } from '@theia/userstorage/lib/browser';
22
22
  import * as jsoncparser from 'jsonc-parser';
23
23
  import { Emitter } from '@theia/core/lib/common/event';
@@ -85,6 +85,8 @@ export class KeymapsService {
85
85
  for (const value of json) {
86
86
  if (Keybinding.is(value)) {
87
87
  keybindings.push(value);
88
+ } else if (RawKeybinding.is(value)) {
89
+ keybindings.push(Keybinding.apiObjectify(value));
88
90
  }
89
91
  }
90
92
  }