@theia/monaco 1.67.0-next.56 → 1.67.0-next.59
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/content-hover-widget-patcher.d.ts +9 -0
- package/lib/browser/content-hover-widget-patcher.d.ts.map +1 -0
- package/lib/browser/content-hover-widget-patcher.js +63 -0
- package/lib/browser/content-hover-widget-patcher.js.map +1 -0
- package/lib/browser/default-content-hover-widget-patcher.d.ts +9 -0
- package/lib/browser/default-content-hover-widget-patcher.d.ts.map +1 -0
- package/lib/browser/default-content-hover-widget-patcher.js +49 -0
- package/lib/browser/default-content-hover-widget-patcher.js.map +1 -0
- package/lib/browser/index.d.ts +3 -0
- package/lib/browser/index.d.ts.map +1 -0
- package/lib/browser/index.js +21 -0
- package/lib/browser/index.js.map +1 -0
- package/lib/browser/markdown-renderer/monaco-markdown-renderer.d.ts +21 -0
- package/lib/browser/markdown-renderer/monaco-markdown-renderer.d.ts.map +1 -0
- package/lib/browser/markdown-renderer/monaco-markdown-renderer.js +115 -0
- package/lib/browser/markdown-renderer/monaco-markdown-renderer.js.map +1 -0
- package/lib/browser/monaco-bulk-edit-service.d.ts +13 -0
- package/lib/browser/monaco-bulk-edit-service.d.ts.map +1 -0
- package/lib/browser/monaco-bulk-edit-service.js +59 -0
- package/lib/browser/monaco-bulk-edit-service.js.map +1 -0
- package/lib/browser/monaco-code-action-save-participant.d.ts +11 -0
- package/lib/browser/monaco-code-action-save-participant.d.ts.map +1 -0
- package/lib/browser/monaco-code-action-save-participant.js +48 -0
- package/lib/browser/monaco-code-action-save-participant.js.map +1 -0
- package/lib/browser/monaco-code-action-service.d.ts +41 -0
- package/lib/browser/monaco-code-action-service.d.ts.map +1 -0
- package/lib/browser/monaco-code-action-service.js +132 -0
- package/lib/browser/monaco-code-action-service.js.map +1 -0
- package/lib/browser/monaco-color-registry.d.ts +17 -0
- package/lib/browser/monaco-color-registry.d.ts.map +1 -0
- package/lib/browser/monaco-color-registry.js +78 -0
- package/lib/browser/monaco-color-registry.js.map +1 -0
- package/lib/browser/monaco-command-registry.d.ts +20 -0
- package/lib/browser/monaco-command-registry.d.ts.map +1 -0
- package/lib/browser/monaco-command-registry.js +81 -0
- package/lib/browser/monaco-command-registry.js.map +1 -0
- package/lib/browser/monaco-command-service.d.ts +22 -0
- package/lib/browser/monaco-command-service.d.ts.map +1 -0
- package/lib/browser/monaco-command-service.js +83 -0
- package/lib/browser/monaco-command-service.js.map +1 -0
- package/lib/browser/monaco-command.d.ts +89 -0
- package/lib/browser/monaco-command.d.ts.map +1 -0
- package/lib/browser/monaco-command.js +303 -0
- package/lib/browser/monaco-command.js.map +1 -0
- package/lib/browser/monaco-context-key-service.d.ts +24 -0
- package/lib/browser/monaco-context-key-service.d.ts.map +1 -0
- package/lib/browser/monaco-context-key-service.js +151 -0
- package/lib/browser/monaco-context-key-service.js.map +1 -0
- package/lib/browser/monaco-context-menu.d.ts +22 -0
- package/lib/browser/monaco-context-menu.d.ts.map +1 -0
- package/lib/browser/monaco-context-menu.js +140 -0
- package/lib/browser/monaco-context-menu.js.map +1 -0
- package/lib/browser/monaco-diff-computer.d.ts +6 -0
- package/lib/browser/monaco-diff-computer.d.ts.map +1 -0
- package/lib/browser/monaco-diff-computer.js +57 -0
- package/lib/browser/monaco-diff-computer.js.map +1 -0
- package/lib/browser/monaco-diff-editor.d.ts +42 -0
- package/lib/browser/monaco-diff-editor.d.ts.map +1 -0
- package/lib/browser/monaco-diff-editor.js +142 -0
- package/lib/browser/monaco-diff-editor.js.map +1 -0
- package/lib/browser/monaco-diff-navigator-factory.d.ts +7 -0
- package/lib/browser/monaco-diff-navigator-factory.d.ts.map +1 -0
- package/lib/browser/monaco-diff-navigator-factory.js +41 -0
- package/lib/browser/monaco-diff-navigator-factory.js.map +1 -0
- package/lib/browser/monaco-editor-content-menu.d.ts +20 -0
- package/lib/browser/monaco-editor-content-menu.d.ts.map +1 -0
- package/lib/browser/monaco-editor-content-menu.js +118 -0
- package/lib/browser/monaco-editor-content-menu.js.map +1 -0
- package/lib/browser/monaco-editor-model.d.ts +172 -0
- package/lib/browser/monaco-editor-model.d.ts.map +1 -0
- package/lib/browser/monaco-editor-model.js +536 -0
- package/lib/browser/monaco-editor-model.js.map +1 -0
- package/lib/browser/monaco-editor-overlay-button.d.ts +14 -0
- package/lib/browser/monaco-editor-overlay-button.d.ts.map +1 -0
- package/lib/browser/monaco-editor-overlay-button.js +58 -0
- package/lib/browser/monaco-editor-overlay-button.js.map +1 -0
- package/lib/browser/monaco-editor-peek-view-widget.d.ts +74 -0
- package/lib/browser/monaco-editor-peek-view-widget.d.ts.map +1 -0
- package/lib/browser/monaco-editor-peek-view-widget.js +194 -0
- package/lib/browser/monaco-editor-peek-view-widget.js.map +1 -0
- package/lib/browser/monaco-editor-provider.d.ts +100 -0
- package/lib/browser/monaco-editor-provider.d.ts.map +1 -0
- package/lib/browser/monaco-editor-provider.js +493 -0
- package/lib/browser/monaco-editor-provider.js.map +1 -0
- package/lib/browser/monaco-editor-service.d.ts +41 -0
- package/lib/browser/monaco-editor-service.d.ts.map +1 -0
- package/lib/browser/monaco-editor-service.js +167 -0
- package/lib/browser/monaco-editor-service.js.map +1 -0
- package/lib/browser/monaco-editor-zone-widget.d.ts +44 -0
- package/lib/browser/monaco-editor-zone-widget.d.ts.map +1 -0
- package/lib/browser/monaco-editor-zone-widget.js +195 -0
- package/lib/browser/monaco-editor-zone-widget.js.map +1 -0
- package/lib/browser/monaco-editor.d.ts +169 -0
- package/lib/browser/monaco-editor.d.ts.map +1 -0
- package/lib/browser/monaco-editor.js +638 -0
- package/lib/browser/monaco-editor.js.map +1 -0
- package/lib/browser/monaco-formatting-conflicts.d.ts +15 -0
- package/lib/browser/monaco-formatting-conflicts.d.ts.map +1 -0
- package/lib/browser/monaco-formatting-conflicts.js +104 -0
- package/lib/browser/monaco-formatting-conflicts.js.map +1 -0
- package/lib/browser/monaco-frontend-application-contribution.d.ts +32 -0
- package/lib/browser/monaco-frontend-application-contribution.d.ts.map +1 -0
- package/lib/browser/monaco-frontend-application-contribution.js +208 -0
- package/lib/browser/monaco-frontend-application-contribution.js.map +1 -0
- package/lib/browser/monaco-frontend-module.d.ts +8 -0
- package/lib/browser/monaco-frontend-module.d.ts.map +1 -0
- package/lib/browser/monaco-frontend-module.js +299 -0
- package/lib/browser/monaco-frontend-module.js.map +1 -0
- package/lib/browser/monaco-gotoline-quick-access.d.ts +12 -0
- package/lib/browser/monaco-gotoline-quick-access.d.ts.map +1 -0
- package/lib/browser/monaco-gotoline-quick-access.js +54 -0
- package/lib/browser/monaco-gotoline-quick-access.js.map +1 -0
- package/lib/browser/monaco-gotosymbol-quick-access.d.ts +17 -0
- package/lib/browser/monaco-gotosymbol-quick-access.d.ts.map +1 -0
- package/lib/browser/monaco-gotosymbol-quick-access.js +60 -0
- package/lib/browser/monaco-gotosymbol-quick-access.js.map +1 -0
- package/lib/browser/monaco-icon-registry.d.ts +11 -0
- package/lib/browser/monaco-icon-registry.d.ts.map +1 -0
- package/lib/browser/monaco-icon-registry.js +48 -0
- package/lib/browser/monaco-icon-registry.js.map +1 -0
- package/lib/browser/monaco-indexed-db.d.ts +29 -0
- package/lib/browser/monaco-indexed-db.d.ts.map +1 -0
- package/lib/browser/monaco-indexed-db.js +127 -0
- package/lib/browser/monaco-indexed-db.js.map +1 -0
- package/lib/browser/monaco-init.d.ts +6 -0
- package/lib/browser/monaco-init.d.ts.map +1 -0
- package/lib/browser/monaco-init.js +165 -0
- package/lib/browser/monaco-init.js.map +1 -0
- package/lib/browser/monaco-keybinding.d.ts +17 -0
- package/lib/browser/monaco-keybinding.d.ts.map +1 -0
- package/lib/browser/monaco-keybinding.js +127 -0
- package/lib/browser/monaco-keybinding.js.map +1 -0
- package/lib/browser/monaco-keycode-map.d.ts +3 -0
- package/lib/browser/monaco-keycode-map.d.ts.map +1 -0
- package/lib/browser/monaco-keycode-map.js +164 -0
- package/lib/browser/monaco-keycode-map.js.map +1 -0
- package/lib/browser/monaco-languages.d.ts +36 -0
- package/lib/browser/monaco-languages.d.ts.map +1 -0
- package/lib/browser/monaco-languages.js +173 -0
- package/lib/browser/monaco-languages.js.map +1 -0
- package/lib/browser/monaco-marker-collection.d.ts +19 -0
- package/lib/browser/monaco-marker-collection.d.ts.map +1 -0
- package/lib/browser/monaco-marker-collection.js +71 -0
- package/lib/browser/monaco-marker-collection.js.map +1 -0
- package/lib/browser/monaco-menu.d.ts +21 -0
- package/lib/browser/monaco-menu.d.ts.map +1 -0
- package/lib/browser/monaco-menu.js +141 -0
- package/lib/browser/monaco-menu.js.map +1 -0
- package/lib/browser/monaco-mime-service.d.ts +11 -0
- package/lib/browser/monaco-mime-service.d.ts.map +1 -0
- package/lib/browser/monaco-mime-service.js +71 -0
- package/lib/browser/monaco-mime-service.js.map +1 -0
- package/lib/browser/monaco-outline-contribution.d.ts +79 -0
- package/lib/browser/monaco-outline-contribution.d.ts.map +1 -0
- package/lib/browser/monaco-outline-contribution.js +377 -0
- package/lib/browser/monaco-outline-contribution.js.map +1 -0
- package/lib/browser/monaco-outline-decorator.d.ts +13 -0
- package/lib/browser/monaco-outline-decorator.d.ts.map +1 -0
- package/lib/browser/monaco-outline-decorator.js +63 -0
- package/lib/browser/monaco-outline-decorator.js.map +1 -0
- package/lib/browser/monaco-quick-access-registry.d.ts +12 -0
- package/lib/browser/monaco-quick-access-registry.d.ts.map +1 -0
- package/lib/browser/monaco-quick-access-registry.js +92 -0
- package/lib/browser/monaco-quick-access-registry.js.map +1 -0
- package/lib/browser/monaco-quick-input-service.d.ts +110 -0
- package/lib/browser/monaco-quick-input-service.d.ts.map +1 -0
- package/lib/browser/monaco-quick-input-service.js +591 -0
- package/lib/browser/monaco-quick-input-service.js.map +1 -0
- package/lib/browser/monaco-resolved-keybinding.d.ts +24 -0
- package/lib/browser/monaco-resolved-keybinding.d.ts.map +1 -0
- package/lib/browser/monaco-resolved-keybinding.js +132 -0
- package/lib/browser/monaco-resolved-keybinding.js.map +1 -0
- package/lib/browser/monaco-snippet-suggest-provider.d.ts +67 -0
- package/lib/browser/monaco-snippet-suggest-provider.d.ts.map +1 -0
- package/lib/browser/monaco-snippet-suggest-provider.js +266 -0
- package/lib/browser/monaco-snippet-suggest-provider.js.map +1 -0
- package/lib/browser/monaco-standalone-theme-service.d.ts +8 -0
- package/lib/browser/monaco-standalone-theme-service.d.ts.map +1 -0
- package/lib/browser/monaco-standalone-theme-service.js +51 -0
- package/lib/browser/monaco-standalone-theme-service.js.map +1 -0
- package/lib/browser/monaco-status-bar-contribution.d.ts +18 -0
- package/lib/browser/monaco-status-bar-contribution.d.ts.map +1 -0
- package/lib/browser/monaco-status-bar-contribution.js +105 -0
- package/lib/browser/monaco-status-bar-contribution.js.map +1 -0
- package/lib/browser/monaco-text-model-service.d.ts +59 -0
- package/lib/browser/monaco-text-model-service.d.ts.map +1 -0
- package/lib/browser/monaco-text-model-service.js +157 -0
- package/lib/browser/monaco-text-model-service.js.map +1 -0
- package/lib/browser/monaco-theming-service.d.ts +68 -0
- package/lib/browser/monaco-theming-service.d.ts.map +1 -0
- package/lib/browser/monaco-theming-service.js +164 -0
- package/lib/browser/monaco-theming-service.js.map +1 -0
- package/lib/browser/monaco-to-protocol-converter.d.ts +29 -0
- package/lib/browser/monaco-to-protocol-converter.d.ts.map +1 -0
- package/lib/browser/monaco-to-protocol-converter.js +74 -0
- package/lib/browser/monaco-to-protocol-converter.js.map +1 -0
- package/lib/browser/monaco-undo-redo-handler.d.ts +20 -0
- package/lib/browser/monaco-undo-redo-handler.d.ts.map +1 -0
- package/lib/browser/monaco-undo-redo-handler.js +72 -0
- package/lib/browser/monaco-undo-redo-handler.js.map +1 -0
- package/lib/browser/monaco-utilities.d.ts +3 -0
- package/lib/browser/monaco-utilities.d.ts.map +1 -0
- package/lib/browser/monaco-utilities.js +45 -0
- package/lib/browser/monaco-utilities.js.map +1 -0
- package/lib/browser/monaco-workspace-context-service.d.ts +26 -0
- package/lib/browser/monaco-workspace-context-service.d.ts.map +1 -0
- package/lib/browser/monaco-workspace-context-service.js +63 -0
- package/lib/browser/monaco-workspace-context-service.js.map +1 -0
- package/lib/browser/monaco-workspace.d.ts +85 -0
- package/lib/browser/monaco-workspace.d.ts.map +1 -0
- package/lib/browser/monaco-workspace.js +378 -0
- package/lib/browser/monaco-workspace.js.map +1 -0
- package/lib/browser/protocol-to-monaco-converter.d.ts +32 -0
- package/lib/browser/protocol-to-monaco-converter.d.ts.map +1 -0
- package/lib/browser/protocol-to-monaco-converter.js +129 -0
- package/lib/browser/protocol-to-monaco-converter.js.map +1 -0
- package/lib/browser/simple-monaco-editor.d.ts +49 -0
- package/lib/browser/simple-monaco-editor.d.ts.map +1 -0
- package/lib/browser/simple-monaco-editor.js +199 -0
- package/lib/browser/simple-monaco-editor.js.map +1 -0
- package/lib/browser/textmate/index.d.ts +5 -0
- package/lib/browser/textmate/index.d.ts.map +1 -0
- package/lib/browser/textmate/index.js +23 -0
- package/lib/browser/textmate/index.js.map +1 -0
- package/lib/browser/textmate/monaco-textmate-frontend-bindings.d.ts +12 -0
- package/lib/browser/textmate/monaco-textmate-frontend-bindings.d.ts.map +1 -0
- package/lib/browser/textmate/monaco-textmate-frontend-bindings.js +92 -0
- package/lib/browser/textmate/monaco-textmate-frontend-bindings.js.map +1 -0
- package/lib/browser/textmate/monaco-textmate-service.d.ts +31 -0
- package/lib/browser/textmate/monaco-textmate-service.d.ts.map +1 -0
- package/lib/browser/textmate/monaco-textmate-service.js +178 -0
- package/lib/browser/textmate/monaco-textmate-service.js.map +1 -0
- package/lib/browser/textmate/monaco-theme-registry.d.ts +28 -0
- package/lib/browser/textmate/monaco-theme-registry.d.ts.map +1 -0
- package/lib/browser/textmate/monaco-theme-registry.js +165 -0
- package/lib/browser/textmate/monaco-theme-registry.js.map +1 -0
- package/lib/browser/textmate/monaco-theme-types.d.ts +20 -0
- package/lib/browser/textmate/monaco-theme-types.d.ts.map +1 -0
- package/lib/browser/textmate/monaco-theme-types.js +22 -0
- package/lib/browser/textmate/monaco-theme-types.js.map +1 -0
- package/lib/browser/textmate/textmate-contribution.d.ts +10 -0
- package/lib/browser/textmate/textmate-contribution.d.ts.map +1 -0
- package/lib/browser/textmate/textmate-contribution.js +28 -0
- package/lib/browser/textmate/textmate-contribution.js.map +1 -0
- package/lib/browser/textmate/textmate-registry.d.ts +32 -0
- package/lib/browser/textmate/textmate-registry.d.ts.map +1 -0
- package/lib/browser/textmate/textmate-registry.js +105 -0
- package/lib/browser/textmate/textmate-registry.js.map +1 -0
- package/lib/browser/textmate/textmate-snippet-completion-provider.d.ts +27 -0
- package/lib/browser/textmate/textmate-snippet-completion-provider.d.ts.map +1 -0
- package/lib/browser/textmate/textmate-snippet-completion-provider.js +54 -0
- package/lib/browser/textmate/textmate-snippet-completion-provider.js.map +1 -0
- package/lib/browser/textmate/textmate-tokenizer.d.ts +23 -0
- package/lib/browser/textmate/textmate-tokenizer.d.ts.map +1 -0
- package/lib/browser/textmate/textmate-tokenizer.js +66 -0
- package/lib/browser/textmate/textmate-tokenizer.js.map +1 -0
- package/lib/browser/workspace-symbol-command.d.ts +56 -0
- package/lib/browser/workspace-symbol-command.d.ts.map +1 -0
- package/lib/browser/workspace-symbol-command.js +208 -0
- package/lib/browser/workspace-symbol-command.js.map +1 -0
- package/lib/package.spec.d.ts +1 -0
- package/lib/package.spec.d.ts.map +1 -0
- package/lib/package.spec.js +26 -0
- package/lib/package.spec.js.map +1 -0
- package/package.json +8 -8
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// *****************************************************************************
|
|
3
|
+
// Copyright (C) 2017 TypeFox 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-only WITH Classpath-exception-2.0
|
|
16
|
+
// *****************************************************************************
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
exports.MonacoContextMenuService = void 0;
|
|
19
|
+
const tslib_1 = require("tslib");
|
|
20
|
+
const inversify_1 = require("@theia/core/shared/inversify");
|
|
21
|
+
const browser_1 = require("@theia/editor/lib/browser");
|
|
22
|
+
const browser_2 = require("@theia/core/lib/browser");
|
|
23
|
+
const widgets_1 = require("@theia/core/shared/@lumino/widgets");
|
|
24
|
+
const commands_1 = require("@theia/core/shared/@lumino/commands");
|
|
25
|
+
const actions_1 = require("@theia/monaco-editor-core/esm/vs/base/common/actions");
|
|
26
|
+
const actions_2 = require("@theia/monaco-editor-core/esm/vs/platform/actions/common/actions");
|
|
27
|
+
const event_1 = require("@theia/monaco-editor-core/esm/vs/base/common/event");
|
|
28
|
+
const mouseEvent_1 = require("@theia/monaco-editor-core/esm/vs/base/browser/mouseEvent");
|
|
29
|
+
let MonacoContextMenuService = class MonacoContextMenuService {
|
|
30
|
+
constructor() {
|
|
31
|
+
this.onDidShowContextMenuEmitter = new event_1.Emitter();
|
|
32
|
+
this.onDidHideContextMenuEmitter = new event_1.Emitter();
|
|
33
|
+
}
|
|
34
|
+
get onDidShowContextMenu() {
|
|
35
|
+
return this.onDidShowContextMenuEmitter.event;
|
|
36
|
+
}
|
|
37
|
+
;
|
|
38
|
+
get onDidHideContextMenu() {
|
|
39
|
+
return this.onDidShowContextMenuEmitter.event;
|
|
40
|
+
}
|
|
41
|
+
;
|
|
42
|
+
toAnchor(anchor) {
|
|
43
|
+
if (anchor instanceof HTMLElement) {
|
|
44
|
+
return { x: anchor.offsetLeft, y: anchor.offsetTop };
|
|
45
|
+
}
|
|
46
|
+
else if (anchor instanceof mouseEvent_1.StandardMouseEvent) {
|
|
47
|
+
return { x: anchor.posx, y: anchor.posy };
|
|
48
|
+
}
|
|
49
|
+
else {
|
|
50
|
+
return anchor;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
getContext(delegate) {
|
|
54
|
+
const anchor = delegate.getAnchor();
|
|
55
|
+
if (anchor instanceof HTMLElement) {
|
|
56
|
+
return anchor;
|
|
57
|
+
}
|
|
58
|
+
else if (anchor instanceof mouseEvent_1.StandardMouseEvent) {
|
|
59
|
+
return anchor.target;
|
|
60
|
+
}
|
|
61
|
+
else {
|
|
62
|
+
return window.document.body; // last resort
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
showContextMenu(delegate) {
|
|
66
|
+
const anchor = this.toAnchor(delegate.getAnchor());
|
|
67
|
+
const actions = delegate.getActions();
|
|
68
|
+
const context = this.getContext(delegate);
|
|
69
|
+
const onHide = () => {
|
|
70
|
+
var _a;
|
|
71
|
+
(_a = delegate.onHide) === null || _a === void 0 ? void 0 : _a.call(delegate, false);
|
|
72
|
+
this.onDidHideContextMenuEmitter.fire();
|
|
73
|
+
};
|
|
74
|
+
// Actions for editor context menu come as 'MenuItemAction' items
|
|
75
|
+
// In case of 'Quick Fix' actions come as 'CodeActionAction' items
|
|
76
|
+
if (actions.length > 0 && actions[0] instanceof actions_2.MenuItemAction) {
|
|
77
|
+
this.contextMenuRenderer.render({
|
|
78
|
+
context: context,
|
|
79
|
+
menuPath: this.menuPath(),
|
|
80
|
+
anchor,
|
|
81
|
+
onHide
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
else {
|
|
85
|
+
const menu = new widgets_1.Menu({ commands: new commands_1.CommandRegistry() });
|
|
86
|
+
this.populateMenu(menu, actions);
|
|
87
|
+
menu.aboutToClose.connect(() => onHide());
|
|
88
|
+
menu.open(anchor.x, anchor.y);
|
|
89
|
+
this.contextMenuRenderer.current = new browser_2.ContextMenuAccess(menu);
|
|
90
|
+
}
|
|
91
|
+
this.onDidShowContextMenuEmitter.fire();
|
|
92
|
+
}
|
|
93
|
+
populateMenu(menu, actions) {
|
|
94
|
+
for (const action of actions) {
|
|
95
|
+
if (action instanceof actions_1.SubmenuAction) {
|
|
96
|
+
const submenu = new widgets_1.Menu({ commands: new commands_1.CommandRegistry() });
|
|
97
|
+
submenu.title.label = action.label;
|
|
98
|
+
submenu.title.caption = action.tooltip;
|
|
99
|
+
if (action.class) {
|
|
100
|
+
submenu.addClass(action.class);
|
|
101
|
+
}
|
|
102
|
+
this.populateMenu(submenu, action.actions);
|
|
103
|
+
menu.addItem({
|
|
104
|
+
type: 'submenu',
|
|
105
|
+
submenu
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
else if (action instanceof actions_1.Separator) {
|
|
109
|
+
menu.addItem({
|
|
110
|
+
type: 'separator'
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
else {
|
|
114
|
+
menu.commands.addCommand(action.id, {
|
|
115
|
+
label: action.label,
|
|
116
|
+
className: action.class,
|
|
117
|
+
isToggled: () => Boolean(action.checked),
|
|
118
|
+
isEnabled: () => action.enabled,
|
|
119
|
+
execute: () => action.run()
|
|
120
|
+
});
|
|
121
|
+
menu.addItem({
|
|
122
|
+
type: 'command',
|
|
123
|
+
command: action.id
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
menuPath() {
|
|
129
|
+
return browser_1.EDITOR_CONTEXT_MENU;
|
|
130
|
+
}
|
|
131
|
+
};
|
|
132
|
+
exports.MonacoContextMenuService = MonacoContextMenuService;
|
|
133
|
+
tslib_1.__decorate([
|
|
134
|
+
(0, inversify_1.inject)(browser_2.ContextMenuRenderer),
|
|
135
|
+
tslib_1.__metadata("design:type", browser_2.ContextMenuRenderer)
|
|
136
|
+
], MonacoContextMenuService.prototype, "contextMenuRenderer", void 0);
|
|
137
|
+
exports.MonacoContextMenuService = MonacoContextMenuService = tslib_1.__decorate([
|
|
138
|
+
(0, inversify_1.injectable)()
|
|
139
|
+
], MonacoContextMenuService);
|
|
140
|
+
//# sourceMappingURL=monaco-context-menu.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"monaco-context-menu.js","sourceRoot":"","sources":["../../src/browser/monaco-context-menu.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { Diff, DiffComputer } from '@theia/core/lib/common/diff';
|
|
2
|
+
import URI from '@theia/core/lib/common/uri';
|
|
3
|
+
export declare class MonacoDiffComputer implements DiffComputer {
|
|
4
|
+
computeDiff(left: URI, right: URI): Promise<Diff | undefined>;
|
|
5
|
+
}
|
|
6
|
+
//# sourceMappingURL=monaco-diff-computer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"monaco-diff-computer.d.ts","sourceRoot":"","sources":["../../src/browser/monaco-diff-computer.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,GAAG,MAAM,4BAA4B,CAAC;AAK7C,qBACa,kBAAmB,YAAW,YAAY;IAE7C,WAAW,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC;CAmCtE"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// *****************************************************************************
|
|
3
|
+
// Copyright (C) 2025 1C-Soft LLC 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-only WITH Classpath-exception-2.0
|
|
16
|
+
// *****************************************************************************
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
exports.MonacoDiffComputer = void 0;
|
|
19
|
+
const tslib_1 = require("tslib");
|
|
20
|
+
const inversify_1 = require("@theia/core/shared/inversify");
|
|
21
|
+
const vscode_languageserver_protocol_1 = require("@theia/core/shared/vscode-languageserver-protocol");
|
|
22
|
+
const standaloneServices_1 = require("@theia/monaco-editor-core/esm/vs/editor/standalone/browser/standaloneServices");
|
|
23
|
+
const editorWorker_1 = require("@theia/monaco-editor-core/esm/vs/editor/common/services/editorWorker");
|
|
24
|
+
let MonacoDiffComputer = class MonacoDiffComputer {
|
|
25
|
+
async computeDiff(left, right) {
|
|
26
|
+
const diff = await standaloneServices_1.StandaloneServices.get(editorWorker_1.IEditorWorkerService).computeDiff(left['codeUri'], right['codeUri'], {
|
|
27
|
+
ignoreTrimWhitespace: false,
|
|
28
|
+
maxComputationTimeMs: 0,
|
|
29
|
+
computeMoves: false,
|
|
30
|
+
}, 'advanced');
|
|
31
|
+
if (!diff) {
|
|
32
|
+
return undefined;
|
|
33
|
+
}
|
|
34
|
+
const convertLineRange = (r) => ({
|
|
35
|
+
start: r.startLineNumber - 1,
|
|
36
|
+
end: r.endLineNumberExclusive - 1
|
|
37
|
+
});
|
|
38
|
+
const convertRange = (r) => vscode_languageserver_protocol_1.Range.create(r.startLineNumber - 1, r.startColumn - 1, r.endLineNumber - 1, r.endColumn - 1);
|
|
39
|
+
const changes = diff.changes.map(c => {
|
|
40
|
+
var _a;
|
|
41
|
+
return ({
|
|
42
|
+
left: convertLineRange(c.original),
|
|
43
|
+
right: convertLineRange(c.modified),
|
|
44
|
+
innerChanges: (_a = c.innerChanges) === null || _a === void 0 ? void 0 : _a.map(ic => ({
|
|
45
|
+
left: convertRange(ic.originalRange),
|
|
46
|
+
right: convertRange(ic.modifiedRange)
|
|
47
|
+
}))
|
|
48
|
+
});
|
|
49
|
+
});
|
|
50
|
+
return { changes };
|
|
51
|
+
}
|
|
52
|
+
};
|
|
53
|
+
exports.MonacoDiffComputer = MonacoDiffComputer;
|
|
54
|
+
exports.MonacoDiffComputer = MonacoDiffComputer = tslib_1.__decorate([
|
|
55
|
+
(0, inversify_1.injectable)()
|
|
56
|
+
], MonacoDiffComputer);
|
|
57
|
+
//# sourceMappingURL=monaco-diff-computer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"monaco-diff-computer.js","sourceRoot":"","sources":["../../src/browser/monaco-diff-computer.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,6CAA6C;AAC7C,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;;AAEhF,4DAA0D;AAG1D,sGAA0E;AAC1E,sHAAmH;AACnH,uGAA4G;AAGrG,IAAM,kBAAkB,GAAxB,MAAM,kBAAkB;IAE3B,KAAK,CAAC,WAAW,CAAC,IAAS,EAAE,KAAU;QACnC,MAAM,IAAI,GAAG,MAAM,uCAAkB,CAAC,GAAG,CAAC,mCAAoB,CAAC,CAAC,WAAW,CACvE,IAAI,CAAC,SAAS,CAAC,EACf,KAAK,CAAC,SAAS,CAAC,EAChB;YACI,oBAAoB,EAAE,KAAK;YAC3B,oBAAoB,EAAE,CAAC;YACvB,YAAY,EAAE,KAAK;SACtB,EACD,UAAU,CACb,CAAC;QAEF,IAAI,CAAC,IAAI,EAAE,CAAC;YACR,OAAO,SAAS,CAAC;QACrB,CAAC;QAED,MAAM,gBAAgB,GAAG,CAAC,CAA8D,EAAE,EAAE,CAAC,CAAC;YAC1F,KAAK,EAAE,CAAC,CAAC,eAAe,GAAG,CAAC;YAC5B,GAAG,EAAE,CAAC,CAAC,sBAAsB,GAAG,CAAC;SACpC,CAAC,CAAC;QAEH,MAAM,YAAY,GAAG,CAAC,CAA6F,EAAE,EAAE,CACnH,sCAAK,CAAC,MAAM,CAAC,CAAC,CAAC,eAAe,GAAG,CAAC,EAAE,CAAC,CAAC,WAAW,GAAG,CAAC,EAAE,CAAC,CAAC,aAAa,GAAG,CAAC,EAAE,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;QAEjG,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;;YAAC,OAAA,CAAC;gBACnC,IAAI,EAAE,gBAAgB,CAAC,CAAC,CAAC,QAAQ,CAAC;gBAClC,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAC,QAAQ,CAAC;gBACnC,YAAY,EAAE,MAAA,CAAC,CAAC,YAAY,0CAAE,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;oBACrC,IAAI,EAAE,YAAY,CAAC,EAAE,CAAC,aAAa,CAAC;oBACpC,KAAK,EAAE,YAAY,CAAC,EAAE,CAAC,aAAa,CAAC;iBACxC,CAAC,CAAC;aACN,CAAC,CAAA;SAAA,CAAC,CAAC;QAEJ,OAAO,EAAE,OAAO,EAAE,CAAC;IACvB,CAAC;CACJ,CAAA;AArCY,gDAAkB;6BAAlB,kBAAkB;IAD9B,IAAA,sBAAU,GAAE;GACA,kBAAkB,CAqC9B"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import URI from '@theia/core/lib/common/uri';
|
|
2
|
+
import { Disposable } from '@theia/core/lib/common';
|
|
3
|
+
import { Dimension, DiffNavigator, DeltaDecorationParams } from '@theia/editor/lib/browser';
|
|
4
|
+
import { MonacoEditorModel } from './monaco-editor-model';
|
|
5
|
+
import { EditorServiceOverrides, MonacoEditor, MonacoEditorServices } from './monaco-editor';
|
|
6
|
+
import { MonacoDiffNavigatorFactory } from './monaco-diff-navigator-factory';
|
|
7
|
+
import * as monaco from '@theia/monaco-editor-core';
|
|
8
|
+
import { IDiffEditorConstructionOptions } from '@theia/monaco-editor-core/esm/vs/editor/browser/editorBrowser';
|
|
9
|
+
import { IStandaloneDiffEditor } from '@theia/monaco-editor-core/esm/vs/editor/standalone/browser/standaloneCodeEditor';
|
|
10
|
+
import { IEditorOptions } from '@theia/monaco-editor-core/esm/vs/editor/common/config/editorOptions';
|
|
11
|
+
import { ILineChange } from '@theia/monaco-editor-core/esm/vs/editor/common/diff/legacyLinesDiffComputer';
|
|
12
|
+
export declare namespace MonacoDiffEditor {
|
|
13
|
+
interface IOptions extends MonacoEditor.ICommonOptions, IDiffEditorConstructionOptions {
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
export declare class MonacoDiffEditor extends MonacoEditor {
|
|
17
|
+
readonly originalModel: MonacoEditorModel;
|
|
18
|
+
readonly modifiedModel: MonacoEditorModel;
|
|
19
|
+
protected readonly diffNavigatorFactory: MonacoDiffNavigatorFactory;
|
|
20
|
+
protected _diffEditor: IStandaloneDiffEditor;
|
|
21
|
+
protected _diffNavigator: DiffNavigator;
|
|
22
|
+
protected savedDiffState: monaco.editor.IDiffEditorViewState | null;
|
|
23
|
+
protected originalTextModel: monaco.editor.ITextModel;
|
|
24
|
+
protected modifiedTextModel: monaco.editor.ITextModel;
|
|
25
|
+
constructor(uri: URI, node: HTMLElement, originalModel: MonacoEditorModel, modifiedModel: MonacoEditorModel, services: MonacoEditorServices, diffNavigatorFactory: MonacoDiffNavigatorFactory, options?: MonacoDiffEditor.IOptions, override?: EditorServiceOverrides, parentEditor?: MonacoEditor);
|
|
26
|
+
get diffEditor(): monaco.editor.IStandaloneDiffEditor;
|
|
27
|
+
get diffNavigator(): DiffNavigator;
|
|
28
|
+
get diffInformation(): ILineChange[];
|
|
29
|
+
protected create(options?: IDiffEditorConstructionOptions, override?: EditorServiceOverrides): Disposable;
|
|
30
|
+
protected wordWrapOverride: IEditorOptions['wordWrapOverride2'];
|
|
31
|
+
protected lastReachedSideBySideBreakpoint: boolean;
|
|
32
|
+
protected resize(dimension: Dimension | null): void;
|
|
33
|
+
isActionSupported(id: string): boolean;
|
|
34
|
+
deltaDecorations(params: DeltaDecorationParams): string[];
|
|
35
|
+
getResourceUri(): URI;
|
|
36
|
+
createMoveToUri(resourceUri: URI): URI;
|
|
37
|
+
readonly onShouldDisplayDirtyDiffChanged: undefined;
|
|
38
|
+
shouldDisplayDirtyDiff(): boolean;
|
|
39
|
+
setShouldDisplayDirtyDiff(value: boolean): void;
|
|
40
|
+
handleVisibilityChanged(nowVisible: boolean): void;
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=monaco-diff-editor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"monaco-diff-editor.d.ts","sourceRoot":"","sources":["../../src/browser/monaco-diff-editor.ts"],"names":[],"mappings":"AAgBA,OAAO,GAAG,MAAM,4BAA4B,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAC5F,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,sBAAsB,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAC7F,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAE7E,OAAO,KAAK,MAAM,MAAM,2BAA2B,CAAC;AACpD,OAAO,EAAe,8BAA8B,EAAE,MAAM,+DAA+D,CAAC;AAC5H,OAAO,EAA4C,qBAAqB,EAA+C,MAC9G,iFAAiF,CAAC;AAQ3F,OAAO,EAAE,cAAc,EAAE,MAAM,qEAAqE,CAAC;AACrG,OAAO,EAAE,WAAW,EAAE,MAAM,6EAA6E,CAAC;AAE1G,yBAAiB,gBAAgB,CAAC;IAC9B,UAAiB,QAAS,SAAQ,YAAY,CAAC,cAAc,EAAE,8BAA8B;KAC5F;CACJ;AAED,qBAAa,gBAAiB,SAAQ,YAAY;IAU1C,QAAQ,CAAC,aAAa,EAAE,iBAAiB;IACzC,QAAQ,CAAC,aAAa,EAAE,iBAAiB;IAEzC,SAAS,CAAC,QAAQ,CAAC,oBAAoB,EAAE,0BAA0B;IAZvE,SAAS,CAAC,WAAW,EAAE,qBAAqB,CAAC;IAC7C,SAAS,CAAC,cAAc,EAAE,aAAa,CAAC;IACxC,SAAS,CAAC,cAAc,EAAE,MAAM,CAAC,MAAM,CAAC,oBAAoB,GAAG,IAAI,CAAC;IACpE,SAAS,CAAC,iBAAiB,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC;IACtD,SAAS,CAAC,iBAAiB,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC;gBAGlD,GAAG,EAAE,GAAG,EACR,IAAI,EAAE,WAAW,EACR,aAAa,EAAE,iBAAiB,EAChC,aAAa,EAAE,iBAAiB,EACzC,QAAQ,EAAE,oBAAoB,EACX,oBAAoB,EAAE,0BAA0B,EACnE,OAAO,CAAC,EAAE,gBAAgB,CAAC,QAAQ,EACnC,QAAQ,CAAC,EAAE,sBAAsB,EACjC,YAAY,CAAC,EAAE,YAAY;IAa/B,IAAI,UAAU,IAAI,MAAM,CAAC,MAAM,CAAC,qBAAqB,CAEpD;IAED,IAAI,aAAa,IAAI,aAAa,CAEjC;IAED,IAAI,eAAe,IAAI,WAAW,EAAE,CAEnC;cAEkB,MAAM,CAAC,OAAO,CAAC,EAAE,8BAA8B,EAAE,QAAQ,CAAC,EAAE,sBAAsB,GAAG,UAAU;IAclH,SAAS,CAAC,gBAAgB,EAAE,cAAc,CAAC,mBAAmB,CAAC,CAAC;IAChE,SAAS,CAAC,+BAA+B,UAAQ;cAC9B,MAAM,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI,GAAG,IAAI;IAenD,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAKtC,gBAAgB,CAAC,MAAM,EAAE,qBAAqB,GAAG,MAAM,EAAE;IAKzD,cAAc,IAAI,GAAG;IAGrB,eAAe,CAAC,WAAW,EAAE,GAAG,GAAG,GAAG;IAK/C,SAAkB,+BAA+B,YAAa;IACrD,sBAAsB,IAAI,OAAO;IAGjC,yBAAyB,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;IAI/C,uBAAuB,CAAC,UAAU,EAAE,OAAO,GAAG,IAAI;CAmB9D"}
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// *****************************************************************************
|
|
3
|
+
// Copyright (C) 2018 TypeFox 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-only WITH Classpath-exception-2.0
|
|
16
|
+
// *****************************************************************************
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
exports.MonacoDiffEditor = void 0;
|
|
19
|
+
const uri_1 = require("@theia/core/lib/common/uri");
|
|
20
|
+
const monaco_editor_1 = require("./monaco-editor");
|
|
21
|
+
const diff_uris_1 = require("@theia/core/lib/browser/diff-uris");
|
|
22
|
+
const standaloneCodeEditor_1 = require("@theia/monaco-editor-core/esm/vs/editor/standalone/browser/standaloneCodeEditor");
|
|
23
|
+
const embeddedDiffEditorWidget_1 = require("@theia/monaco-editor-core/esm/vs/editor/browser/widget/diffEditor/embeddedDiffEditorWidget");
|
|
24
|
+
const editorContextKeys_1 = require("@theia/monaco-editor-core/esm/vs/editor/common/editorContextKeys");
|
|
25
|
+
class MonacoDiffEditor extends monaco_editor_1.MonacoEditor {
|
|
26
|
+
constructor(uri, node, originalModel, modifiedModel, services, diffNavigatorFactory, options, override, parentEditor) {
|
|
27
|
+
super(uri, modifiedModel, node, services, options, override, parentEditor);
|
|
28
|
+
this.originalModel = originalModel;
|
|
29
|
+
this.modifiedModel = modifiedModel;
|
|
30
|
+
this.diffNavigatorFactory = diffNavigatorFactory;
|
|
31
|
+
this.lastReachedSideBySideBreakpoint = true;
|
|
32
|
+
this.onShouldDisplayDirtyDiffChanged = undefined;
|
|
33
|
+
this.originalTextModel = originalModel.textEditorModel;
|
|
34
|
+
this.modifiedTextModel = modifiedModel.textEditorModel;
|
|
35
|
+
this.documents.add(originalModel);
|
|
36
|
+
const original = originalModel.textEditorModel;
|
|
37
|
+
const modified = modifiedModel.textEditorModel;
|
|
38
|
+
this.wordWrapOverride = options === null || options === void 0 ? void 0 : options.wordWrapOverride2;
|
|
39
|
+
this._diffNavigator = diffNavigatorFactory.createdDiffNavigator(this._diffEditor);
|
|
40
|
+
this._diffEditor.setModel({ original, modified });
|
|
41
|
+
}
|
|
42
|
+
get diffEditor() {
|
|
43
|
+
return this._diffEditor;
|
|
44
|
+
}
|
|
45
|
+
get diffNavigator() {
|
|
46
|
+
return this._diffNavigator;
|
|
47
|
+
}
|
|
48
|
+
get diffInformation() {
|
|
49
|
+
return this._diffEditor.getLineChanges() || [];
|
|
50
|
+
}
|
|
51
|
+
create(options, override) {
|
|
52
|
+
options = { ...options, fixedOverflowWidgets: true };
|
|
53
|
+
const instantiator = this.getInstantiatorWithOverrides(override);
|
|
54
|
+
/**
|
|
55
|
+
* @monaco-uplift. Should be guaranteed to work.
|
|
56
|
+
* Incomparable enums prevent TypeScript from believing that public IStandaloneDiffEditor is satisfied by private StandaloneDiffEditor
|
|
57
|
+
*/
|
|
58
|
+
this._diffEditor = this.parentEditor ?
|
|
59
|
+
instantiator.createInstance(EmbeddedDiffEditor, this.node, options, {}, this.parentEditor.getControl()) :
|
|
60
|
+
instantiator.createInstance(standaloneCodeEditor_1.StandaloneDiffEditor2, this.node, options);
|
|
61
|
+
this.editor = this._diffEditor.getModifiedEditor();
|
|
62
|
+
return this._diffEditor;
|
|
63
|
+
}
|
|
64
|
+
resize(dimension) {
|
|
65
|
+
var _a;
|
|
66
|
+
if (this.node) {
|
|
67
|
+
const layoutSize = this.computeLayoutSize(this.node, dimension);
|
|
68
|
+
this._diffEditor.layout(layoutSize);
|
|
69
|
+
// Workaround for https://github.com/microsoft/vscode/issues/217386#issuecomment-2711750462
|
|
70
|
+
const leftEditor = this._diffEditor.getOriginalEditor();
|
|
71
|
+
const hasReachedSideBySideBreakpoint = leftEditor.contextKeyService
|
|
72
|
+
.getContextKeyValue(editorContextKeys_1.EditorContextKeys.diffEditorRenderSideBySideInlineBreakpointReached.key);
|
|
73
|
+
if (hasReachedSideBySideBreakpoint !== this.lastReachedSideBySideBreakpoint) {
|
|
74
|
+
leftEditor.updateOptions({ wordWrapOverride2: ((_a = this.wordWrapOverride) !== null && _a !== void 0 ? _a : hasReachedSideBySideBreakpoint) ? 'off' : 'inherit' });
|
|
75
|
+
}
|
|
76
|
+
this.lastReachedSideBySideBreakpoint = !!hasReachedSideBySideBreakpoint;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
isActionSupported(id) {
|
|
80
|
+
const action = this._diffEditor.getSupportedActions().find(a => a.id === id);
|
|
81
|
+
return !!action && action.isSupported() && super.isActionSupported(id);
|
|
82
|
+
}
|
|
83
|
+
deltaDecorations(params) {
|
|
84
|
+
console.warn('`deltaDecorations` should be called on either the original, or the modified editor.');
|
|
85
|
+
return [];
|
|
86
|
+
}
|
|
87
|
+
getResourceUri() {
|
|
88
|
+
return new uri_1.default(this.originalModel.uri);
|
|
89
|
+
}
|
|
90
|
+
createMoveToUri(resourceUri) {
|
|
91
|
+
const [left, right] = diff_uris_1.DiffUris.decode(this.uri);
|
|
92
|
+
return diff_uris_1.DiffUris.encode(left.withPath(resourceUri.path), right.withPath(resourceUri.path));
|
|
93
|
+
}
|
|
94
|
+
shouldDisplayDirtyDiff() {
|
|
95
|
+
return false;
|
|
96
|
+
}
|
|
97
|
+
setShouldDisplayDirtyDiff(value) {
|
|
98
|
+
// no op
|
|
99
|
+
}
|
|
100
|
+
handleVisibilityChanged(nowVisible) {
|
|
101
|
+
if (nowVisible) {
|
|
102
|
+
this.diffEditor.setModel({ original: this.originalTextModel, modified: this.modifiedTextModel });
|
|
103
|
+
this.diffEditor.restoreViewState(this.savedDiffState);
|
|
104
|
+
this.diffEditor.focus();
|
|
105
|
+
}
|
|
106
|
+
else {
|
|
107
|
+
const originalModel = this.diffEditor.getOriginalEditor().getModel();
|
|
108
|
+
if (originalModel) {
|
|
109
|
+
this.originalTextModel = originalModel;
|
|
110
|
+
}
|
|
111
|
+
const modifiedModel = this.diffEditor.getModifiedEditor().getModel();
|
|
112
|
+
if (modifiedModel) {
|
|
113
|
+
this.modifiedTextModel = modifiedModel;
|
|
114
|
+
}
|
|
115
|
+
this.savedDiffState = this.diffEditor.saveViewState();
|
|
116
|
+
// eslint-disable-next-line no-null/no-null
|
|
117
|
+
this.diffEditor.setModel(null);
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
exports.MonacoDiffEditor = MonacoDiffEditor;
|
|
122
|
+
class EmbeddedDiffEditor extends embeddedDiffEditorWidget_1.EmbeddedDiffEditorWidget {
|
|
123
|
+
_createInnerEditor(instantiationService, container, options) {
|
|
124
|
+
return instantiationService.createInstance(standaloneCodeEditor_1.StandaloneCodeEditor, container, options);
|
|
125
|
+
}
|
|
126
|
+
getOriginalEditor() {
|
|
127
|
+
return super.getOriginalEditor();
|
|
128
|
+
}
|
|
129
|
+
getModifiedEditor() {
|
|
130
|
+
return super.getModifiedEditor();
|
|
131
|
+
}
|
|
132
|
+
addCommand(keybinding, handler, context) {
|
|
133
|
+
return this.getModifiedEditor().addCommand(keybinding, handler, context);
|
|
134
|
+
}
|
|
135
|
+
createContextKey(key, defaultValue) {
|
|
136
|
+
return this.getModifiedEditor().createContextKey(key, defaultValue);
|
|
137
|
+
}
|
|
138
|
+
addAction(descriptor) {
|
|
139
|
+
return this.getModifiedEditor().addAction(descriptor);
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
//# sourceMappingURL=monaco-diff-editor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"monaco-diff-editor.js","sourceRoot":"","sources":["../../src/browser/monaco-diff-editor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { DiffNavigator } from '@theia/editor/lib/browser';
|
|
2
|
+
import { IDiffEditor } from '@theia/monaco-editor-core/esm/vs/editor/browser/editorBrowser';
|
|
3
|
+
export declare class MonacoDiffNavigatorFactory {
|
|
4
|
+
static nullNavigator: DiffNavigator;
|
|
5
|
+
createdDiffNavigator(editor: IDiffEditor): DiffNavigator;
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=monaco-diff-navigator-factory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"monaco-diff-navigator-factory.d.ts","sourceRoot":"","sources":["../../src/browser/monaco-diff-navigator-factory.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,+DAA+D,CAAC;AAE5F,qBACa,0BAA0B;IAEnC,MAAM,CAAC,aAAa,gBAKlB;IAEF,oBAAoB,CAAC,MAAM,EAAE,WAAW,GAAG,aAAa;CAQ3D"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// *****************************************************************************
|
|
3
|
+
// Copyright (C) 2018 TypeFox 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-only WITH Classpath-exception-2.0
|
|
16
|
+
// *****************************************************************************
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
exports.MonacoDiffNavigatorFactory = void 0;
|
|
19
|
+
const tslib_1 = require("tslib");
|
|
20
|
+
const inversify_1 = require("@theia/core/shared/inversify");
|
|
21
|
+
let MonacoDiffNavigatorFactory = class MonacoDiffNavigatorFactory {
|
|
22
|
+
createdDiffNavigator(editor) {
|
|
23
|
+
return {
|
|
24
|
+
hasNext: () => true,
|
|
25
|
+
hasPrevious: () => true,
|
|
26
|
+
next: () => editor.goToDiff('next'),
|
|
27
|
+
previous: () => editor.goToDiff('previous')
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
exports.MonacoDiffNavigatorFactory = MonacoDiffNavigatorFactory;
|
|
32
|
+
MonacoDiffNavigatorFactory.nullNavigator = {
|
|
33
|
+
hasNext: () => false,
|
|
34
|
+
hasPrevious: () => false,
|
|
35
|
+
next: () => { },
|
|
36
|
+
previous: () => { },
|
|
37
|
+
};
|
|
38
|
+
exports.MonacoDiffNavigatorFactory = MonacoDiffNavigatorFactory = tslib_1.__decorate([
|
|
39
|
+
(0, inversify_1.injectable)()
|
|
40
|
+
], MonacoDiffNavigatorFactory);
|
|
41
|
+
//# sourceMappingURL=monaco-diff-navigator-factory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"monaco-diff-navigator-factory.js","sourceRoot":"","sources":["../../src/browser/monaco-diff-navigator-factory.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,gFAAgF;AAChF,gFAAgF;;;;AAEhF,4DAA0D;AAKnD,IAAM,0BAA0B,GAAhC,MAAM,0BAA0B;IASnC,oBAAoB,CAAC,MAAmB;QACpC,OAAO;YACH,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI;YACnB,WAAW,EAAE,GAAG,EAAE,CAAC,IAAI;YACvB,IAAI,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;YACnC,QAAQ,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC;SAC9C,CAAC;IACN,CAAC;;AAhBQ,gEAA0B;AAE5B,wCAAa,GAAkB;IAClC,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK;IACpB,WAAW,EAAE,GAAG,EAAE,CAAC,KAAK;IACxB,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC;IACf,QAAQ,EAAE,GAAG,EAAE,GAAG,CAAC;CACtB,AALmB,CAKlB;qCAPO,0BAA0B;IADtC,IAAA,sBAAU,GAAE;GACA,0BAA0B,CAiBtC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { CommandMenu, CommandRegistry, Disposable, MenuModelRegistry } from '@theia/core';
|
|
2
|
+
import { FrontendApplicationContribution } from '@theia/core/lib/browser';
|
|
3
|
+
import { Context } from '@theia/core/lib/browser/context-key-service';
|
|
4
|
+
import { EditorManager, EditorWidget } from '@theia/editor/lib/browser';
|
|
5
|
+
import { MonacoContextKeyService } from './monaco-context-key-service';
|
|
6
|
+
import { MonacoEditor } from './monaco-editor';
|
|
7
|
+
/**
|
|
8
|
+
* Implements {@link EDITOR_CONTENT_MENU} for {@link MonacoEditor}s.
|
|
9
|
+
*/
|
|
10
|
+
export declare class MonacoEditorContentMenuContribution implements FrontendApplicationContribution {
|
|
11
|
+
protected readonly editorManager: EditorManager;
|
|
12
|
+
protected readonly menus: MenuModelRegistry;
|
|
13
|
+
protected readonly commands: CommandRegistry;
|
|
14
|
+
protected readonly contextKeyService: MonacoContextKeyService;
|
|
15
|
+
onStart(): void;
|
|
16
|
+
protected createEditorContentMenu(editor: MonacoEditor, editorWidget: EditorWidget): Disposable;
|
|
17
|
+
protected getEditorContentMenuNodes(): CommandMenu[];
|
|
18
|
+
protected withContext<T>(context: Context, callback: () => T): T;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=monaco-editor-content-menu.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"monaco-editor-content-menu.d.ts","sourceRoot":"","sources":["../../src/browser/monaco-editor-content-menu.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAc,WAAW,EAAE,eAAe,EAAoB,UAAU,EAAS,iBAAiB,EAAY,MAAM,aAAa,CAAC;AAEzI,OAAO,EAAE,+BAA+B,EAAE,MAAM,yBAAyB,CAAC;AAC1E,OAAO,EAAE,OAAO,EAAE,MAAM,6CAA6C,CAAC;AACtE,OAAO,EAAE,aAAa,EAAuB,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAG7F,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAG/C;;GAEG;AACH,qBACa,mCAAoC,YAAW,+BAA+B;IAGvF,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IAGhD,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,iBAAiB,CAAC;IAG5C,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC;IAG7C,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,uBAAuB,CAAC;IAE9D,OAAO,IAAI,IAAI;IAUf,SAAS,CAAC,uBAAuB,CAAC,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,GAAG,UAAU;IAuD/F,SAAS,CAAC,yBAAyB,IAAI,WAAW,EAAE;IAYpD,SAAS,CAAC,WAAW,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC;CAGnE"}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// *****************************************************************************
|
|
3
|
+
// Copyright (C) 2025 1C-Soft LLC 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-only WITH Classpath-exception-2.0
|
|
16
|
+
// *****************************************************************************
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
exports.MonacoEditorContentMenuContribution = void 0;
|
|
19
|
+
const tslib_1 = require("tslib");
|
|
20
|
+
const inversify_1 = require("@theia/core/shared/inversify");
|
|
21
|
+
const core_1 = require("@theia/core");
|
|
22
|
+
const observable_1 = require("@theia/core/lib/common/observable");
|
|
23
|
+
const browser_1 = require("@theia/editor/lib/browser");
|
|
24
|
+
const contextkey_1 = require("@theia/monaco-editor-core/esm/vs/platform/contextkey/common/contextkey");
|
|
25
|
+
const monaco_context_key_service_1 = require("./monaco-context-key-service");
|
|
26
|
+
const monaco_editor_1 = require("./monaco-editor");
|
|
27
|
+
const monaco_editor_overlay_button_1 = require("./monaco-editor-overlay-button");
|
|
28
|
+
/**
|
|
29
|
+
* Implements {@link EDITOR_CONTENT_MENU} for {@link MonacoEditor}s.
|
|
30
|
+
*/
|
|
31
|
+
let MonacoEditorContentMenuContribution = class MonacoEditorContentMenuContribution {
|
|
32
|
+
onStart() {
|
|
33
|
+
this.editorManager.onCreated(editorWidget => {
|
|
34
|
+
const editor = monaco_editor_1.MonacoEditor.get(editorWidget);
|
|
35
|
+
if (editor) {
|
|
36
|
+
const disposable = this.createEditorContentMenu(editor, editorWidget);
|
|
37
|
+
editor.onDispose(() => disposable.dispose());
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
createEditorContentMenu(editor, editorWidget) {
|
|
42
|
+
const contextKeyService = editor.getControl().invokeWithinContext(// get the editor-scoped context key service
|
|
43
|
+
// get the editor-scoped context key service
|
|
44
|
+
accessor => accessor.get(contextkey_1.IContextKeyService));
|
|
45
|
+
const context = {
|
|
46
|
+
getValue: key => contextKeyService.getContextKeyValue(key),
|
|
47
|
+
onDidChange: core_1.Event.map(contextKeyService.onDidChangeContext, event => ({
|
|
48
|
+
affects: keys => event.affectsSome(keys)
|
|
49
|
+
}))
|
|
50
|
+
};
|
|
51
|
+
const menuNodesObservable = observable_1.ObservableFromEvent.create(this.menus.onDidChange, () => this.getEditorContentMenuNodes(), { isEqual: (a, b) => core_1.ArrayUtils.equals(a, b) });
|
|
52
|
+
return observable_1.ObservableUtils.autorunWithDisposables(({ toDispose }) => {
|
|
53
|
+
const menuNodes = menuNodesObservable.get();
|
|
54
|
+
const firstMatchObservable = observable_1.ObservableFromEvent.create(contextKeyService.onDidChangeContext, () => this.withContext(context, () => menuNodes.find(menuNode => menuNode.isVisible(browser_1.EDITOR_CONTENT_MENU, this.contextKeyService, undefined, editorWidget))));
|
|
55
|
+
// eslint-disable-next-line @typescript-eslint/no-shadow
|
|
56
|
+
toDispose.push(observable_1.ObservableUtils.autorunWithDisposables(({ toDispose }) => {
|
|
57
|
+
const firstMatch = firstMatchObservable.get();
|
|
58
|
+
if (firstMatch) {
|
|
59
|
+
const button = new monaco_editor_overlay_button_1.MonacoEditorOverlayButton(editor, firstMatch.label);
|
|
60
|
+
toDispose.push(button);
|
|
61
|
+
toDispose.push(button.onClick(() => this.withContext(context, () => firstMatch.run(browser_1.EDITOR_CONTENT_MENU, editorWidget))));
|
|
62
|
+
const handlersObservable = observable_1.ObservableFromEvent.create(this.commands.onCommandsChanged, () => this.commands.getAllHandlers(firstMatch.id), { isEqual: (a, b) => core_1.ArrayUtils.equals(a, b) });
|
|
63
|
+
// eslint-disable-next-line @typescript-eslint/no-shadow
|
|
64
|
+
toDispose.push(observable_1.ObservableUtils.autorunWithDisposables(({ toDispose }) => {
|
|
65
|
+
this.withContext(context, () => {
|
|
66
|
+
button.enabled = firstMatch.isEnabled(browser_1.EDITOR_CONTENT_MENU, editorWidget);
|
|
67
|
+
const handlers = handlersObservable.get();
|
|
68
|
+
for (const handler of handlers) {
|
|
69
|
+
const { onDidChangeEnabled } = handler;
|
|
70
|
+
if (onDidChangeEnabled) {
|
|
71
|
+
// for handlers with declarative enablement such as those originating from `PluginContributionHandler.registerCommand`,
|
|
72
|
+
// the onDidChangeEnabled event is context-dependent, so we need to ensure the subscription is made within `withContext`
|
|
73
|
+
toDispose.push(onDidChangeEnabled(() => this.withContext(context, () => button.enabled = firstMatch.isEnabled(browser_1.EDITOR_CONTENT_MENU, editorWidget))));
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
});
|
|
77
|
+
}));
|
|
78
|
+
}
|
|
79
|
+
}));
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
getEditorContentMenuNodes() {
|
|
83
|
+
var _a, _b;
|
|
84
|
+
const result = [];
|
|
85
|
+
const children = (_b = (_a = this.menus.getMenu(browser_1.EDITOR_CONTENT_MENU)) === null || _a === void 0 ? void 0 : _a.children) !== null && _b !== void 0 ? _b : [];
|
|
86
|
+
const getCommandMenuNodes = (nodes) => nodes.filter(core_1.CommandMenu.is);
|
|
87
|
+
// inline the special navigation group, if any; the navigation group would always be the first element
|
|
88
|
+
if (children.length && core_1.CompoundMenuNode.isNavigationGroup(children[0])) {
|
|
89
|
+
result.push(...getCommandMenuNodes(children[0].children));
|
|
90
|
+
}
|
|
91
|
+
result.push(...getCommandMenuNodes(children));
|
|
92
|
+
return result;
|
|
93
|
+
}
|
|
94
|
+
withContext(context, callback) {
|
|
95
|
+
return this.contextKeyService.withContext(context, callback);
|
|
96
|
+
}
|
|
97
|
+
};
|
|
98
|
+
exports.MonacoEditorContentMenuContribution = MonacoEditorContentMenuContribution;
|
|
99
|
+
tslib_1.__decorate([
|
|
100
|
+
(0, inversify_1.inject)(browser_1.EditorManager),
|
|
101
|
+
tslib_1.__metadata("design:type", browser_1.EditorManager)
|
|
102
|
+
], MonacoEditorContentMenuContribution.prototype, "editorManager", void 0);
|
|
103
|
+
tslib_1.__decorate([
|
|
104
|
+
(0, inversify_1.inject)(core_1.MenuModelRegistry),
|
|
105
|
+
tslib_1.__metadata("design:type", core_1.MenuModelRegistry)
|
|
106
|
+
], MonacoEditorContentMenuContribution.prototype, "menus", void 0);
|
|
107
|
+
tslib_1.__decorate([
|
|
108
|
+
(0, inversify_1.inject)(core_1.CommandRegistry),
|
|
109
|
+
tslib_1.__metadata("design:type", core_1.CommandRegistry)
|
|
110
|
+
], MonacoEditorContentMenuContribution.prototype, "commands", void 0);
|
|
111
|
+
tslib_1.__decorate([
|
|
112
|
+
(0, inversify_1.inject)(monaco_context_key_service_1.MonacoContextKeyService),
|
|
113
|
+
tslib_1.__metadata("design:type", monaco_context_key_service_1.MonacoContextKeyService)
|
|
114
|
+
], MonacoEditorContentMenuContribution.prototype, "contextKeyService", void 0);
|
|
115
|
+
exports.MonacoEditorContentMenuContribution = MonacoEditorContentMenuContribution = tslib_1.__decorate([
|
|
116
|
+
(0, inversify_1.injectable)()
|
|
117
|
+
], MonacoEditorContentMenuContribution);
|
|
118
|
+
//# sourceMappingURL=monaco-editor-content-menu.js.map
|