@theia/keymaps 1.24.0-next.7 → 1.24.0-next.73

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.
@@ -1 +1,2 @@
1
+ export {};
1
2
  //# sourceMappingURL=keymaps-monaco-contribution.d.ts.map
@@ -1,3 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
1
3
  // *****************************************************************************
2
4
  // Copyright (C) 2018 TypeFox and others.
3
5
  //
@@ -13,6 +15,7 @@
13
15
  //
14
16
  // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
17
  // *****************************************************************************
18
+ const monaco = require("@theia/monaco-editor-core");
16
19
  monaco.languages.register({
17
20
  id: 'jsonc',
18
21
  'aliases': [
@@ -1 +1 @@
1
- {"version":3,"file":"keymaps-monaco-contribution.js","sourceRoot":"","sources":["../../src/browser/keymaps-monaco-contribution.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,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC;IACtB,EAAE,EAAE,OAAO;IACX,SAAS,EAAE;QACP,oBAAoB;KACvB;IACD,WAAW,EAAE;QACT,cAAc;KACjB;CACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"keymaps-monaco-contribution.js","sourceRoot":"","sources":["../../src/browser/keymaps-monaco-contribution.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;AAChF,oDAAoD;AAEpD,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC;IACtB,EAAE,EAAE,OAAO;IACX,SAAS,EAAE;QACP,oBAAoB;KACvB;IACD,WAAW,EAAE;QACT,cAAc;KACjB;CACJ,CAAC,CAAC"}
@@ -7,12 +7,14 @@ import { MonacoEditorModel } from '@theia/monaco/lib/browser/monaco-editor-model
7
7
  import { Deferred } from '@theia/core/lib/common/promise-util';
8
8
  import { MonacoWorkspace } from '@theia/monaco/lib/browser/monaco-workspace';
9
9
  import { MessageService } from '@theia/core/lib/common/message-service';
10
+ import { MonacoJSONCEditor } from '@theia/preferences/lib/browser/monaco-jsonc-editor';
10
11
  export declare class KeymapsService {
11
12
  protected readonly workspace: MonacoWorkspace;
12
13
  protected readonly textModelService: MonacoTextModelService;
13
14
  protected readonly keybindingRegistry: KeybindingRegistry;
14
15
  protected readonly opener: OpenerService;
15
16
  protected readonly messageService: MessageService;
17
+ protected readonly jsoncEditor: MonacoJSONCEditor;
16
18
  protected readonly changeKeymapEmitter: Emitter<void>;
17
19
  readonly onDidChangeKeymaps: import("@theia/core/lib/common/event").Event<void>;
18
20
  protected model: MonacoEditorModel | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"keymaps-service.d.ts","sourceRoot":"","sources":["../../src/browser/keymaps-service.ts"],"names":[],"mappings":"AAiBA,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"}
1
+ {"version":3,"file":"keymaps-service.d.ts","sourceRoot":"","sources":["../../src/browser/keymaps-service.ts"],"names":[],"mappings":"AAiBA,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;AACxE,OAAO,EAAE,iBAAiB,EAAE,MAAM,oDAAoD,CAAC;AAEvF,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;IAGlD,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,iBAAiB,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;CAc7E"}
@@ -37,6 +37,7 @@ const promise_util_1 = require("@theia/core/lib/common/promise-util");
37
37
  const uri_1 = require("@theia/core/lib/common/uri");
38
38
  const monaco_workspace_1 = require("@theia/monaco/lib/browser/monaco-workspace");
39
39
  const message_service_1 = require("@theia/core/lib/common/message-service");
40
+ const monaco_jsonc_editor_1 = require("@theia/preferences/lib/browser/monaco-jsonc-editor");
40
41
  let KeymapsService = class KeymapsService {
41
42
  constructor() {
42
43
  this.changeKeymapEmitter = new event_1.Emitter();
@@ -168,27 +169,8 @@ let KeymapsService = class KeymapsService {
168
169
  const model = await this.deferredModel.promise;
169
170
  try {
170
171
  const keybindings = op();
171
- if (keybindings) {
172
- const content = model.getText().trim();
173
- const textModel = model.textEditorModel;
174
- const { insertSpaces, tabSize, defaultEOL } = textModel.getOptions();
175
- const editOperations = [];
176
- for (const edit of jsoncparser.modify(content, [], keybindings.map(binding => keybinding_2.Keybinding.apiObjectify(binding)), {
177
- formattingOptions: {
178
- insertSpaces,
179
- tabSize,
180
- eol: defaultEOL === monaco.editor.DefaultEndOfLine.LF ? '\n' : '\r\n'
181
- }
182
- })) {
183
- const start = textModel.getPositionAt(edit.offset);
184
- const end = textModel.getPositionAt(edit.offset + edit.length);
185
- editOperations.push({
186
- range: monaco.Range.fromPositions(start, end),
187
- text: edit.content,
188
- forceMoveMarkers: false
189
- });
190
- }
191
- await this.workspace.applyBackgroundEdit(model, editOperations);
172
+ if (keybindings && this.model) {
173
+ await this.jsoncEditor.setValue(this.model, [], keybindings.map(binding => keybinding_2.Keybinding.apiObjectify(binding)));
192
174
  }
193
175
  }
194
176
  catch (e) {
@@ -218,6 +200,10 @@ __decorate([
218
200
  (0, inversify_1.inject)(message_service_1.MessageService),
219
201
  __metadata("design:type", message_service_1.MessageService)
220
202
  ], KeymapsService.prototype, "messageService", void 0);
203
+ __decorate([
204
+ (0, inversify_1.inject)(monaco_jsonc_editor_1.MonacoJSONCEditor),
205
+ __metadata("design:type", monaco_jsonc_editor_1.MonacoJSONCEditor)
206
+ ], KeymapsService.prototype, "jsoncEditor", void 0);
221
207
  __decorate([
222
208
  (0, inversify_1.postConstruct)(),
223
209
  __metadata("design:type", Function),
@@ -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,11 +1,13 @@
1
1
  {
2
2
  "name": "@theia/keymaps",
3
- "version": "1.24.0-next.7+481d2cf0edd",
3
+ "version": "1.24.0-next.73+34cbf782ae6",
4
4
  "description": "Theia - Custom Keymaps Extension",
5
5
  "dependencies": {
6
- "@theia/core": "1.24.0-next.7+481d2cf0edd",
7
- "@theia/monaco": "1.24.0-next.7+481d2cf0edd",
8
- "@theia/userstorage": "1.24.0-next.7+481d2cf0edd",
6
+ "@theia/core": "1.24.0-next.73+34cbf782ae6",
7
+ "@theia/monaco": "1.24.0-next.73+34cbf782ae6",
8
+ "@theia/monaco-editor-core": "1.65.2",
9
+ "@theia/preferences": "1.24.0-next.73+34cbf782ae6",
10
+ "@theia/userstorage": "1.24.0-next.73+34cbf782ae6",
9
11
  "jsonc-parser": "^2.2.0"
10
12
  },
11
13
  "devDependencies": {
@@ -46,5 +48,5 @@
46
48
  "nyc": {
47
49
  "extends": "../../configs/nyc.json"
48
50
  },
49
- "gitHead": "481d2cf0edd33d8495662b9589b9232dcd6c8b34"
51
+ "gitHead": "34cbf782ae6fbf3358240fa80188c1cb41a70bd2"
50
52
  }
@@ -13,6 +13,7 @@
13
13
  //
14
14
  // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
15
  // *****************************************************************************
16
+ import * as monaco from '@theia/monaco-editor-core';
16
17
 
17
18
  monaco.languages.register({
18
19
  id: 'jsonc',
@@ -27,6 +27,7 @@ import { Deferred } from '@theia/core/lib/common/promise-util';
27
27
  import URI from '@theia/core/lib/common/uri';
28
28
  import { MonacoWorkspace } from '@theia/monaco/lib/browser/monaco-workspace';
29
29
  import { MessageService } from '@theia/core/lib/common/message-service';
30
+ import { MonacoJSONCEditor } from '@theia/preferences/lib/browser/monaco-jsonc-editor';
30
31
 
31
32
  @injectable()
32
33
  export class KeymapsService {
@@ -46,6 +47,9 @@ export class KeymapsService {
46
47
  @inject(MessageService)
47
48
  protected readonly messageService: MessageService;
48
49
 
50
+ @inject(MonacoJSONCEditor)
51
+ protected readonly jsoncEditor: MonacoJSONCEditor;
52
+
49
53
  protected readonly changeKeymapEmitter = new Emitter<void>();
50
54
  readonly onDidChangeKeymaps = this.changeKeymapEmitter.event;
51
55
 
@@ -185,27 +189,8 @@ export class KeymapsService {
185
189
  const model = await this.deferredModel.promise;
186
190
  try {
187
191
  const keybindings = op();
188
- if (keybindings) {
189
- const content = model.getText().trim();
190
- const textModel = model.textEditorModel;
191
- const { insertSpaces, tabSize, defaultEOL } = textModel.getOptions();
192
- const editOperations: monaco.editor.IIdentifiedSingleEditOperation[] = [];
193
- for (const edit of jsoncparser.modify(content, [], keybindings.map(binding => Keybinding.apiObjectify(binding)), {
194
- formattingOptions: {
195
- insertSpaces,
196
- tabSize,
197
- eol: defaultEOL === monaco.editor.DefaultEndOfLine.LF ? '\n' : '\r\n'
198
- }
199
- })) {
200
- const start = textModel.getPositionAt(edit.offset);
201
- const end = textModel.getPositionAt(edit.offset + edit.length);
202
- editOperations.push({
203
- range: monaco.Range.fromPositions(start, end),
204
- text: edit.content,
205
- forceMoveMarkers: false
206
- });
207
- }
208
- await this.workspace.applyBackgroundEdit(model, editOperations);
192
+ if (keybindings && this.model) {
193
+ await this.jsoncEditor.setValue(this.model, [], keybindings.map(binding => Keybinding.apiObjectify(binding)));
209
194
  }
210
195
  } catch (e) {
211
196
  const message = `Failed to update a keymap in '${model.uri}'.`;
@@ -1,18 +0,0 @@
1
- // *****************************************************************************
2
- // Copyright (C) 2018 TypeFox 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
- // eslint-disable-next-line spaced-comment
18
- /// <reference types="@theia/monaco/src/typings/monaco/index"/>