@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.
- package/lib/browser/keymaps-monaco-contribution.d.ts +1 -0
- package/lib/browser/keymaps-monaco-contribution.js +3 -0
- package/lib/browser/keymaps-monaco-contribution.js.map +1 -1
- package/lib/browser/keymaps-service.d.ts +2 -0
- package/lib/browser/keymaps-service.d.ts.map +1 -1
- package/lib/browser/keymaps-service.js +7 -21
- package/lib/browser/keymaps-service.js.map +1 -1
- package/package.json +7 -5
- package/src/browser/keymaps-monaco-contribution.ts +1 -0
- package/src/browser/keymaps-service.ts +6 -21
- package/src/browser/monaco.d.ts +0 -18
|
@@ -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;
|
|
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;
|
|
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
|
-
|
|
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":";AAAA,gFAAgF;AAChF,0CAA0C;AAC1C,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,4DAAiF;AACjF,qDAA2F;AAC3F,mEAAyF;AACzF,kEAA8E;AAC9E,4DAAgE;AAChE,4CAA4C;AAC5C,wDAAuD;AACvD,mGAA6F;AAE7F,sEAA+D;AAC/D,oDAA6C;AAC7C,iFAA6E;AAC7E,4EAAwE;
|
|
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.
|
|
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
|
-
"@theia/monaco": "1.24.0-next.
|
|
8
|
-
"@theia/
|
|
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": "
|
|
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
|
-
|
|
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}'.`;
|
package/src/browser/monaco.d.ts
DELETED
|
@@ -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"/>
|