@theia/monaco 1.26.0-next.3 → 1.26.0-next.6

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.
@@ -12,7 +12,7 @@ export declare class MonacoContextKeyService implements TheiaContextKeyService {
12
12
  match(expression: string, context?: HTMLElement): boolean;
13
13
  protected identifyContext(callersContext?: HTMLElement | IContext): IContext | undefined;
14
14
  protected readonly expressions: Map<string, ContextKeyExpression>;
15
- protected parse(when: string): ContextKeyExpression | undefined;
15
+ parse(when: string): ContextKeyExpression | undefined;
16
16
  parseKeys(expression: string): Set<string> | undefined;
17
17
  with<T>(values: Record<string, unknown>, callback: () => T): T;
18
18
  createScoped(target: HTMLElement): ScopedValueStore;
@@ -1 +1 @@
1
- {"version":3,"file":"monaco-context-key-service.d.ts","sourceRoot":"","sources":["../../src/browser/monaco-context-key-service.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,iBAAiB,IAAI,sBAAsB,EAAE,UAAU,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,6CAA6C,CAAC;AAC/J,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACtC,OAAO,EAA6B,iBAAiB,IAAI,uBAAuB,EAAE,MAAM,gFAAgF,CAAC;AACzK,OAAO,EAAkB,oBAAoB,EAAE,QAAQ,EAAE,MAAM,wEAAwE,CAAC;AAExI,qBACa,uBAAwB,YAAW,sBAAsB;IAClE,SAAS,CAAC,QAAQ,CAAC,kBAAkB,iCAAwC;IAC7E,QAAQ,CAAC,WAAW,qDAAiC;IAGrD,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,uBAAuB,CAAC;IAG9D,SAAS,CAAC,IAAI,IAAI,IAAI;IAQtB,SAAS,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,GAAG,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC;IAIrE,aAAa,CAAC,EAAE,WAAW,GAAG,QAAQ,CAAC;IAEvC,KAAK,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO;IAYzD,SAAS,CAAC,eAAe,CAAC,cAAc,CAAC,EAAE,WAAW,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS;IAaxF,SAAS,CAAC,QAAQ,CAAC,WAAW,oCAA2C;IACzE,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,oBAAoB,GAAG,SAAS;IAW/D,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,SAAS;IAKtD,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC;IAgB9D,YAAY,CAAC,MAAM,EAAE,WAAW,GAAG,gBAAgB;IAQnD,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI;IAI7C,OAAO,IAAI,IAAI;CAKlB"}
1
+ {"version":3,"file":"monaco-context-key-service.d.ts","sourceRoot":"","sources":["../../src/browser/monaco-context-key-service.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,iBAAiB,IAAI,sBAAsB,EAAE,UAAU,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,6CAA6C,CAAC;AAC/J,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACtC,OAAO,EAA6B,iBAAiB,IAAI,uBAAuB,EAAE,MAAM,gFAAgF,CAAC;AACzK,OAAO,EAAkB,oBAAoB,EAAE,QAAQ,EAAE,MAAM,wEAAwE,CAAC;AAExI,qBACa,uBAAwB,YAAW,sBAAsB;IAClE,SAAS,CAAC,QAAQ,CAAC,kBAAkB,iCAAwC;IAC7E,QAAQ,CAAC,WAAW,qDAAiC;IAGrD,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,uBAAuB,CAAC;IAG9D,SAAS,CAAC,IAAI,IAAI,IAAI;IAQtB,SAAS,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,GAAG,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC;IAIrE,aAAa,CAAC,EAAE,WAAW,GAAG,QAAQ,CAAC;IAEvC,KAAK,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO;IAYzD,SAAS,CAAC,eAAe,CAAC,cAAc,CAAC,EAAE,WAAW,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS;IAaxF,SAAS,CAAC,QAAQ,CAAC,WAAW,oCAA2C;IACzE,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,oBAAoB,GAAG,SAAS;IAWrD,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,SAAS;IAKtD,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC;IAgB9D,YAAY,CAAC,MAAM,EAAE,WAAW,GAAG,gBAAgB;IAQnD,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI;IAI7C,OAAO,IAAI,IAAI;CAKlB"}
@@ -1 +1 @@
1
- {"version":3,"file":"monaco-context-key-service.js","sourceRoot":"","sources":["../../src/browser/monaco-context-key-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"monaco-context-key-service.js","sourceRoot":"","sources":["../../src/browser/monaco-context-key-service.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,17 @@
1
- import { KeybindingContribution, KeybindingRegistry } from '@theia/core/lib/browser';
1
+ import { KeybindingContribution, KeybindingRegistry, KeyCode } from '@theia/core/lib/browser';
2
2
  import { MonacoCommandRegistry } from './monaco-command-registry';
3
+ import { CommandRegistry, DisposableCollection } from '@theia/core';
4
+ import { MonacoContextKeyService } from './monaco-context-key-service';
3
5
  export declare class MonacoKeybindingContribution implements KeybindingContribution {
6
+ protected toDisposeOnKeybindingChange: DisposableCollection;
4
7
  protected readonly commands: MonacoCommandRegistry;
8
+ protected readonly keybindings: KeybindingRegistry;
9
+ protected readonly theiaCommandRegistry: CommandRegistry;
10
+ protected readonly contextKeyService: MonacoContextKeyService;
11
+ protected init(): void;
5
12
  registerKeybindings(registry: KeybindingRegistry): void;
13
+ protected updateMonacoKeybindings(): void;
14
+ protected toMonacoKeybindingNumber(codes: KeyCode[]): number;
15
+ protected toSingleMonacoKeybindingNumber(code: KeyCode): number;
6
16
  }
7
17
  //# sourceMappingURL=monaco-keybinding.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"monaco-keybinding.d.ts","sourceRoot":"","sources":["../../src/browser/monaco-keybinding.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAErF,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAKlE,qBACa,4BAA6B,YAAW,sBAAsB;IAGvE,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,qBAAqB,CAAC;IAEnD,mBAAmB,CAAC,QAAQ,EAAE,kBAAkB,GAAG,IAAI;CAgB1D"}
1
+ {"version":3,"file":"monaco-keybinding.d.ts","sourceRoot":"","sources":["../../src/browser/monaco-keybinding.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,sBAAsB,EAAE,kBAAkB,EAAmB,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAE/G,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAsB,MAAM,aAAa,CAAC;AAKxF,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAIvE,qBACa,4BAA6B,YAAW,sBAAsB;IAEvE,SAAS,CAAC,2BAA2B,uBAA8B;IAEpC,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,qBAAqB,CAAC;IACtD,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,kBAAkB,CAAC;IACtD,SAAS,CAAC,QAAQ,CAAC,oBAAoB,EAAE,eAAe,CAAC;IACjD,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,uBAAuB,CAAC;IAG/F,SAAS,CAAC,IAAI,IAAI,IAAI;IAItB,mBAAmB,CAAC,QAAQ,EAAE,kBAAkB,GAAG,IAAI;IAiBvD,SAAS,CAAC,uBAAuB,IAAI,IAAI;IAsBzC,SAAS,CAAC,wBAAwB,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,MAAM;IAU5D,SAAS,CAAC,8BAA8B,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM;CAiBlE"}
@@ -26,12 +26,24 @@ var __metadata = (this && this.__metadata) || function (k, v) {
26
26
  Object.defineProperty(exports, "__esModule", { value: true });
27
27
  exports.MonacoKeybindingContribution = void 0;
28
28
  const inversify_1 = require("@theia/core/shared/inversify");
29
+ const browser_1 = require("@theia/core/lib/browser");
29
30
  const monaco_command_1 = require("./monaco-command");
30
31
  const monaco_command_registry_1 = require("./monaco-command-registry");
31
32
  const core_1 = require("@theia/core");
32
33
  const monaco_resolved_keybinding_1 = require("./monaco-resolved-keybinding");
33
34
  const keybindingsRegistry_1 = require("@theia/monaco-editor-core/esm/vs/platform/keybinding/common/keybindingsRegistry");
35
+ const standaloneServices_1 = require("@theia/monaco-editor-core/esm/vs/editor/standalone/browser/standaloneServices");
36
+ const keybinding_1 = require("@theia/monaco-editor-core/esm/vs/platform/keybinding/common/keybinding");
37
+ const monaco_context_key_service_1 = require("./monaco-context-key-service");
38
+ const monaco_keycode_map_1 = require("./monaco-keycode-map");
39
+ const monaco = require("@theia/monaco-editor-core");
34
40
  let MonacoKeybindingContribution = class MonacoKeybindingContribution {
41
+ constructor() {
42
+ this.toDisposeOnKeybindingChange = new core_1.DisposableCollection();
43
+ }
44
+ init() {
45
+ this.keybindings.onKeybindingsChanged(() => this.updateMonacoKeybindings());
46
+ }
35
47
  registerKeybindings(registry) {
36
48
  var _a;
37
49
  const defaultKeybindings = keybindingsRegistry_1.KeybindingsRegistry.getDefaultKeybindings();
@@ -50,11 +62,72 @@ let MonacoKeybindingContribution = class MonacoKeybindingContribution {
50
62
  }
51
63
  }
52
64
  }
65
+ updateMonacoKeybindings() {
66
+ const monacoKeybindingRegistry = standaloneServices_1.StandaloneServices.get(keybinding_1.IKeybindingService);
67
+ if (monacoKeybindingRegistry instanceof standaloneServices_1.StandaloneKeybindingService) {
68
+ this.toDisposeOnKeybindingChange.dispose();
69
+ for (const binding of this.keybindings.getKeybindingsByScope(browser_1.KeybindingScope.USER).concat(this.keybindings.getKeybindingsByScope(browser_1.KeybindingScope.WORKSPACE))) {
70
+ const resolved = this.keybindings.resolveKeybinding(binding);
71
+ const command = binding.command;
72
+ const when = binding.when
73
+ ? this.contextKeyService.parse(binding.when)
74
+ : binding.context
75
+ ? this.contextKeyService.parse(binding.context)
76
+ : undefined;
77
+ this.toDisposeOnKeybindingChange.push(monacoKeybindingRegistry.addDynamicKeybinding(binding.command, this.toMonacoKeybindingNumber(resolved), (_, ...args) => this.theiaCommandRegistry.executeCommand(command, ...args), when));
78
+ }
79
+ }
80
+ }
81
+ toMonacoKeybindingNumber(codes) {
82
+ const [firstPart, secondPart] = codes;
83
+ if (codes.length > 2) {
84
+ console.warn('Key chords should not consist of more than two parts; got ', codes);
85
+ }
86
+ const encodedFirstPart = this.toSingleMonacoKeybindingNumber(firstPart);
87
+ const encodedSecondPart = secondPart ? this.toSingleMonacoKeybindingNumber(secondPart) << 16 : 0;
88
+ return monaco.KeyMod.chord(encodedFirstPart, encodedSecondPart);
89
+ }
90
+ toSingleMonacoKeybindingNumber(code) {
91
+ var _a;
92
+ const keyCode = ((_a = code.key) === null || _a === void 0 ? void 0 : _a.keyCode) !== undefined ? monaco_keycode_map_1.KEY_CODE_MAP[code.key.keyCode] : 0;
93
+ let encoded = (keyCode >>> 0) & 0x000000FF;
94
+ if (code.alt) {
95
+ encoded |= monaco.KeyMod.Alt;
96
+ }
97
+ if (code.shift) {
98
+ encoded |= monaco.KeyMod.Shift;
99
+ }
100
+ if (code.ctrl) {
101
+ encoded |= monaco.KeyMod.WinCtrl;
102
+ }
103
+ if (code.meta && core_1.isOSX) {
104
+ encoded |= monaco.KeyMod.CtrlCmd;
105
+ }
106
+ return encoded;
107
+ }
53
108
  };
54
109
  __decorate([
55
110
  (0, inversify_1.inject)(monaco_command_registry_1.MonacoCommandRegistry),
56
111
  __metadata("design:type", monaco_command_registry_1.MonacoCommandRegistry)
57
112
  ], MonacoKeybindingContribution.prototype, "commands", void 0);
113
+ __decorate([
114
+ (0, inversify_1.inject)(browser_1.KeybindingRegistry),
115
+ __metadata("design:type", browser_1.KeybindingRegistry)
116
+ ], MonacoKeybindingContribution.prototype, "keybindings", void 0);
117
+ __decorate([
118
+ (0, inversify_1.inject)(core_1.CommandRegistry),
119
+ __metadata("design:type", core_1.CommandRegistry)
120
+ ], MonacoKeybindingContribution.prototype, "theiaCommandRegistry", void 0);
121
+ __decorate([
122
+ (0, inversify_1.inject)(monaco_context_key_service_1.MonacoContextKeyService),
123
+ __metadata("design:type", monaco_context_key_service_1.MonacoContextKeyService)
124
+ ], MonacoKeybindingContribution.prototype, "contextKeyService", void 0);
125
+ __decorate([
126
+ (0, inversify_1.postConstruct)(),
127
+ __metadata("design:type", Function),
128
+ __metadata("design:paramtypes", []),
129
+ __metadata("design:returntype", void 0)
130
+ ], MonacoKeybindingContribution.prototype, "init", null);
58
131
  MonacoKeybindingContribution = __decorate([
59
132
  (0, inversify_1.injectable)()
60
133
  ], MonacoKeybindingContribution);
@@ -1 +1 @@
1
- {"version":3,"file":"monaco-keybinding.js","sourceRoot":"","sources":["../../src/browser/monaco-keybinding.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,2EAA2E;AAC3E,gFAAgF;;;;;;;;;;;;AAEhF,4DAAkE;AAElE,qDAAkD;AAClD,uEAAkE;AAClE,sCAA0C;AAC1C,6EAAwE;AACxE,yHAAsH;AAGtH,IAAa,4BAA4B,GAAzC,MAAa,4BAA4B;IAKrC,mBAAmB,CAAC,QAA4B;;QAC5C,MAAM,kBAAkB,GAAG,yCAAmB,CAAC,qBAAqB,EAAE,CAAC;QACvE,KAAK,MAAM,IAAI,IAAI,kBAAkB,EAAE;YACnC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACrD,IAAI,OAAO,EAAE;gBACT,MAAM,IAAI,GAAG,MAAA,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,mCAAI,SAAS,CAAC;gBAC/D,IAAI,UAAU,CAAC;gBACf,IAAI,IAAI,CAAC,OAAO,KAAK,+BAAc,CAAC,gBAAgB,IAAI,CAAC,kBAAW,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE;oBAChF,UAAU,GAAG,aAAa,CAAC;iBAC9B;qBAAM;oBACH,UAAU,GAAG,qDAAwB,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;iBACvE;gBACD,QAAQ,CAAC,kBAAkB,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;aAC9D;SACJ;IACL,CAAC;CACJ,CAAA;AAlBG;IADC,IAAA,kBAAM,EAAC,+CAAqB,CAAC;8BACD,+CAAqB;8DAAC;AAH1C,4BAA4B;IADxC,IAAA,sBAAU,GAAE;GACA,4BAA4B,CAqBxC;AArBY,oEAA4B"}
1
+ {"version":3,"file":"monaco-keybinding.js","sourceRoot":"","sources":["../../src/browser/monaco-keybinding.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,14 +1,14 @@
1
1
  {
2
2
  "name": "@theia/monaco",
3
- "version": "1.26.0-next.3+14d8cd189f4",
3
+ "version": "1.26.0-next.6+b6caaf00f3f",
4
4
  "description": "Theia - Monaco Extension",
5
5
  "dependencies": {
6
- "@theia/core": "1.26.0-next.3+14d8cd189f4",
7
- "@theia/editor": "1.26.0-next.3+14d8cd189f4",
8
- "@theia/filesystem": "1.26.0-next.3+14d8cd189f4",
9
- "@theia/markers": "1.26.0-next.3+14d8cd189f4",
6
+ "@theia/core": "1.26.0-next.6+b6caaf00f3f",
7
+ "@theia/editor": "1.26.0-next.6+b6caaf00f3f",
8
+ "@theia/filesystem": "1.26.0-next.6+b6caaf00f3f",
9
+ "@theia/markers": "1.26.0-next.6+b6caaf00f3f",
10
10
  "@theia/monaco-editor-core": "1.65.2",
11
- "@theia/outline-view": "1.26.0-next.3+14d8cd189f4",
11
+ "@theia/outline-view": "1.26.0-next.6+b6caaf00f3f",
12
12
  "fast-plist": "^0.1.2",
13
13
  "idb": "^4.0.5",
14
14
  "jsonc-parser": "^2.2.0",
@@ -54,5 +54,5 @@
54
54
  "nyc": {
55
55
  "extends": "../../configs/nyc.json"
56
56
  },
57
- "gitHead": "14d8cd189f4182bb1b15c40b4095af9a949ef040"
57
+ "gitHead": "b6caaf00f3fd72e30c7fe15b21535549ce923640"
58
58
  }
@@ -69,7 +69,7 @@ export class MonacoContextKeyService implements TheiaContextKeyService {
69
69
  }
70
70
 
71
71
  protected readonly expressions = new Map<string, ContextKeyExpression>();
72
- protected parse(when: string): ContextKeyExpression | undefined {
72
+ parse(when: string): ContextKeyExpression | undefined {
73
73
  let expression = this.expressions.get(when);
74
74
  if (!expression) {
75
75
  expression = ContextKeyExpr.deserialize(when);
@@ -14,19 +14,33 @@
14
14
  // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
15
  // *****************************************************************************
16
16
 
17
- import { injectable, inject } from '@theia/core/shared/inversify';
18
- import { KeybindingContribution, KeybindingRegistry } from '@theia/core/lib/browser';
17
+ import { injectable, inject, postConstruct } from '@theia/core/shared/inversify';
18
+ import { KeybindingContribution, KeybindingRegistry, KeybindingScope, KeyCode } from '@theia/core/lib/browser';
19
19
  import { MonacoCommands } from './monaco-command';
20
20
  import { MonacoCommandRegistry } from './monaco-command-registry';
21
- import { environment } from '@theia/core';
21
+ import { CommandRegistry, DisposableCollection, environment, isOSX } from '@theia/core';
22
22
  import { MonacoResolvedKeybinding } from './monaco-resolved-keybinding';
23
23
  import { KeybindingsRegistry } from '@theia/monaco-editor-core/esm/vs/platform/keybinding/common/keybindingsRegistry';
24
+ import { StandaloneKeybindingService, StandaloneServices } from '@theia/monaco-editor-core/esm/vs/editor/standalone/browser/standaloneServices';
25
+ import { IKeybindingService } from '@theia/monaco-editor-core/esm/vs/platform/keybinding/common/keybinding';
26
+ import { MonacoContextKeyService } from './monaco-context-key-service';
27
+ import { KEY_CODE_MAP } from './monaco-keycode-map';
28
+ import * as monaco from '@theia/monaco-editor-core';
24
29
 
25
30
  @injectable()
26
31
  export class MonacoKeybindingContribution implements KeybindingContribution {
27
32
 
28
- @inject(MonacoCommandRegistry)
29
- protected readonly commands: MonacoCommandRegistry;
33
+ protected toDisposeOnKeybindingChange = new DisposableCollection();
34
+
35
+ @inject(MonacoCommandRegistry) protected readonly commands: MonacoCommandRegistry;
36
+ @inject(KeybindingRegistry) protected readonly keybindings: KeybindingRegistry;
37
+ @inject(CommandRegistry) protected readonly theiaCommandRegistry: CommandRegistry;
38
+ @inject(MonacoContextKeyService) protected readonly contextKeyService: MonacoContextKeyService;
39
+
40
+ @postConstruct()
41
+ protected init(): void {
42
+ this.keybindings.onKeybindingsChanged(() => this.updateMonacoKeybindings());
43
+ }
30
44
 
31
45
  registerKeybindings(registry: KeybindingRegistry): void {
32
46
  const defaultKeybindings = KeybindingsRegistry.getDefaultKeybindings();
@@ -44,4 +58,54 @@ export class MonacoKeybindingContribution implements KeybindingContribution {
44
58
  }
45
59
  }
46
60
  }
61
+
62
+ protected updateMonacoKeybindings(): void {
63
+ const monacoKeybindingRegistry = StandaloneServices.get(IKeybindingService);
64
+ if (monacoKeybindingRegistry instanceof StandaloneKeybindingService) {
65
+ this.toDisposeOnKeybindingChange.dispose();
66
+ for (const binding of this.keybindings.getKeybindingsByScope(KeybindingScope.USER).concat(this.keybindings.getKeybindingsByScope(KeybindingScope.WORKSPACE))) {
67
+ const resolved = this.keybindings.resolveKeybinding(binding);
68
+ const command = binding.command;
69
+ const when = binding.when
70
+ ? this.contextKeyService.parse(binding.when)
71
+ : binding.context
72
+ ? this.contextKeyService.parse(binding.context)
73
+ : undefined;
74
+ this.toDisposeOnKeybindingChange.push(monacoKeybindingRegistry.addDynamicKeybinding(
75
+ binding.command,
76
+ this.toMonacoKeybindingNumber(resolved),
77
+ (_, ...args) => this.theiaCommandRegistry.executeCommand(command, ...args),
78
+ when,
79
+ ));
80
+ }
81
+ }
82
+ }
83
+
84
+ protected toMonacoKeybindingNumber(codes: KeyCode[]): number {
85
+ const [firstPart, secondPart] = codes;
86
+ if (codes.length > 2) {
87
+ console.warn('Key chords should not consist of more than two parts; got ', codes);
88
+ }
89
+ const encodedFirstPart = this.toSingleMonacoKeybindingNumber(firstPart);
90
+ const encodedSecondPart = secondPart ? this.toSingleMonacoKeybindingNumber(secondPart) << 16 : 0;
91
+ return monaco.KeyMod.chord(encodedFirstPart, encodedSecondPart);
92
+ }
93
+
94
+ protected toSingleMonacoKeybindingNumber(code: KeyCode): number {
95
+ const keyCode = code.key?.keyCode !== undefined ? KEY_CODE_MAP[code.key.keyCode] : 0;
96
+ let encoded = (keyCode >>> 0) & 0x000000FF;
97
+ if (code.alt) {
98
+ encoded |= monaco.KeyMod.Alt;
99
+ }
100
+ if (code.shift) {
101
+ encoded |= monaco.KeyMod.Shift;
102
+ }
103
+ if (code.ctrl) {
104
+ encoded |= monaco.KeyMod.WinCtrl;
105
+ }
106
+ if (code.meta && isOSX) {
107
+ encoded |= monaco.KeyMod.CtrlCmd;
108
+ }
109
+ return encoded;
110
+ }
47
111
  }