@opensumi/ide-editor 2.12.1-next-079c1930
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/README.md +565 -0
- package/lib/browser/breadcrumb/default.d.ts +28 -0
- package/lib/browser/breadcrumb/default.d.ts.map +1 -0
- package/lib/browser/breadcrumb/default.js +283 -0
- package/lib/browser/breadcrumb/default.js.map +1 -0
- package/lib/browser/breadcrumb/document-symbol.d.ts +36 -0
- package/lib/browser/breadcrumb/document-symbol.d.ts.map +1 -0
- package/lib/browser/breadcrumb/document-symbol.js +161 -0
- package/lib/browser/breadcrumb/document-symbol.js.map +1 -0
- package/lib/browser/breadcrumb/index.d.ts +20 -0
- package/lib/browser/breadcrumb/index.d.ts.map +1 -0
- package/lib/browser/breadcrumb/index.js +90 -0
- package/lib/browser/breadcrumb/index.js.map +1 -0
- package/lib/browser/component/scroll/scroll.d.ts +66 -0
- package/lib/browser/component/scroll/scroll.d.ts.map +1 -0
- package/lib/browser/component/scroll/scroll.js +263 -0
- package/lib/browser/component/scroll/scroll.js.map +1 -0
- package/lib/browser/component/scroll/scroll.module.less +83 -0
- package/lib/browser/component.d.ts +23 -0
- package/lib/browser/component.d.ts.map +1 -0
- package/lib/browser/component.js +165 -0
- package/lib/browser/component.js.map +1 -0
- package/lib/browser/decoration-applier.d.ts +25 -0
- package/lib/browser/decoration-applier.d.ts.map +1 -0
- package/lib/browser/decoration-applier.js +224 -0
- package/lib/browser/decoration-applier.js.map +1 -0
- package/lib/browser/diff/compare.d.ts +14 -0
- package/lib/browser/diff/compare.d.ts.map +1 -0
- package/lib/browser/diff/compare.js +94 -0
- package/lib/browser/diff/compare.js.map +1 -0
- package/lib/browser/diff/index.d.ts +19 -0
- package/lib/browser/diff/index.d.ts.map +1 -0
- package/lib/browser/diff/index.js +92 -0
- package/lib/browser/diff/index.js.map +1 -0
- package/lib/browser/doc-cache/empty-doc-cache.d.ts +12 -0
- package/lib/browser/doc-cache/empty-doc-cache.d.ts.map +1 -0
- package/lib/browser/doc-cache/empty-doc-cache.js +27 -0
- package/lib/browser/doc-cache/empty-doc-cache.js.map +1 -0
- package/lib/browser/doc-cache/index.d.ts +3 -0
- package/lib/browser/doc-cache/index.d.ts.map +1 -0
- package/lib/browser/doc-cache/index.js +6 -0
- package/lib/browser/doc-cache/index.js.map +1 -0
- package/lib/browser/doc-cache/local-storage-cache.d.ts +32 -0
- package/lib/browser/doc-cache/local-storage-cache.d.ts.map +1 -0
- package/lib/browser/doc-cache/local-storage-cache.js +69 -0
- package/lib/browser/doc-cache/local-storage-cache.js.map +1 -0
- package/lib/browser/doc-model/editor-document-error.d.ts +7 -0
- package/lib/browser/doc-model/editor-document-error.d.ts.map +1 -0
- package/lib/browser/doc-model/editor-document-error.js +15 -0
- package/lib/browser/doc-model/editor-document-error.js.map +1 -0
- package/lib/browser/doc-model/editor-document-model-service.d.ts +40 -0
- package/lib/browser/doc-model/editor-document-model-service.d.ts.map +1 -0
- package/lib/browser/doc-model/editor-document-model-service.js +276 -0
- package/lib/browser/doc-model/editor-document-model-service.js.map +1 -0
- package/lib/browser/doc-model/editor-document-model.d.ts +85 -0
- package/lib/browser/doc-model/editor-document-model.d.ts.map +1 -0
- package/lib/browser/doc-model/editor-document-model.js +463 -0
- package/lib/browser/doc-model/editor-document-model.js.map +1 -0
- package/lib/browser/doc-model/editor-document-registry.d.ts +15 -0
- package/lib/browser/doc-model/editor-document-registry.d.ts.map +1 -0
- package/lib/browser/doc-model/editor-document-registry.js +110 -0
- package/lib/browser/doc-model/editor-document-registry.js.map +1 -0
- package/lib/browser/doc-model/editor-is-fn.d.ts +4 -0
- package/lib/browser/doc-model/editor-is-fn.d.ts.map +1 -0
- package/lib/browser/doc-model/editor-is-fn.js +12 -0
- package/lib/browser/doc-model/editor-is-fn.js.map +1 -0
- package/lib/browser/doc-model/main.d.ts +5 -0
- package/lib/browser/doc-model/main.d.ts.map +1 -0
- package/lib/browser/doc-model/main.js +8 -0
- package/lib/browser/doc-model/main.js.map +1 -0
- package/lib/browser/doc-model/override.d.ts +12 -0
- package/lib/browser/doc-model/override.d.ts.map +1 -0
- package/lib/browser/doc-model/override.js +46 -0
- package/lib/browser/doc-model/override.js.map +1 -0
- package/lib/browser/doc-model/save-task.d.ts +19 -0
- package/lib/browser/doc-model/save-task.d.ts.map +1 -0
- package/lib/browser/doc-model/save-task.js +34 -0
- package/lib/browser/doc-model/save-task.js.map +1 -0
- package/lib/browser/doc-model/saveParticipants.d.ts +21 -0
- package/lib/browser/doc-model/saveParticipants.d.ts.map +1 -0
- package/lib/browser/doc-model/saveParticipants.js +133 -0
- package/lib/browser/doc-model/saveParticipants.js.map +1 -0
- package/lib/browser/doc-model/types.d.ts +253 -0
- package/lib/browser/doc-model/types.d.ts.map +1 -0
- package/lib/browser/doc-model/types.js +31 -0
- package/lib/browser/doc-model/types.js.map +1 -0
- package/lib/browser/editor-collection.service.d.ts +137 -0
- package/lib/browser/editor-collection.service.d.ts.map +1 -0
- package/lib/browser/editor-collection.service.js +607 -0
- package/lib/browser/editor-collection.service.js.map +1 -0
- package/lib/browser/editor-opener.d.ts +10 -0
- package/lib/browser/editor-opener.d.ts.map +1 -0
- package/lib/browser/editor-opener.js +51 -0
- package/lib/browser/editor-opener.js.map +1 -0
- package/lib/browser/editor.contribution.d.ts +54 -0
- package/lib/browser/editor.contribution.d.ts.map +1 -0
- package/lib/browser/editor.contribution.js +1059 -0
- package/lib/browser/editor.contribution.js.map +1 -0
- package/lib/browser/editor.decoration.service.d.ts +28 -0
- package/lib/browser/editor.decoration.service.d.ts.map +1 -0
- package/lib/browser/editor.decoration.service.js +216 -0
- package/lib/browser/editor.decoration.service.js.map +1 -0
- package/lib/browser/editor.less +4 -0
- package/lib/browser/editor.module.less +493 -0
- package/lib/browser/editor.override.d.ts +24 -0
- package/lib/browser/editor.override.d.ts.map +1 -0
- package/lib/browser/editor.override.js +85 -0
- package/lib/browser/editor.override.js.map +1 -0
- package/lib/browser/editor.status-bar.service.d.ts +12 -0
- package/lib/browser/editor.status-bar.service.d.ts.map +1 -0
- package/lib/browser/editor.status-bar.service.js +114 -0
- package/lib/browser/editor.status-bar.service.js.map +1 -0
- package/lib/browser/editor.view.d.ts +33 -0
- package/lib/browser/editor.view.d.ts.map +1 -0
- package/lib/browser/editor.view.js +411 -0
- package/lib/browser/editor.view.js.map +1 -0
- package/lib/browser/error.d.ts +14 -0
- package/lib/browser/error.d.ts.map +1 -0
- package/lib/browser/error.js +19 -0
- package/lib/browser/error.js.map +1 -0
- package/lib/browser/feature.d.ts +14 -0
- package/lib/browser/feature.d.ts.map +1 -0
- package/lib/browser/feature.js +56 -0
- package/lib/browser/feature.js.map +1 -0
- package/lib/browser/format/formatterSelect.d.ts +11 -0
- package/lib/browser/format/formatterSelect.d.ts.map +1 -0
- package/lib/browser/format/formatterSelect.js +61 -0
- package/lib/browser/format/formatterSelect.js.map +1 -0
- package/lib/browser/fs-resource/file-tree-set.d.ts +31 -0
- package/lib/browser/fs-resource/file-tree-set.d.ts.map +1 -0
- package/lib/browser/fs-resource/file-tree-set.js +123 -0
- package/lib/browser/fs-resource/file-tree-set.js.map +1 -0
- package/lib/browser/fs-resource/fs-editor-doc.d.ts +47 -0
- package/lib/browser/fs-resource/fs-editor-doc.d.ts.map +1 -0
- package/lib/browser/fs-resource/fs-editor-doc.js +148 -0
- package/lib/browser/fs-resource/fs-editor-doc.js.map +1 -0
- package/lib/browser/fs-resource/fs-resource.d.ts +25 -0
- package/lib/browser/fs-resource/fs-resource.d.ts.map +1 -0
- package/lib/browser/fs-resource/fs-resource.js +211 -0
- package/lib/browser/fs-resource/fs-resource.js.map +1 -0
- package/lib/browser/fs-resource/index.d.ts +12 -0
- package/lib/browser/fs-resource/index.d.ts.map +1 -0
- package/lib/browser/fs-resource/index.js +30 -0
- package/lib/browser/fs-resource/index.js.map +1 -0
- package/lib/browser/grid/grid.service.d.ts +44 -0
- package/lib/browser/grid/grid.service.d.ts.map +1 -0
- package/lib/browser/grid/grid.service.js +255 -0
- package/lib/browser/grid/grid.service.js.map +1 -0
- package/lib/browser/history/index.d.ts +31 -0
- package/lib/browser/history/index.d.ts.map +1 -0
- package/lib/browser/history/index.js +164 -0
- package/lib/browser/history/index.js.map +1 -0
- package/lib/browser/index.d.ts +33 -0
- package/lib/browser/index.d.ts.map +1 -0
- package/lib/browser/index.js +212 -0
- package/lib/browser/index.js.map +1 -0
- package/lib/browser/language/diagnostic-collection.d.ts +28 -0
- package/lib/browser/language/diagnostic-collection.d.ts.map +1 -0
- package/lib/browser/language/diagnostic-collection.js +72 -0
- package/lib/browser/language/diagnostic-collection.js.map +1 -0
- package/lib/browser/language/language.service.d.ts +19 -0
- package/lib/browser/language/language.service.d.ts.map +1 -0
- package/lib/browser/language/language.service.js +146 -0
- package/lib/browser/language/language.service.js.map +1 -0
- package/lib/browser/language/workspace-symbol-quickopen.d.ts +43 -0
- package/lib/browser/language/workspace-symbol-quickopen.d.ts.map +1 -0
- package/lib/browser/language/workspace-symbol-quickopen.js +231 -0
- package/lib/browser/language/workspace-symbol-quickopen.js.map +1 -0
- package/lib/browser/menu/editor.context.d.ts +20 -0
- package/lib/browser/menu/editor.context.d.ts.map +1 -0
- package/lib/browser/menu/editor.context.js +139 -0
- package/lib/browser/menu/editor.context.js.map +1 -0
- package/lib/browser/menu/editor.menu.d.ts +13 -0
- package/lib/browser/menu/editor.menu.d.ts.map +1 -0
- package/lib/browser/menu/editor.menu.js +48 -0
- package/lib/browser/menu/editor.menu.js.map +1 -0
- package/lib/browser/menu/title-context.menu.d.ts +13 -0
- package/lib/browser/menu/title-context.menu.d.ts.map +1 -0
- package/lib/browser/menu/title-context.menu.js +55 -0
- package/lib/browser/menu/title-context.menu.js.map +1 -0
- package/lib/browser/monaco-contrib/callHierarchy/callHierarchy.contribution.d.ts +20 -0
- package/lib/browser/monaco-contrib/callHierarchy/callHierarchy.contribution.d.ts.map +1 -0
- package/lib/browser/monaco-contrib/callHierarchy/callHierarchy.contribution.js +64 -0
- package/lib/browser/monaco-contrib/callHierarchy/callHierarchy.contribution.js.map +1 -0
- package/lib/browser/monaco-contrib/callHierarchy/callHierarchy.service.d.ts +35 -0
- package/lib/browser/monaco-contrib/callHierarchy/callHierarchy.service.d.ts.map +1 -0
- package/lib/browser/monaco-contrib/callHierarchy/callHierarchy.service.js +144 -0
- package/lib/browser/monaco-contrib/callHierarchy/callHierarchy.service.js.map +1 -0
- package/lib/browser/monaco-contrib/command/command.service.d.ts +141 -0
- package/lib/browser/monaco-contrib/command/command.service.d.ts.map +1 -0
- package/lib/browser/monaco-contrib/command/command.service.js +370 -0
- package/lib/browser/monaco-contrib/command/command.service.js.map +1 -0
- package/lib/browser/monaco-contrib/index.d.ts +3 -0
- package/lib/browser/monaco-contrib/index.d.ts.map +1 -0
- package/lib/browser/monaco-contrib/index.js +6 -0
- package/lib/browser/monaco-contrib/index.js.map +1 -0
- package/lib/browser/monaco-contrib/tokenizer/textmate-registry.d.ts +46 -0
- package/lib/browser/monaco-contrib/tokenizer/textmate-registry.d.ts.map +1 -0
- package/lib/browser/monaco-contrib/tokenizer/textmate-registry.js +79 -0
- package/lib/browser/monaco-contrib/tokenizer/textmate-registry.js.map +1 -0
- package/lib/browser/monaco-contrib/tokenizer/textmate-tokenizer.d.ts +58 -0
- package/lib/browser/monaco-contrib/tokenizer/textmate-tokenizer.d.ts.map +1 -0
- package/lib/browser/monaco-contrib/tokenizer/textmate-tokenizer.js +75 -0
- package/lib/browser/monaco-contrib/tokenizer/textmate-tokenizer.js.map +1 -0
- package/lib/browser/monaco-contrib/tokenizer/textmate.service.d.ts +54 -0
- package/lib/browser/monaco-contrib/tokenizer/textmate.service.d.ts.map +1 -0
- package/lib/browser/monaco-contrib/tokenizer/textmate.service.js +596 -0
- package/lib/browser/monaco-contrib/tokenizer/textmate.service.js.map +1 -0
- package/lib/browser/navigation.module.less +86 -0
- package/lib/browser/navigation.view.d.ts +29 -0
- package/lib/browser/navigation.view.d.ts.map +1 -0
- package/lib/browser/navigation.view.js +183 -0
- package/lib/browser/navigation.view.js.map +1 -0
- package/lib/browser/preference/contribution.d.ts +5 -0
- package/lib/browser/preference/contribution.d.ts.map +1 -0
- package/lib/browser/preference/contribution.js +16 -0
- package/lib/browser/preference/contribution.js.map +1 -0
- package/lib/browser/preference/converter.d.ts +34 -0
- package/lib/browser/preference/converter.d.ts.map +1 -0
- package/lib/browser/preference/converter.js +632 -0
- package/lib/browser/preference/converter.js.map +1 -0
- package/lib/browser/preference/schema.d.ts +230 -0
- package/lib/browser/preference/schema.d.ts.map +1 -0
- package/lib/browser/preference/schema.js +1453 -0
- package/lib/browser/preference/schema.js.map +1 -0
- package/lib/browser/preference/util.d.ts +4 -0
- package/lib/browser/preference/util.d.ts.map +1 -0
- package/lib/browser/preference/util.js +13 -0
- package/lib/browser/preference/util.js.map +1 -0
- package/lib/browser/resource.service.d.ts +32 -0
- package/lib/browser/resource.service.d.ts.map +1 -0
- package/lib/browser/resource.service.js +219 -0
- package/lib/browser/resource.service.js.map +1 -0
- package/lib/browser/tab.view.d.ts +12 -0
- package/lib/browser/tab.view.d.ts.map +1 -0
- package/lib/browser/tab.view.js +330 -0
- package/lib/browser/tab.view.js.map +1 -0
- package/lib/browser/types.d.ts +344 -0
- package/lib/browser/types.d.ts.map +1 -0
- package/lib/browser/types.js +94 -0
- package/lib/browser/types.js.map +1 -0
- package/lib/browser/untitled-resource.d.ts +33 -0
- package/lib/browser/untitled-resource.d.ts.map +1 -0
- package/lib/browser/untitled-resource.js +114 -0
- package/lib/browser/untitled-resource.js.map +1 -0
- package/lib/browser/view/editor.react.d.ts +10 -0
- package/lib/browser/view/editor.react.d.ts.map +1 -0
- package/lib/browser/view/editor.react.js +69 -0
- package/lib/browser/view/editor.react.js.map +1 -0
- package/lib/browser/view/react-hook.d.ts +3 -0
- package/lib/browser/view/react-hook.d.ts.map +1 -0
- package/lib/browser/view/react-hook.js +9 -0
- package/lib/browser/view/react-hook.js.map +1 -0
- package/lib/browser/view/suggest-widget.d.ts +8 -0
- package/lib/browser/view/suggest-widget.d.ts.map +1 -0
- package/lib/browser/view/suggest-widget.js +51 -0
- package/lib/browser/view/suggest-widget.js.map +1 -0
- package/lib/browser/view/topPadding.d.ts +6 -0
- package/lib/browser/view/topPadding.d.ts.map +1 -0
- package/lib/browser/view/topPadding.js +18 -0
- package/lib/browser/view/topPadding.js.map +1 -0
- package/lib/browser/workbench-editor.service.d.ts +244 -0
- package/lib/browser/workbench-editor.service.d.ts.map +1 -0
- package/lib/browser/workbench-editor.service.js +1689 -0
- package/lib/browser/workbench-editor.service.js.map +1 -0
- package/lib/common/doc-cache.d.ts +80 -0
- package/lib/common/doc-cache.d.ts.map +1 -0
- package/lib/common/doc-cache.js +39 -0
- package/lib/common/doc-cache.js.map +1 -0
- package/lib/common/editor.d.ts +571 -0
- package/lib/common/editor.d.ts.map +1 -0
- package/lib/common/editor.js +125 -0
- package/lib/common/editor.js.map +1 -0
- package/lib/common/index.d.ts +6 -0
- package/lib/common/index.d.ts.map +1 -0
- package/lib/common/index.js +9 -0
- package/lib/common/index.js.map +1 -0
- package/lib/common/language.d.ts +108 -0
- package/lib/common/language.d.ts.map +1 -0
- package/lib/common/language.js +72 -0
- package/lib/common/language.js.map +1 -0
- package/lib/common/mocks/workbench-editor.service.d.ts +21 -0
- package/lib/common/mocks/workbench-editor.service.d.ts.map +1 -0
- package/lib/common/mocks/workbench-editor.service.js +48 -0
- package/lib/common/mocks/workbench-editor.service.js.map +1 -0
- package/lib/common/resource.d.ts +94 -0
- package/lib/common/resource.d.ts.map +1 -0
- package/lib/common/resource.js +31 -0
- package/lib/common/resource.js.map +1 -0
- package/lib/common/utils.d.ts +3 -0
- package/lib/common/utils.d.ts.map +1 -0
- package/lib/common/utils.js +14 -0
- package/lib/common/utils.js.map +1 -0
- package/lib/index.d.ts +2 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +5 -0
- package/lib/index.js.map +1 -0
- package/package.json +33 -0
|
@@ -0,0 +1,370 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var MonacoActionRegistry_1;
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.MonacoActionRegistry = exports.MonacoCommandRegistry = exports.MonacoCommandService = exports.MonacoCommandType = void 0;
|
|
5
|
+
const tslib_1 = require("tslib");
|
|
6
|
+
const monaco_api_1 = require("@opensumi/ide-monaco/lib/browser/monaco-api");
|
|
7
|
+
const di_1 = require("@opensumi/di");
|
|
8
|
+
const ide_core_browser_1 = require("@opensumi/ide-core-browser");
|
|
9
|
+
const command_1 = require("@opensumi/ide-monaco/lib/browser/contrib/command");
|
|
10
|
+
const services_1 = require("@opensumi/ide-monaco/lib/browser/monaco-api/services");
|
|
11
|
+
const types_1 = require("../../types");
|
|
12
|
+
/**
|
|
13
|
+
* vscode 会有一些别名 command,如果直接执行这些别名 command 会报错,做一个转换
|
|
14
|
+
*/
|
|
15
|
+
const MonacoCommandAlias = {
|
|
16
|
+
'editor.action.smartSelect.grow': 'editor.action.smartSelect.expand',
|
|
17
|
+
'cursorWordPartStartLeft': 'cursorWordPartLeft',
|
|
18
|
+
'cursorWordPartStartLeftSelect': 'cursorWordPartLeftSelect',
|
|
19
|
+
'editor.action.previewDeclaration': 'editor.action.peekDefinition',
|
|
20
|
+
'editor.action.openDeclarationToTheSide': 'editor.action.revealDefinitionAside',
|
|
21
|
+
'editor.action.goToDeclaration': 'editor.action.revealDefinition',
|
|
22
|
+
};
|
|
23
|
+
/**
|
|
24
|
+
* monaco 命令分两种
|
|
25
|
+
* 一种命令不需要带参数,是封装过的命令,即为 action
|
|
26
|
+
* 一种是正常命令,执行可以带参数
|
|
27
|
+
*/
|
|
28
|
+
var MonacoCommandType;
|
|
29
|
+
(function (MonacoCommandType) {
|
|
30
|
+
MonacoCommandType[MonacoCommandType["ACTION"] = 0] = "ACTION";
|
|
31
|
+
MonacoCommandType[MonacoCommandType["COMMAND"] = 1] = "COMMAND";
|
|
32
|
+
})(MonacoCommandType = exports.MonacoCommandType || (exports.MonacoCommandType = {}));
|
|
33
|
+
let MonacoCommandService = class MonacoCommandService {
|
|
34
|
+
constructor() {
|
|
35
|
+
this._onDidExecuteCommand = new ide_core_browser_1.Emitter();
|
|
36
|
+
this.onDidExecuteCommand = this._onDidExecuteCommand.event;
|
|
37
|
+
/**
|
|
38
|
+
* 事件触发器,在执行命令的时候会触发
|
|
39
|
+
* @type {Emitter<ICommandEvent>}
|
|
40
|
+
* @memberof MonacoCommandService
|
|
41
|
+
*/
|
|
42
|
+
this._onWillExecuteCommand = new ide_core_browser_1.Emitter();
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* 设置委托对象
|
|
46
|
+
* @param delegate 真正要执行 monaco 内部 command 的 commandSerice
|
|
47
|
+
*/
|
|
48
|
+
setDelegate(delegate) {
|
|
49
|
+
this.delegate = delegate;
|
|
50
|
+
}
|
|
51
|
+
get onWillExecuteCommand() {
|
|
52
|
+
return this._onWillExecuteCommand.event;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* 执行命令
|
|
56
|
+
* 先去全局 commands 里找,若没有尝试执行 delegate 的 command
|
|
57
|
+
* @param commandId
|
|
58
|
+
* @param args
|
|
59
|
+
*/
|
|
60
|
+
async executeCommand(commandId, ...args) {
|
|
61
|
+
this.logger.debug('command: ' + commandId);
|
|
62
|
+
this._onWillExecuteCommand.fire({ commandId, args });
|
|
63
|
+
try {
|
|
64
|
+
const res = await this.commandService.executeCommand(commandId, ...args);
|
|
65
|
+
this._onDidExecuteCommand.fire({ commandId, args });
|
|
66
|
+
return res;
|
|
67
|
+
}
|
|
68
|
+
catch (err) {
|
|
69
|
+
// 如果不是 handler 未找到直接抛错,否则执行 delegate 逻辑
|
|
70
|
+
if ((err === null || err === void 0 ? void 0 : err.name) !== ide_core_browser_1.HANDLER_NOT_FOUND) {
|
|
71
|
+
throw err;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
if (this.delegate) {
|
|
75
|
+
const res = this.delegate.executeCommand(MonacoCommandAlias[commandId] ? MonacoCommandAlias[commandId] : commandId, ...args);
|
|
76
|
+
this._onDidExecuteCommand.fire({ commandId, args });
|
|
77
|
+
return res;
|
|
78
|
+
}
|
|
79
|
+
this.reporterService.point(ide_core_browser_1.REPORT_NAME.NOT_FOUND_COMMAND, commandId);
|
|
80
|
+
return Promise.reject(new Error(`command '${commandId}' not found`));
|
|
81
|
+
}
|
|
82
|
+
};
|
|
83
|
+
(0, tslib_1.__decorate)([
|
|
84
|
+
(0, di_1.Autowired)(ide_core_browser_1.ILogger),
|
|
85
|
+
(0, tslib_1.__metadata)("design:type", Object)
|
|
86
|
+
], MonacoCommandService.prototype, "logger", void 0);
|
|
87
|
+
(0, tslib_1.__decorate)([
|
|
88
|
+
(0, di_1.Autowired)(ide_core_browser_1.CommandRegistry),
|
|
89
|
+
(0, tslib_1.__metadata)("design:type", Object)
|
|
90
|
+
], MonacoCommandService.prototype, "commandRegistry", void 0);
|
|
91
|
+
(0, tslib_1.__decorate)([
|
|
92
|
+
(0, di_1.Autowired)(ide_core_browser_1.CommandService),
|
|
93
|
+
(0, tslib_1.__metadata)("design:type", Object)
|
|
94
|
+
], MonacoCommandService.prototype, "commandService", void 0);
|
|
95
|
+
(0, tslib_1.__decorate)([
|
|
96
|
+
(0, di_1.Autowired)(ide_core_browser_1.IReporterService),
|
|
97
|
+
(0, tslib_1.__metadata)("design:type", Object)
|
|
98
|
+
], MonacoCommandService.prototype, "reporterService", void 0);
|
|
99
|
+
MonacoCommandService = (0, tslib_1.__decorate)([
|
|
100
|
+
(0, di_1.Injectable)()
|
|
101
|
+
], MonacoCommandService);
|
|
102
|
+
exports.MonacoCommandService = MonacoCommandService;
|
|
103
|
+
let MonacoCommandRegistry = class MonacoCommandRegistry {
|
|
104
|
+
/**
|
|
105
|
+
* 校验 command id 是否是 monaco id
|
|
106
|
+
* @param command 要校验的 id
|
|
107
|
+
* @returns 若找到则为转换过 monaco id,否则为 undefined
|
|
108
|
+
*/
|
|
109
|
+
validate(command) {
|
|
110
|
+
var _a;
|
|
111
|
+
return (_a = this.commands.getRawCommand(command)) === null || _a === void 0 ? void 0 : _a.id;
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* 注册 monaco 命令
|
|
115
|
+
* 命令 id 会统一加入 monaco 前缀
|
|
116
|
+
* monaco handler 会注入当前 editor 参数
|
|
117
|
+
* @param command 注册的命令
|
|
118
|
+
* @param handler 命令处理函数
|
|
119
|
+
*/
|
|
120
|
+
registerCommand(command, handler) {
|
|
121
|
+
this.commands.registerCommand(command, this.newHandler(handler));
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* 注册处理函数函数
|
|
125
|
+
* monaco handler 会注入当前 editor 参数
|
|
126
|
+
* @param command 命令 id
|
|
127
|
+
* @param handler 命令处理函数
|
|
128
|
+
*/
|
|
129
|
+
registerHandler(commandID, handler) {
|
|
130
|
+
this.commands.registerHandler(commandID, this.newHandler(handler));
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* 包装 monaco 命令处理函数为内部处理函数
|
|
134
|
+
* @param monacoHandler 要处理的 monaco 命令处理函数
|
|
135
|
+
*/
|
|
136
|
+
newHandler(monacoHandler) {
|
|
137
|
+
return {
|
|
138
|
+
execute: (...args) => this.execute(monacoHandler, ...args),
|
|
139
|
+
};
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* 给 monacoHandler 传递 editor 参数
|
|
143
|
+
* @param monacoHandler 要处理的 monaco 命令函数
|
|
144
|
+
* @param args 要透传的参数
|
|
145
|
+
*/
|
|
146
|
+
execute(monacoHandler, ...args) {
|
|
147
|
+
const editor = this.getActiveCodeEditor();
|
|
148
|
+
if (editor) {
|
|
149
|
+
// editor.focus();
|
|
150
|
+
return Promise.resolve(monacoHandler.execute(editor, ...args));
|
|
151
|
+
}
|
|
152
|
+
return Promise.resolve();
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* 获取当前活动的编辑器
|
|
156
|
+
* 此处的活动编辑器和 workbenchEditorService.currentEditor 的概念不同,对于diffEditor,需要获取确实的那个editor而不是modifiedEditor
|
|
157
|
+
*/
|
|
158
|
+
getActiveCodeEditor() {
|
|
159
|
+
// 先从editor-collection的焦点追踪,contextMenu追踪中取
|
|
160
|
+
if (this.editorCollectionService.currentEditor) {
|
|
161
|
+
return this.editorCollectionService.currentEditor.monacoEditor;
|
|
162
|
+
}
|
|
163
|
+
// 使用当前 editorGroup.editor 兜底
|
|
164
|
+
const editorGroup = this.workbenchEditorService.currentEditorGroup;
|
|
165
|
+
if (editorGroup) {
|
|
166
|
+
const editor = editorGroup.currentOrPreviousFocusedEditor || editorGroup.currentEditor;
|
|
167
|
+
if (editor) {
|
|
168
|
+
return editor.monacoEditor;
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
};
|
|
173
|
+
(0, tslib_1.__decorate)([
|
|
174
|
+
(0, di_1.Autowired)(ide_core_browser_1.CommandRegistry),
|
|
175
|
+
(0, tslib_1.__metadata)("design:type", Object)
|
|
176
|
+
], MonacoCommandRegistry.prototype, "commands", void 0);
|
|
177
|
+
(0, tslib_1.__decorate)([
|
|
178
|
+
(0, di_1.Autowired)(types_1.WorkbenchEditorService),
|
|
179
|
+
(0, tslib_1.__metadata)("design:type", types_1.WorkbenchEditorService)
|
|
180
|
+
], MonacoCommandRegistry.prototype, "workbenchEditorService", void 0);
|
|
181
|
+
(0, tslib_1.__decorate)([
|
|
182
|
+
(0, di_1.Autowired)(types_1.EditorCollectionService),
|
|
183
|
+
(0, tslib_1.__metadata)("design:type", types_1.EditorCollectionService)
|
|
184
|
+
], MonacoCommandRegistry.prototype, "editorCollectionService", void 0);
|
|
185
|
+
MonacoCommandRegistry = (0, tslib_1.__decorate)([
|
|
186
|
+
(0, di_1.Injectable)()
|
|
187
|
+
], MonacoCommandRegistry);
|
|
188
|
+
exports.MonacoCommandRegistry = MonacoCommandRegistry;
|
|
189
|
+
let MonacoActionRegistry = MonacoActionRegistry_1 = class MonacoActionRegistry {
|
|
190
|
+
get globalInstantiationService() {
|
|
191
|
+
const codeEditorService = this.overrideServiceRegistry.getRegisteredService(ide_core_browser_1.ServiceNames.CODE_EDITOR_SERVICE);
|
|
192
|
+
const textModelService = this.overrideServiceRegistry.getRegisteredService(ide_core_browser_1.ServiceNames.TEXT_MODEL_SERVICE);
|
|
193
|
+
const contextKeyService = this.overrideServiceRegistry.getRegisteredService(ide_core_browser_1.ServiceNames.CONTEXT_KEY_SERVICE);
|
|
194
|
+
const [, globalInstantiationService] = services_1.StaticServices.init({
|
|
195
|
+
codeEditorService,
|
|
196
|
+
textModelService,
|
|
197
|
+
contextKeyService,
|
|
198
|
+
});
|
|
199
|
+
return globalInstantiationService;
|
|
200
|
+
}
|
|
201
|
+
get monacoEditorRegistry() {
|
|
202
|
+
return command_1.EditorExtensionsRegistry;
|
|
203
|
+
}
|
|
204
|
+
get monacoCommands() {
|
|
205
|
+
return command_1.CommandsRegistry.getCommands();
|
|
206
|
+
}
|
|
207
|
+
registerMonacoActions() {
|
|
208
|
+
const editorActions = new Map(this.monacoEditorRegistry.getEditorActions().map(({ id, label }) => [id, label]));
|
|
209
|
+
for (const id of this.monacoCommands.keys()) {
|
|
210
|
+
if (MonacoActionRegistry_1.EXCLUDE_ACTIONS.includes(id)) {
|
|
211
|
+
continue;
|
|
212
|
+
}
|
|
213
|
+
const label = editorActions.has(id) ? editorActions.get(id) : '';
|
|
214
|
+
const handler = this.actAndComHandler(editorActions, id);
|
|
215
|
+
this.monacoCommandRegistry.registerCommand({
|
|
216
|
+
id,
|
|
217
|
+
label,
|
|
218
|
+
}, handler);
|
|
219
|
+
// 将 monaco 命令处理函数代理到有 label 的空命令上
|
|
220
|
+
const command = MonacoActionRegistry_1.COMMON_ACTIONS.get(id);
|
|
221
|
+
if (command) {
|
|
222
|
+
this.monacoCommandRegistry.registerHandler(command, handler);
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
/**
|
|
227
|
+
* monaco 内部有些 contribution 既注册了 actions 又注册了 commands,在这里优先调取 commands
|
|
228
|
+
*/
|
|
229
|
+
actAndComHandler(actions, id) {
|
|
230
|
+
if (MonacoActionRegistry_1.CONVERT_MONACO_ACTIONS_TO_CONTRIBUTION_ID.has(id)) {
|
|
231
|
+
const toConver = MonacoActionRegistry_1.CONVERT_MONACO_ACTIONS_TO_CONTRIBUTION_ID.get(id);
|
|
232
|
+
if (this.monacoEditorRegistry.getSomeEditorContributions([toConver]).length > 0) {
|
|
233
|
+
return this.newCommandHandler(id);
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
return actions.has(id) ? this.newActionHandler(id) : this.newCommandHandler(id);
|
|
237
|
+
}
|
|
238
|
+
/**
|
|
239
|
+
* 是否是 _execute 开头的 monaco 命令
|
|
240
|
+
*/
|
|
241
|
+
isInternalExecuteCommand(commandId) {
|
|
242
|
+
return commandId.startsWith('_execute');
|
|
243
|
+
}
|
|
244
|
+
/**
|
|
245
|
+
* monaco 内部会判断 uri 执行是否是 Uri 实例,执行改类命令统一转换一下
|
|
246
|
+
* @param args
|
|
247
|
+
*/
|
|
248
|
+
processInternalCommandArgument(commandId, args = []) {
|
|
249
|
+
if (this.isInternalExecuteCommand(commandId)) {
|
|
250
|
+
return args.map((arg) => arg instanceof ide_core_browser_1.Uri ? monaco_api_1.URI.revive(arg) : arg);
|
|
251
|
+
}
|
|
252
|
+
else if (MonacoActionRegistry_1.CONVERT_MONACO_COMMAND_ARGS.has(commandId)) {
|
|
253
|
+
return MonacoActionRegistry_1.CONVERT_MONACO_COMMAND_ARGS.get(commandId)(...args);
|
|
254
|
+
}
|
|
255
|
+
return args;
|
|
256
|
+
}
|
|
257
|
+
/**
|
|
258
|
+
* 调用 monaco 内部 _commandService 执行命令
|
|
259
|
+
* 实际执行的就是 MonacoCommandService
|
|
260
|
+
* @param commandId 命令名称
|
|
261
|
+
*/
|
|
262
|
+
newCommandHandler(commandId) {
|
|
263
|
+
return {
|
|
264
|
+
execute: (editor, ...args) => {
|
|
265
|
+
var _a;
|
|
266
|
+
if (!editor) {
|
|
267
|
+
return;
|
|
268
|
+
}
|
|
269
|
+
const editorCommand = !!this.monacoEditorRegistry.getEditorCommand(commandId) ||
|
|
270
|
+
!(this.isInternalExecuteCommand(commandId) || commandId === 'setContext' || MonacoActionRegistry_1.COMMON_ACTIONS.has(commandId));
|
|
271
|
+
const instantiationService = editorCommand ? editor && editor['_instantiationService'] : this.globalInstantiationService;
|
|
272
|
+
if (!instantiationService) {
|
|
273
|
+
return;
|
|
274
|
+
}
|
|
275
|
+
const commandArgs = this.processInternalCommandArgument(commandId, args);
|
|
276
|
+
return instantiationService.invokeFunction((_a = this.monacoCommands.get(commandId)) === null || _a === void 0 ? void 0 : _a.handler, ...commandArgs);
|
|
277
|
+
},
|
|
278
|
+
};
|
|
279
|
+
}
|
|
280
|
+
/**
|
|
281
|
+
* 包装 action 为命令处理函数
|
|
282
|
+
* 调用 getAction 执行 run 命令
|
|
283
|
+
* @param id action id
|
|
284
|
+
*/
|
|
285
|
+
newActionHandler(id) {
|
|
286
|
+
return {
|
|
287
|
+
execute: (editor) => {
|
|
288
|
+
const action = editor.getAction(id);
|
|
289
|
+
if (action && action.isSupported()) {
|
|
290
|
+
return this.runAction(id, editor);
|
|
291
|
+
}
|
|
292
|
+
},
|
|
293
|
+
};
|
|
294
|
+
}
|
|
295
|
+
/**
|
|
296
|
+
* 执行 action
|
|
297
|
+
* @param id 要执行的 action
|
|
298
|
+
* @param editor 执行 action 的 editor,默认为当前 editor
|
|
299
|
+
*/
|
|
300
|
+
runAction(id, editor) {
|
|
301
|
+
if (editor) {
|
|
302
|
+
const action = editor.getAction(id);
|
|
303
|
+
if (action) {
|
|
304
|
+
return action.run();
|
|
305
|
+
}
|
|
306
|
+
}
|
|
307
|
+
return Promise.resolve();
|
|
308
|
+
}
|
|
309
|
+
/**
|
|
310
|
+
* 生成键盘处理函数
|
|
311
|
+
* @param action 对应 action
|
|
312
|
+
*/
|
|
313
|
+
newKeyboardHandler(action) {
|
|
314
|
+
return {
|
|
315
|
+
execute: (editor, ...args) => editor.trigger('keyboard', action, args),
|
|
316
|
+
};
|
|
317
|
+
}
|
|
318
|
+
};
|
|
319
|
+
MonacoActionRegistry.COMMON_ACTIONS = new Map([
|
|
320
|
+
['undo', ide_core_browser_1.EDITOR_COMMANDS.UNDO.id],
|
|
321
|
+
['redo', ide_core_browser_1.EDITOR_COMMANDS.REDO.id],
|
|
322
|
+
['editor.action.selectAll', ide_core_browser_1.EDITOR_COMMANDS.SELECT_ALL.id],
|
|
323
|
+
]);
|
|
324
|
+
MonacoActionRegistry.CONVERT_MONACO_COMMAND_ARGS = new Map([
|
|
325
|
+
['editor.action.showReferences', (uri, ...args) => [monaco_api_1.URI.parse(uri), ...args]],
|
|
326
|
+
['editor.action.goToLocations', (uri, ...args) => [monaco_api_1.URI.parse(uri), ...args]],
|
|
327
|
+
]);
|
|
328
|
+
MonacoActionRegistry.CONVERT_MONACO_ACTIONS_TO_CONTRIBUTION_ID = new Map([
|
|
329
|
+
['editor.action.rename', 'editor.contrib.renameController'],
|
|
330
|
+
]);
|
|
331
|
+
/**
|
|
332
|
+
* 要排除注册的 Action
|
|
333
|
+
*
|
|
334
|
+
* @protected
|
|
335
|
+
* @memberof MonacoActionModule
|
|
336
|
+
*/
|
|
337
|
+
MonacoActionRegistry.EXCLUDE_ACTIONS = [
|
|
338
|
+
'setContext',
|
|
339
|
+
'editor.action.quickCommand',
|
|
340
|
+
'editor.action.quickOutline',
|
|
341
|
+
'editor.action.toggleHighContrast',
|
|
342
|
+
];
|
|
343
|
+
(0, tslib_1.__decorate)([
|
|
344
|
+
(0, di_1.Autowired)(),
|
|
345
|
+
(0, tslib_1.__metadata)("design:type", MonacoCommandRegistry)
|
|
346
|
+
], MonacoActionRegistry.prototype, "monacoCommandRegistry", void 0);
|
|
347
|
+
(0, tslib_1.__decorate)([
|
|
348
|
+
(0, di_1.Autowired)(ide_core_browser_1.MonacoOverrideServiceRegistry),
|
|
349
|
+
(0, tslib_1.__metadata)("design:type", ide_core_browser_1.MonacoOverrideServiceRegistry)
|
|
350
|
+
], MonacoActionRegistry.prototype, "overrideServiceRegistry", void 0);
|
|
351
|
+
(0, tslib_1.__decorate)([
|
|
352
|
+
ide_core_browser_1.memoize,
|
|
353
|
+
(0, tslib_1.__metadata)("design:type", Object),
|
|
354
|
+
(0, tslib_1.__metadata)("design:paramtypes", [])
|
|
355
|
+
], MonacoActionRegistry.prototype, "globalInstantiationService", null);
|
|
356
|
+
(0, tslib_1.__decorate)([
|
|
357
|
+
ide_core_browser_1.memoize,
|
|
358
|
+
(0, tslib_1.__metadata)("design:type", Object),
|
|
359
|
+
(0, tslib_1.__metadata)("design:paramtypes", [])
|
|
360
|
+
], MonacoActionRegistry.prototype, "monacoEditorRegistry", null);
|
|
361
|
+
(0, tslib_1.__decorate)([
|
|
362
|
+
ide_core_browser_1.memoize,
|
|
363
|
+
(0, tslib_1.__metadata)("design:type", Object),
|
|
364
|
+
(0, tslib_1.__metadata)("design:paramtypes", [])
|
|
365
|
+
], MonacoActionRegistry.prototype, "monacoCommands", null);
|
|
366
|
+
MonacoActionRegistry = MonacoActionRegistry_1 = (0, tslib_1.__decorate)([
|
|
367
|
+
(0, di_1.Injectable)()
|
|
368
|
+
], MonacoActionRegistry);
|
|
369
|
+
exports.MonacoActionRegistry = MonacoActionRegistry;
|
|
370
|
+
//# sourceMappingURL=command.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"command.service.js","sourceRoot":"","sources":["../../../../src/browser/monaco-contrib/command/command.service.ts"],"names":[],"mappings":";;;;;AAAA,4EAAkE;AAClE,qCAAqD;AACrD,iEAAsP;AAEtP,8EAA2Q;AAC3Q,mFAAsF;AAEtF,uCAA8E;AAE9E;;GAEG;AACH,MAAM,kBAAkB,GAAG;IACzB,gCAAgC,EAAE,kCAAkC;IACpE,yBAAyB,EAAE,oBAAoB;IAC/C,+BAA+B,EAAE,0BAA0B;IAC3D,kCAAkC,EAAE,8BAA8B;IAClE,wCAAwC,EAAE,qCAAqC;IAC/E,+BAA+B,EAAE,gCAAgC;CAClE,CAAC;AAEF;;;;GAIG;AACH,IAAY,iBAGX;AAHD,WAAY,iBAAiB;IAC3B,6DAAM,CAAA;IACN,+DAAO,CAAA;AACT,CAAC,EAHW,iBAAiB,GAAjB,yBAAiB,KAAjB,yBAAiB,QAG5B;AAKD,IAAa,oBAAoB,GAAjC,MAAa,oBAAoB;IAAjC;QAGU,yBAAoB,GAA2B,IAAI,0BAAO,EAAiB,CAAC;QAEpF,wBAAmB,GAAyB,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC;QAG5E;;;;WAIG;QACH,0BAAqB,GAA2B,IAAI,0BAAO,EAAiB,CAAC;IAqD/E,CAAC;IAvCC;;;OAGG;IACH,WAAW,CAAC,QAAyB;QACnC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAED,IAAI,oBAAoB;QACtB,OAAO,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC;IAC1C,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,cAAc,CAAI,SAAiB,EAAE,GAAG,IAAW;QACvD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,GAAG,SAAS,CAAC,CAAC;QAC3C,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACrD,IAAI;YACF,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,cAAc,CAAI,SAAS,EAAE,GAAG,IAAI,CAAC,CAAC;YAC5E,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACpD,OAAO,GAAG,CAAC;SACZ;QAAC,OAAO,GAAG,EAAE;YACZ,wCAAwC;YACxC,IAAI,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,IAAI,MAAK,oCAAiB,EAAE;gBACnC,MAAM,GAAG,CAAC;aACX;SACF;QACD,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,CAAC;YAC7H,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACpD,OAAO,GAAG,CAAC;SACZ;QACD,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,8BAAW,CAAC,iBAAiB,EAAE,SAAS,CAAC,CAAC;QACrE,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,YAAY,SAAS,aAAa,CAAC,CAAC,CAAC;IACvE,CAAC;CACF,CAAA;AAlDC;IADC,IAAA,cAAS,EAAC,0BAAO,CAAC;;oDACK;AAGxB;IADC,IAAA,cAAS,EAAC,kCAAe,CAAC;;6DACM;AAGjC;IADC,IAAA,cAAS,EAAC,iCAAc,CAAC;;4DACK;AAG/B;IADC,IAAA,cAAS,EAAC,mCAAgB,CAAC;;6DACM;AAzBvB,oBAAoB;IADhC,IAAA,eAAU,GAAE;GACA,oBAAoB,CAkEhC;AAlEY,oDAAoB;AAqEjC,IAAa,qBAAqB,GAAlC,MAAa,qBAAqB;IAWhC;;;;OAIG;IACH,QAAQ,CAAC,OAAe;;QACtB,OAAO,MAAA,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,0CAAE,EAAE,CAAC;IAClD,CAAC;IAED;;;;;;OAMG;IACH,eAAe,CAAC,OAAgB,EAAE,OAAmC;QACnE,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;IACnE,CAAC;IAED;;;;;OAKG;IACH,eAAe,CAAC,SAAiB,EAAE,OAAmC;QACpE,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;IACrE,CAAC;IAED;;;OAGG;IACO,UAAU,CAAC,aAAyC;QAC5D,OAAO;YACL,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,GAAG,IAAI,CAAC;SAC3D,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACO,OAAO,CAAC,aAAyC,EAAE,GAAG,IAAW;QACzE,MAAM,MAAM,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC1C,IAAI,MAAM,EAAE;YACV,kBAAkB;YAClB,OAAO,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;SAChE;QACD,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAED;;;OAGG;IACO,mBAAmB;QAC3B,2CAA2C;QAC3C,IAAI,IAAI,CAAC,uBAAuB,CAAC,aAAa,EAAE;YAC9C,OAAO,IAAI,CAAC,uBAAuB,CAAC,aAAa,CAAC,YAAY,CAAC;SAChE;QAED,6BAA6B;QAC7B,MAAM,WAAW,GAAG,IAAI,CAAC,sBAAsB,CAAC,kBAAkB,CAAC;QACnE,IAAI,WAAW,EAAE;YACf,MAAM,MAAM,GAAG,WAAW,CAAC,8BAA8B,IAAI,WAAW,CAAC,aAAa,CAAC;YACvF,IAAI,MAAM,EAAE;gBACV,OAAO,MAAM,CAAC,YAAY,CAAC;aAC5B;SACF;IACH,CAAC;CACF,CAAA;AAjFC;IADC,IAAA,cAAS,EAAC,kCAAe,CAAC;;uDACO;AAGlC;IADC,IAAA,cAAS,EAAC,8BAAsB,CAAC;2CACF,8BAAsB;qEAAC;AAGvD;IADC,IAAA,cAAS,EAAC,+BAAuB,CAAC;2CACF,+BAAuB;sEAAC;AAT9C,qBAAqB;IADjC,IAAA,eAAU,GAAE;GACA,qBAAqB,CAoFjC;AApFY,sDAAqB;AAuFlC,IAAa,oBAAoB,4BAAjC,MAAa,oBAAoB;IAqC/B,IAAI,0BAA0B;QAC5B,MAAM,iBAAiB,GAAG,IAAI,CAAC,uBAAuB,CAAC,oBAAoB,CAAC,+BAAY,CAAC,mBAAmB,CAAC,CAAC;QAC9G,MAAM,gBAAgB,GAAG,IAAI,CAAC,uBAAuB,CAAC,oBAAoB,CAAC,+BAAY,CAAC,kBAAkB,CAAC,CAAC;QAC5G,MAAM,iBAAiB,GAAG,IAAI,CAAC,uBAAuB,CAAC,oBAAoB,CAAC,+BAAY,CAAC,mBAAmB,CAAC,CAAC;QAC9G,MAAM,CAAC,EAAE,0BAA0B,CAAC,GAAG,yBAAc,CAAC,IAAI,CAAC;YACzD,iBAAiB;YACjB,gBAAgB;YAChB,iBAAiB;SAClB,CAAC,CAAC;QACH,OAAO,0BAA0B,CAAC;IACpC,CAAC;IAGD,IAAI,oBAAoB;QACtB,OAAO,kCAAwB,CAAC;IAClC,CAAC;IAGD,IAAI,cAAc;QAChB,OAAO,0BAAsB,CAAC,WAAW,EAAE,CAAC;IAC9C,CAAC;IAED,qBAAqB;QACnB,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAAC,gBAAgB,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;QAChH,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,EAAE;YAC3C,IAAI,sBAAoB,CAAC,eAAe,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE;gBACrD,SAAS;aACV;YACD,MAAM,KAAK,GAAG,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACjE,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;YACzD,IAAI,CAAC,qBAAqB,CAAC,eAAe,CAAC;gBACzC,EAAE;gBACF,KAAK;aACN,EAAE,OAAO,CAAC,CAAC;YACZ,kCAAkC;YAClC,MAAM,OAAO,GAAG,sBAAoB,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC5D,IAAI,OAAO,EAAE;gBACX,IAAI,CAAC,qBAAqB,CAAC,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;aAC9D;SACF;IACH,CAAC;IAED;;OAEG;IACK,gBAAgB,CAAC,OAA4B,EAAE,EAAU;QAC/D,IAAI,sBAAoB,CAAC,yCAAyC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;YAC1E,MAAM,QAAQ,GAAG,sBAAoB,CAAC,yCAAyC,CAAC,GAAG,CAAC,EAAE,CAAE,CAAC;YACzF,IAAI,IAAI,CAAC,oBAAoB,CAAC,0BAA0B,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC/E,OAAO,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;aACnC;SACF;QACD,OAAO,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;IAClF,CAAC;IAED;;OAEG;IACK,wBAAwB,CAAC,SAAiB;QAChD,OAAO,SAAS,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;IAC1C,CAAC;IAED;;;OAGG;IACK,8BAA8B,CAAC,SAAiB,EAAE,OAAc,EAAE;QACxE,IAAI,IAAI,CAAC,wBAAwB,CAAC,SAAS,CAAC,EAAE;YAC5C,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,YAAY,sBAAG,CAAC,CAAC,CAAC,gBAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;SACtE;aAAM,IAAI,sBAAoB,CAAC,2BAA2B,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;YAC1E,OAAO,sBAAoB,CAAC,2BAA2B,CAAC,GAAG,CAAC,SAAS,CAAE,CAAC,GAAG,IAAI,CAAC,CAAC;SAClF;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;OAIG;IACO,iBAAiB,CAAC,SAAiB;QAC3C,OAAO;YACL,OAAO,EAAE,CAAC,MAAM,EAAE,GAAG,IAAI,EAAE,EAAE;;gBAC3B,IAAI,CAAC,MAAM,EAAE;oBACX,OAAO;iBACR;gBACD,MAAM,aAAa,GAAG,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,SAAS,CAAC;oBAC3E,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC,SAAS,CAAC,IAAI,SAAS,KAAK,YAAY,IAAI,sBAAoB,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;gBAClI,MAAM,oBAAoB,GAAG,aAAa,CAAC,CAAC,CAAC,MAAM,IAAI,MAAM,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,0BAA0B,CAAC;gBACzH,IAAI,CAAC,oBAAoB,EAAE;oBACzB,OAAO;iBACR;gBACD,MAAM,WAAW,GAAG,IAAI,CAAC,8BAA8B,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;gBACzE,OAAO,oBAAoB,CAAC,cAAc,CACxC,MAAA,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,0CAAE,OAAO,EAC3C,GAAG,WAAW,CACf,CAAC;YACJ,CAAC;SACF,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACO,gBAAgB,CAAC,EAAU;QACnC,OAAO;YACL,OAAO,EAAE,CAAC,MAAM,EAAE,EAAE;gBAClB,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;gBACpC,IAAI,MAAM,IAAI,MAAM,CAAC,WAAW,EAAE,EAAE;oBAClC,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;iBACnC;YACH,CAAC;SACF,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACO,SAAS,CAAC,EAAU,EAAE,MAAmB;QACjD,IAAI,MAAM,EAAE;YACV,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;YACpC,IAAI,MAAM,EAAE;gBACV,OAAO,MAAM,CAAC,GAAG,EAAE,CAAC;aACrB;SACF;QAED,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAED;;;OAGG;IACO,kBAAkB,CAAC,MAAc;QACzC,OAAO;YACL,OAAO,EAAE,CAAC,MAAM,EAAE,GAAG,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC;SACvE,CAAC;IACJ,CAAC;CACF,CAAA;AAjLgB,mCAAc,GAAG,IAAI,GAAG,CAAkB;IACvD,CAAC,MAAM,EAAE,kCAAe,CAAC,IAAI,CAAC,EAAE,CAAC;IACjC,CAAC,MAAM,EAAE,kCAAe,CAAC,IAAI,CAAC,EAAE,CAAC;IACjC,CAAC,yBAAyB,EAAE,kCAAe,CAAC,UAAU,CAAC,EAAE,CAAC;CAC3D,CAAE,CAAA;AAEY,gDAA2B,GAAG,IAAI,GAAG,CAAoC;IACtF,CAAE,8BAA8B,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI,EAAE,EAAE,CAAC,CAAC,gBAAG,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,CAAE;IAC/E,CAAE,6BAA6B,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI,EAAE,EAAE,CAAC,CAAC,gBAAG,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,CAAE;CAC/E,CAAE,CAAA;AAEY,8DAAyC,GAAG,IAAI,GAAG,CAAiB;IACjF,CAAE,sBAAsB,EAAG,iCAAiC,CAAC;CAC9D,CAAE,CAAA;AAEH;;;;;GAKG;AACuB,oCAAe,GAAG;IAC1C,YAAY;IACZ,4BAA4B;IAC5B,4BAA4B;IAC5B,kCAAkC;CAClC,CAAA;AAGF;IADC,IAAA,cAAS,GAAE;2CACW,qBAAqB;mEAAC;AAG7C;IADC,IAAA,cAAS,EAAC,gDAA6B,CAAC;2CACC,gDAA6B;qEAAC;AAGxE;IADC,0BAAO;;;sEAWP;AAGD;IADC,0BAAO;;;gEAGP;AAGD;IADC,0BAAO;;;0DAGP;AAzDU,oBAAoB;IADhC,IAAA,eAAU,GAAE;GACA,oBAAoB,CAmLhC;AAnLY,oDAAoB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/browser/monaco-contrib/index.ts"],"names":[],"mappings":"AAAA,cAAc,4CAA4C,CAAC;AAC3D,cAAc,uCAAuC,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
(0, tslib_1.__exportStar)(require("./callHierarchy/callHierarchy.contribution"), exports);
|
|
5
|
+
(0, tslib_1.__exportStar)(require("./callHierarchy/callHierarchy.service"), exports);
|
|
6
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/browser/monaco-contrib/index.ts"],"names":[],"mappings":";;;AAAA,0FAA2D;AAC3D,qFAAsD"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/********************************************************************************
|
|
2
|
+
* Copyright (C) 2018 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 { IGrammarConfiguration } from 'vscode-textmate';
|
|
17
|
+
import { URI } from '@opensumi/ide-core-common';
|
|
18
|
+
import { TokenizerOption } from './textmate-tokenizer';
|
|
19
|
+
export interface TextmateGrammarConfiguration extends IGrammarConfiguration {
|
|
20
|
+
/**
|
|
21
|
+
* Optional options to further refine the tokenization of the grammar.
|
|
22
|
+
*/
|
|
23
|
+
readonly tokenizerOption?: TokenizerOption;
|
|
24
|
+
}
|
|
25
|
+
export interface GrammarDefinitionProvider {
|
|
26
|
+
getGrammarDefinition(): Promise<GrammarDefinition>;
|
|
27
|
+
getInjections?(scopeName: string): string[];
|
|
28
|
+
}
|
|
29
|
+
export interface GrammarDefinition {
|
|
30
|
+
format: 'json' | 'plist';
|
|
31
|
+
content?: object | string;
|
|
32
|
+
location: URI;
|
|
33
|
+
}
|
|
34
|
+
export declare class TextmateRegistry {
|
|
35
|
+
readonly scopeToProvider: Map<string, GrammarDefinitionProvider>;
|
|
36
|
+
readonly languageToConfig: Map<string, () => TextmateGrammarConfiguration>;
|
|
37
|
+
readonly languageIdToScope: Map<string, string>;
|
|
38
|
+
registerTextmateGrammarScope(scope: string, description: GrammarDefinitionProvider): () => void;
|
|
39
|
+
getProvider(scope: string): GrammarDefinitionProvider | undefined;
|
|
40
|
+
mapLanguageIdToTextmateGrammar(languageId: string, scope: string): () => void;
|
|
41
|
+
getScope(languageId: string): string | undefined;
|
|
42
|
+
getLanguageId(scope: string): string | undefined;
|
|
43
|
+
registerGrammarConfiguration(languageId: string, getConfig: () => TextmateGrammarConfiguration): () => void;
|
|
44
|
+
getGrammarConfiguration(languageId: string): () => TextmateGrammarConfiguration;
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=textmate-registry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"textmate-registry.d.ts","sourceRoot":"","sources":["../../../../src/browser/monaco-contrib/tokenizer/textmate-registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAGlF,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAkB,GAAG,EAAE,MAAM,2BAA2B,CAAC;AAEhE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,MAAM,WAAW,4BAA6B,SAAQ,qBAAqB;IACzE;;OAEG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,eAAe,CAAC;CAC5C;AAED,MAAM,WAAW,yBAAyB;IACxC,oBAAoB,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAAC;IACnD,aAAa,CAAC,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CAC7C;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC1B,QAAQ,EAAE,GAAG,CAAC;CACf;AAED,qBACa,gBAAgB;IAC3B,QAAQ,CAAC,eAAe,yCAAgD;IACxE,QAAQ,CAAC,gBAAgB,oBAEjB,4BAA4B,EAChC;IACJ,QAAQ,CAAC,iBAAiB,sBAA6B;IAGvD,4BAA4B,CAC1B,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,yBAAyB;IAgBxC,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,yBAAyB,GAAG,SAAS;IAIjE,8BAA8B,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;IAgBhE,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAIhD,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAShD,4BAA4B,CAC1B,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,4BAA4B;IAY/C,uBAAuB,CACrB,UAAU,EAAE,MAAM,GACjB,MAAM,4BAA4B;CAGtC"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/********************************************************************************
|
|
3
|
+
* Copyright (C) 2018 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
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
exports.TextmateRegistry = void 0;
|
|
19
|
+
const tslib_1 = require("tslib");
|
|
20
|
+
const di_1 = require("@opensumi/di");
|
|
21
|
+
const ide_core_common_1 = require("@opensumi/ide-core-common");
|
|
22
|
+
let TextmateRegistry = class TextmateRegistry {
|
|
23
|
+
constructor() {
|
|
24
|
+
this.scopeToProvider = new Map();
|
|
25
|
+
this.languageToConfig = new Map();
|
|
26
|
+
this.languageIdToScope = new Map();
|
|
27
|
+
}
|
|
28
|
+
// 将语法定义描述绑定到某一个Scope:source.json.comments
|
|
29
|
+
registerTextmateGrammarScope(scope, description) {
|
|
30
|
+
if (this.scopeToProvider.has(scope)) {
|
|
31
|
+
(0, ide_core_common_1.getDebugLogger)().warn(new Error(`a registered grammar provider for '${scope}' scope is overridden`));
|
|
32
|
+
}
|
|
33
|
+
this.scopeToProvider.set(scope, description);
|
|
34
|
+
return () => {
|
|
35
|
+
this.scopeToProvider.delete(scope);
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
getProvider(scope) {
|
|
39
|
+
return this.scopeToProvider.get(scope);
|
|
40
|
+
}
|
|
41
|
+
mapLanguageIdToTextmateGrammar(languageId, scope) {
|
|
42
|
+
const existingScope = this.getScope(languageId);
|
|
43
|
+
if (typeof existingScope === 'string') {
|
|
44
|
+
(0, ide_core_common_1.getDebugLogger)().warn(new Error(`'${languageId}' language is remapped from '${existingScope}' to '${scope}' scope`));
|
|
45
|
+
}
|
|
46
|
+
this.languageIdToScope.set(languageId, scope);
|
|
47
|
+
return () => {
|
|
48
|
+
this.languageIdToScope.delete(languageId);
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
getScope(languageId) {
|
|
52
|
+
return this.languageIdToScope.get(languageId);
|
|
53
|
+
}
|
|
54
|
+
getLanguageId(scope) {
|
|
55
|
+
for (const key of this.languageIdToScope.keys()) {
|
|
56
|
+
if (this.languageIdToScope.get(key) === scope) {
|
|
57
|
+
return key;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
return undefined;
|
|
61
|
+
}
|
|
62
|
+
registerGrammarConfiguration(languageId, getConfig) {
|
|
63
|
+
if (this.languageToConfig.has(languageId)) {
|
|
64
|
+
// console.warn(new Error(`a registered grammar configuration for '${languageId}' language is overridden`));
|
|
65
|
+
}
|
|
66
|
+
this.languageToConfig.set(languageId, getConfig);
|
|
67
|
+
return () => {
|
|
68
|
+
this.languageToConfig.delete(languageId);
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
getGrammarConfiguration(languageId) {
|
|
72
|
+
return this.languageToConfig.get(languageId) || (() => ({}));
|
|
73
|
+
}
|
|
74
|
+
};
|
|
75
|
+
TextmateRegistry = (0, tslib_1.__decorate)([
|
|
76
|
+
(0, di_1.Injectable)()
|
|
77
|
+
], TextmateRegistry);
|
|
78
|
+
exports.TextmateRegistry = TextmateRegistry;
|
|
79
|
+
//# sourceMappingURL=textmate-registry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"textmate-registry.js","sourceRoot":"","sources":["../../../../src/browser/monaco-contrib/tokenizer/textmate-registry.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;kFAckF;;;;AAElF,qCAA0C;AAE1C,+DAAgE;AAuBhE,IAAa,gBAAgB,GAA7B,MAAa,gBAAgB;IAA7B;QACW,oBAAe,GAAG,IAAI,GAAG,EAAqC,CAAC;QAC/D,qBAAgB,GAAG,IAAI,GAAG,EAGhC,CAAC;QACK,sBAAiB,GAAG,IAAI,GAAG,EAAkB,CAAC;IAyEzD,CAAC;IAvEC,0CAA0C;IAC1C,4BAA4B,CAC1B,KAAa,EACb,WAAsC;QAEtC,IAAI,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YACnC,IAAA,gCAAc,GAAE,CAAC,IAAI,CACnB,IAAI,KAAK,CACP,sCAAsC,KAAK,uBAAuB,CACnE,CACF,CAAC;SACH;QACD,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;QAE7C,OAAO,GAAG,EAAE;YACV,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACrC,CAAC,CAAC;IACJ,CAAC;IAED,WAAW,CAAC,KAAa;QACvB,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACzC,CAAC;IAED,8BAA8B,CAAC,UAAkB,EAAE,KAAa;QAC9D,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAChD,IAAI,OAAO,aAAa,KAAK,QAAQ,EAAE;YACrC,IAAA,gCAAc,GAAE,CAAC,IAAI,CACnB,IAAI,KAAK,CACP,IAAI,UAAU,gCAAgC,aAAa,SAAS,KAAK,SAAS,CACnF,CACF,CAAC;SACH;QACD,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QAE9C,OAAO,GAAG,EAAE;YACV,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAC5C,CAAC,CAAC;IACJ,CAAC;IAED,QAAQ,CAAC,UAAkB;QACzB,OAAO,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAChD,CAAC;IAED,aAAa,CAAC,KAAa;QACzB,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,EAAE;YAC/C,IAAI,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,KAAK,EAAE;gBAC7C,OAAO,GAAG,CAAC;aACZ;SACF;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,4BAA4B,CAC1B,UAAkB,EAClB,SAA6C;QAE7C,IAAI,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE;YACzC,4GAA4G;SAC7G;QACD,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;QAEjD,OAAO,GAAG,EAAE;YACV,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAC3C,CAAC,CAAC;IACJ,CAAC;IAED,uBAAuB,CACrB,UAAkB;QAElB,OAAO,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/D,CAAC;CACF,CAAA;AA/EY,gBAAgB;IAD5B,IAAA,eAAU,GAAE;GACA,gBAAgB,CA+E5B;AA/EY,4CAAgB"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import * as monaco from '@opensumi/monaco-editor-core/esm/vs/editor/editor.api';
|
|
2
|
+
/********************************************************************************
|
|
3
|
+
* Copyright (C) 2018 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
|
+
import { StackElement, IGrammar } from 'vscode-textmate';
|
|
18
|
+
export declare class TokenizerState implements monaco.languages.IState {
|
|
19
|
+
readonly ruleStack: StackElement;
|
|
20
|
+
constructor(ruleStack: StackElement);
|
|
21
|
+
clone(): monaco.languages.IState;
|
|
22
|
+
equals(other: monaco.languages.IState): boolean;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Options for the TextMate tokenizer.
|
|
26
|
+
*/
|
|
27
|
+
export interface TokenizerOption {
|
|
28
|
+
/**
|
|
29
|
+
* Maximum line length that will be handled by the TextMate tokenizer. If the length of the actual line exceeds this
|
|
30
|
+
* limit, the tokenizer terminates and the tokenization of any subsequent lines might be broken.
|
|
31
|
+
*
|
|
32
|
+
* If the `lineLimit` is not defined, it means, there are no line length limits. Otherwise, it must be a positive
|
|
33
|
+
* integer or an error will be thrown.
|
|
34
|
+
*/
|
|
35
|
+
readonly lineLimit?: number;
|
|
36
|
+
}
|
|
37
|
+
export declare const enum MetadataConsts {
|
|
38
|
+
LANGUAGEID_MASK = 255,
|
|
39
|
+
TOKEN_TYPE_MASK = 1792,
|
|
40
|
+
FONT_STYLE_MASK = 14336,
|
|
41
|
+
FOREGROUND_MASK = 8372224,
|
|
42
|
+
BACKGROUND_MASK = 4286578688,
|
|
43
|
+
ITALIC_MASK = 2048,
|
|
44
|
+
BOLD_MASK = 4096,
|
|
45
|
+
UNDERLINE_MASK = 8192,
|
|
46
|
+
SEMANTIC_USE_ITALIC = 1,
|
|
47
|
+
SEMANTIC_USE_BOLD = 2,
|
|
48
|
+
SEMANTIC_USE_UNDERLINE = 4,
|
|
49
|
+
SEMANTIC_USE_FOREGROUND = 8,
|
|
50
|
+
SEMANTIC_USE_BACKGROUND = 16,
|
|
51
|
+
LANGUAGEID_OFFSET = 0,
|
|
52
|
+
TOKEN_TYPE_OFFSET = 8,
|
|
53
|
+
FONT_STYLE_OFFSET = 11,
|
|
54
|
+
FOREGROUND_OFFSET = 14,
|
|
55
|
+
BACKGROUND_OFFSET = 23
|
|
56
|
+
}
|
|
57
|
+
export declare function createTextmateTokenizer(grammar: IGrammar, options: TokenizerOption): monaco.languages.EncodedTokensProvider;
|
|
58
|
+
//# sourceMappingURL=textmate-tokenizer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"textmate-tokenizer.d.ts","sourceRoot":"","sources":["../../../../src/browser/monaco-contrib/tokenizer/textmate-tokenizer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,uDAAuD,CAAC;AAChF;;;;;;;;;;;;;;kFAckF;AAElF,OAAO,EAAW,YAAY,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAElE,qBAAa,cAAe,YAAW,MAAM,CAAC,SAAS,CAAC,MAAM;aAChC,SAAS,EAAE,YAAY;gBAAvB,SAAS,EAAE,YAAY;IAEnD,KAAK,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM;IAIhC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC,MAAM,GAAG,OAAO;CAMhD;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B;;;;;;OAMG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,0BAAkB,cAAc;IAC9B,eAAe,MAAqC;IACpD,eAAe,OAAqC;IACpD,eAAe,QAAqC;IACpD,eAAe,UAAqC;IACpD,eAAe,aAAqC;IAEpD,WAAW,OAAqC;IAChD,SAAS,OAAqC;IAC9C,cAAc,OAAqC;IAEnD,mBAAmB,IAAqC;IACxD,iBAAiB,IAAqC;IACtD,sBAAsB,IAAqC;IAC3D,uBAAuB,IAAqC;IAC5D,uBAAuB,KAAqC;IAE5D,iBAAiB,IAAI;IACrB,iBAAiB,IAAI;IACrB,iBAAiB,KAAK;IACtB,iBAAiB,KAAK;IACtB,iBAAiB,KAAK;CACvB;AAED,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,QAAQ,EACjB,OAAO,EAAE,eAAe,GACvB,MAAM,CAAC,SAAS,CAAC,qBAAqB,CA4CxC"}
|