@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,377 @@
|
|
|
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.MonacoOutlineSymbolInformationNode = exports.MonacoOutlineContribution = 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 core_1 = require("@theia/core");
|
|
23
|
+
const outline_view_service_1 = require("@theia/outline-view/lib/browser/outline-view-service");
|
|
24
|
+
const outline_view_widget_1 = require("@theia/outline-view/lib/browser/outline-view-widget");
|
|
25
|
+
const uri_1 = require("@theia/core/lib/common/uri");
|
|
26
|
+
const monaco_editor_1 = require("./monaco-editor");
|
|
27
|
+
const debounce = require("@theia/core/shared/lodash.debounce");
|
|
28
|
+
const monaco = require("@theia/monaco-editor-core");
|
|
29
|
+
const languageFeatures_1 = require("@theia/monaco-editor-core/esm/vs/editor/common/services/languageFeatures");
|
|
30
|
+
const standaloneServices_1 = require("@theia/monaco-editor-core/esm/vs/editor/standalone/browser/standaloneServices");
|
|
31
|
+
let MonacoOutlineContribution = class MonacoOutlineContribution {
|
|
32
|
+
constructor() {
|
|
33
|
+
this.toDisposeOnEditor = new core_1.DisposableCollection();
|
|
34
|
+
this.canUpdateOutline = true;
|
|
35
|
+
this.tokenSource = new monaco.CancellationTokenSource();
|
|
36
|
+
}
|
|
37
|
+
onStart(app) {
|
|
38
|
+
// updateOutline and handleCurrentEditorChanged need to be called even when the outline view widget is closed
|
|
39
|
+
// in order to update breadcrumbs.
|
|
40
|
+
standaloneServices_1.StandaloneServices.get(languageFeatures_1.ILanguageFeaturesService).documentSymbolProvider.onDidChange(debounce(() => this.updateOutline()));
|
|
41
|
+
this.editorManager.onCurrentEditorChanged(debounce(() => this.handleCurrentEditorChanged(), 50));
|
|
42
|
+
this.handleCurrentEditorChanged();
|
|
43
|
+
this.outlineViewService.onDidSelect(async (node) => {
|
|
44
|
+
if (MonacoOutlineSymbolInformationNode.is(node) && node.parent) {
|
|
45
|
+
const options = {
|
|
46
|
+
mode: 'reveal',
|
|
47
|
+
selection: node.range
|
|
48
|
+
};
|
|
49
|
+
await this.selectInEditor(node, options);
|
|
50
|
+
}
|
|
51
|
+
});
|
|
52
|
+
this.outlineViewService.onDidOpen(async (node) => {
|
|
53
|
+
if (MonacoOutlineSymbolInformationNode.is(node)) {
|
|
54
|
+
const options = {
|
|
55
|
+
selection: {
|
|
56
|
+
start: node.range.start
|
|
57
|
+
}
|
|
58
|
+
};
|
|
59
|
+
await this.selectInEditor(node, options);
|
|
60
|
+
}
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
async selectInEditor(node, options) {
|
|
64
|
+
// Avoid cyclic updates: Outline -> Editor -> Outline.
|
|
65
|
+
this.canUpdateOutline = false;
|
|
66
|
+
try {
|
|
67
|
+
await this.editorManager.open(node.uri, options);
|
|
68
|
+
}
|
|
69
|
+
finally {
|
|
70
|
+
this.canUpdateOutline = true;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
handleCurrentEditorChanged() {
|
|
74
|
+
this.toDisposeOnEditor.dispose();
|
|
75
|
+
this.toDisposeOnEditor.push(core_1.Disposable.create(() => this.roots = undefined));
|
|
76
|
+
const editor = this.editorManager.currentEditor;
|
|
77
|
+
if (editor) {
|
|
78
|
+
const model = monaco_editor_1.MonacoEditor.get(editor).getControl().getModel();
|
|
79
|
+
if (model) {
|
|
80
|
+
this.toDisposeOnEditor.push(model.onDidChangeContent(() => {
|
|
81
|
+
this.roots = undefined; // Invalidate the previously resolved roots.
|
|
82
|
+
this.updateOutline();
|
|
83
|
+
}));
|
|
84
|
+
}
|
|
85
|
+
this.toDisposeOnEditor.push(editor.editor.onSelectionChanged(selection => this.updateOutline(selection)));
|
|
86
|
+
}
|
|
87
|
+
this.updateOutline();
|
|
88
|
+
}
|
|
89
|
+
async updateOutline(editorSelection) {
|
|
90
|
+
if (!this.canUpdateOutline) {
|
|
91
|
+
return;
|
|
92
|
+
}
|
|
93
|
+
this.tokenSource.cancel();
|
|
94
|
+
this.tokenSource = new monaco.CancellationTokenSource();
|
|
95
|
+
const token = this.tokenSource.token;
|
|
96
|
+
const editor = monaco_editor_1.MonacoEditor.get(this.editorManager.currentEditor);
|
|
97
|
+
const model = editor && editor.getControl().getModel();
|
|
98
|
+
const roots = model && await this.createRoots(model, token, editorSelection);
|
|
99
|
+
if (token.isCancellationRequested) {
|
|
100
|
+
return;
|
|
101
|
+
}
|
|
102
|
+
this.outlineViewService.publish(roots || []);
|
|
103
|
+
}
|
|
104
|
+
async createRoots(model, token, editorSelection) {
|
|
105
|
+
var _a;
|
|
106
|
+
model = model;
|
|
107
|
+
if (this.roots && this.roots.length > 0) {
|
|
108
|
+
// Reset the selection on the tree nodes, so that we can apply the new ones based on the `editorSelection`.
|
|
109
|
+
const resetSelection = (node) => {
|
|
110
|
+
node.selected = false;
|
|
111
|
+
node.children.forEach(resetSelection);
|
|
112
|
+
};
|
|
113
|
+
this.roots.forEach(resetSelection);
|
|
114
|
+
}
|
|
115
|
+
else {
|
|
116
|
+
this.roots = [];
|
|
117
|
+
const providers = standaloneServices_1.StandaloneServices.get(languageFeatures_1.ILanguageFeaturesService).documentSymbolProvider.all(model);
|
|
118
|
+
if (token.isCancellationRequested) {
|
|
119
|
+
return [];
|
|
120
|
+
}
|
|
121
|
+
const uri = new uri_1.default(model.uri.toString());
|
|
122
|
+
for (const provider of providers) {
|
|
123
|
+
try {
|
|
124
|
+
const symbols = (_a = await provider.provideDocumentSymbols(model, token)) !== null && _a !== void 0 ? _a : [];
|
|
125
|
+
if (token.isCancellationRequested) {
|
|
126
|
+
return [];
|
|
127
|
+
}
|
|
128
|
+
const nodes = this.createNodes(uri, symbols);
|
|
129
|
+
if (providers.length > 1 && provider.displayName) {
|
|
130
|
+
const providerRoot = this.createProviderRootNode(uri, provider.displayName, nodes);
|
|
131
|
+
this.roots.push(providerRoot);
|
|
132
|
+
}
|
|
133
|
+
else {
|
|
134
|
+
this.roots.push(...nodes);
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
catch {
|
|
138
|
+
/* collect symbols from other providers */
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
this.applySelection(this.roots, editorSelection);
|
|
143
|
+
return this.roots;
|
|
144
|
+
}
|
|
145
|
+
createProviderRootNode(uri, displayName, children) {
|
|
146
|
+
const node = {
|
|
147
|
+
uri,
|
|
148
|
+
id: displayName,
|
|
149
|
+
name: displayName,
|
|
150
|
+
iconClass: '',
|
|
151
|
+
range: this.asRange(new monaco.Range(1, 1, 1, 1)),
|
|
152
|
+
fullRange: this.asRange(new monaco.Range(1, 1, 1, 1)),
|
|
153
|
+
children,
|
|
154
|
+
parent: undefined,
|
|
155
|
+
selected: false,
|
|
156
|
+
expanded: true
|
|
157
|
+
};
|
|
158
|
+
return node;
|
|
159
|
+
}
|
|
160
|
+
createNodes(uri, symbols) {
|
|
161
|
+
symbols = symbols;
|
|
162
|
+
let rangeBased = false;
|
|
163
|
+
const ids = new Map();
|
|
164
|
+
const roots = [];
|
|
165
|
+
const nodesByName = symbols.sort(this.orderByPosition).reduce((result, symbol) => {
|
|
166
|
+
const node = this.createNode(uri, symbol, ids);
|
|
167
|
+
if (symbol.children) {
|
|
168
|
+
MonacoOutlineSymbolInformationNode.insert(roots, node);
|
|
169
|
+
}
|
|
170
|
+
else {
|
|
171
|
+
rangeBased = rangeBased || symbol.range.startLineNumber !== symbol.range.endLineNumber;
|
|
172
|
+
const values = result.get(symbol.name) || [];
|
|
173
|
+
values.push({ symbol, node });
|
|
174
|
+
result.set(symbol.name, values);
|
|
175
|
+
}
|
|
176
|
+
return result;
|
|
177
|
+
}, new Map());
|
|
178
|
+
for (const nodes of nodesByName.values()) {
|
|
179
|
+
for (const { node, symbol } of nodes) {
|
|
180
|
+
if (!symbol.containerName) {
|
|
181
|
+
MonacoOutlineSymbolInformationNode.insert(roots, node);
|
|
182
|
+
}
|
|
183
|
+
else {
|
|
184
|
+
const possibleParents = nodesByName.get(symbol.containerName);
|
|
185
|
+
if (possibleParents) {
|
|
186
|
+
const parent = possibleParents.find(possibleParent => this.parentContains(symbol, possibleParent.symbol, rangeBased));
|
|
187
|
+
if (parent) {
|
|
188
|
+
node.parent = parent.node;
|
|
189
|
+
MonacoOutlineSymbolInformationNode.insert(parent.node.children, node);
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
if (!roots.length) {
|
|
196
|
+
const nodes = nodesByName.values().next().value;
|
|
197
|
+
if (nodes && !nodes[0].node.parent) {
|
|
198
|
+
return [nodes[0].node];
|
|
199
|
+
}
|
|
200
|
+
return [];
|
|
201
|
+
}
|
|
202
|
+
return roots;
|
|
203
|
+
}
|
|
204
|
+
/**
|
|
205
|
+
* Sets the selection on the sub-trees based on the optional editor selection.
|
|
206
|
+
* Select the narrowest node that is strictly contains the editor selection.
|
|
207
|
+
*/
|
|
208
|
+
applySelection(roots, editorSelection) {
|
|
209
|
+
if (editorSelection) {
|
|
210
|
+
for (const root of roots) {
|
|
211
|
+
if (this.parentContains(editorSelection, root.fullRange, true)) {
|
|
212
|
+
const { children } = root;
|
|
213
|
+
root.selected = !root.expanded || !this.applySelection(children, editorSelection);
|
|
214
|
+
return true;
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
return false;
|
|
219
|
+
}
|
|
220
|
+
/**
|
|
221
|
+
* Returns `true` if `candidate` is strictly contained inside `parent`
|
|
222
|
+
*
|
|
223
|
+
* If the argument is a `DocumentSymbol`, then `getFullRange` will be used to retrieve the range of the underlying symbol.
|
|
224
|
+
*/
|
|
225
|
+
parentContains(candidate, parent, rangeBased) {
|
|
226
|
+
// TODO: move this code to the `monaco-languageclient`: https://github.com/eclipse-theia/theia/pull/2885#discussion_r217800446
|
|
227
|
+
const candidateRange = browser_1.Range.is(candidate) ? candidate : this.getFullRange(candidate);
|
|
228
|
+
const parentRange = browser_1.Range.is(parent) ? parent : this.getFullRange(parent);
|
|
229
|
+
const sameStartLine = candidateRange.start.line === parentRange.start.line;
|
|
230
|
+
const startColGreaterOrEqual = candidateRange.start.character >= parentRange.start.character;
|
|
231
|
+
const startLineGreater = candidateRange.start.line > parentRange.start.line;
|
|
232
|
+
const sameEndLine = candidateRange.end.line === parentRange.end.line;
|
|
233
|
+
const endColSmallerOrEqual = candidateRange.end.character <= parentRange.end.character;
|
|
234
|
+
const endLineSmaller = candidateRange.end.line < parentRange.end.line;
|
|
235
|
+
return (((sameStartLine && startColGreaterOrEqual || startLineGreater) &&
|
|
236
|
+
(sameEndLine && endColSmallerOrEqual || endLineSmaller)) || !rangeBased);
|
|
237
|
+
}
|
|
238
|
+
/**
|
|
239
|
+
* `monaco` to LSP `Range` converter. Converts the `1-based` location indices into `0-based` ones.
|
|
240
|
+
*/
|
|
241
|
+
asRange(range) {
|
|
242
|
+
const { startLineNumber, startColumn, endLineNumber, endColumn } = range;
|
|
243
|
+
return {
|
|
244
|
+
start: {
|
|
245
|
+
line: startLineNumber - 1,
|
|
246
|
+
character: startColumn - 1
|
|
247
|
+
},
|
|
248
|
+
end: {
|
|
249
|
+
line: endLineNumber - 1,
|
|
250
|
+
character: endColumn - 1
|
|
251
|
+
}
|
|
252
|
+
};
|
|
253
|
+
}
|
|
254
|
+
/**
|
|
255
|
+
* Returns with a range enclosing this symbol not including leading/trailing whitespace but everything else like comments.
|
|
256
|
+
* This information is typically used to determine if the clients cursor is inside the symbol to reveal in the symbol in the UI.
|
|
257
|
+
* This allows to obtain the range including the associated comments.
|
|
258
|
+
*
|
|
259
|
+
* See: [`DocumentSymbol#range`](https://microsoft.github.io/language-server-protocol/specification#textDocument_documentSymbol) for more details.
|
|
260
|
+
*/
|
|
261
|
+
getFullRange(documentSymbol) {
|
|
262
|
+
return this.asRange(documentSymbol.range);
|
|
263
|
+
}
|
|
264
|
+
/**
|
|
265
|
+
* The range that should be selected and revealed when this symbol is being picked, e.g the name of a function. Must be contained by the `getSelectionRange`.
|
|
266
|
+
*
|
|
267
|
+
* See: [`DocumentSymbol#selectionRange`](https://microsoft.github.io/language-server-protocol/specification#textDocument_documentSymbol) for more details.
|
|
268
|
+
*/
|
|
269
|
+
getNameRange(documentSymbol) {
|
|
270
|
+
return this.asRange(documentSymbol.selectionRange);
|
|
271
|
+
}
|
|
272
|
+
createNode(uri, symbol, ids, parent) {
|
|
273
|
+
const id = this.createId(symbol.name, ids);
|
|
274
|
+
const children = [];
|
|
275
|
+
const node = {
|
|
276
|
+
children,
|
|
277
|
+
id,
|
|
278
|
+
iconClass: monaco.languages.SymbolKind[symbol.kind].toString().toLowerCase(),
|
|
279
|
+
name: this.getName(symbol),
|
|
280
|
+
detail: this.getDetail(symbol),
|
|
281
|
+
parent,
|
|
282
|
+
uri,
|
|
283
|
+
range: this.getNameRange(symbol),
|
|
284
|
+
fullRange: this.getFullRange(symbol),
|
|
285
|
+
selected: false,
|
|
286
|
+
expanded: this.shouldExpand(symbol)
|
|
287
|
+
};
|
|
288
|
+
if (symbol.children) {
|
|
289
|
+
for (const child of symbol.children) {
|
|
290
|
+
MonacoOutlineSymbolInformationNode.insert(children, this.createNode(uri, child, ids, node));
|
|
291
|
+
}
|
|
292
|
+
}
|
|
293
|
+
return node;
|
|
294
|
+
}
|
|
295
|
+
getName(symbol) {
|
|
296
|
+
return symbol.name;
|
|
297
|
+
}
|
|
298
|
+
getDetail(symbol) {
|
|
299
|
+
return symbol.detail;
|
|
300
|
+
}
|
|
301
|
+
createId(name, ids) {
|
|
302
|
+
const counter = ids.get(name);
|
|
303
|
+
const index = typeof counter === 'number' ? counter + 1 : 0;
|
|
304
|
+
ids.set(name, index);
|
|
305
|
+
return name + '_' + index;
|
|
306
|
+
}
|
|
307
|
+
shouldExpand(symbol) {
|
|
308
|
+
return [
|
|
309
|
+
monaco.languages.SymbolKind.Class,
|
|
310
|
+
monaco.languages.SymbolKind.Enum, monaco.languages.SymbolKind.File,
|
|
311
|
+
monaco.languages.SymbolKind.Interface, monaco.languages.SymbolKind.Module,
|
|
312
|
+
monaco.languages.SymbolKind.Namespace, monaco.languages.SymbolKind.Object,
|
|
313
|
+
monaco.languages.SymbolKind.Package, monaco.languages.SymbolKind.Struct
|
|
314
|
+
].indexOf(symbol.kind) !== -1;
|
|
315
|
+
}
|
|
316
|
+
orderByPosition(symbol, symbol2) {
|
|
317
|
+
const startLineComparison = symbol.range.startLineNumber - symbol2.range.startLineNumber;
|
|
318
|
+
if (startLineComparison !== 0) {
|
|
319
|
+
return startLineComparison;
|
|
320
|
+
}
|
|
321
|
+
const startOffsetComparison = symbol.range.startColumn - symbol2.range.startColumn;
|
|
322
|
+
if (startOffsetComparison !== 0) {
|
|
323
|
+
return startOffsetComparison;
|
|
324
|
+
}
|
|
325
|
+
const endLineComparison = symbol.range.endLineNumber - symbol2.range.endLineNumber;
|
|
326
|
+
if (endLineComparison !== 0) {
|
|
327
|
+
return endLineComparison;
|
|
328
|
+
}
|
|
329
|
+
return symbol.range.endColumn - symbol2.range.endColumn;
|
|
330
|
+
}
|
|
331
|
+
};
|
|
332
|
+
exports.MonacoOutlineContribution = MonacoOutlineContribution;
|
|
333
|
+
tslib_1.__decorate([
|
|
334
|
+
(0, inversify_1.inject)(outline_view_service_1.OutlineViewService),
|
|
335
|
+
tslib_1.__metadata("design:type", outline_view_service_1.OutlineViewService)
|
|
336
|
+
], MonacoOutlineContribution.prototype, "outlineViewService", void 0);
|
|
337
|
+
tslib_1.__decorate([
|
|
338
|
+
(0, inversify_1.inject)(browser_1.EditorManager),
|
|
339
|
+
tslib_1.__metadata("design:type", browser_1.EditorManager)
|
|
340
|
+
], MonacoOutlineContribution.prototype, "editorManager", void 0);
|
|
341
|
+
exports.MonacoOutlineContribution = MonacoOutlineContribution = tslib_1.__decorate([
|
|
342
|
+
(0, inversify_1.injectable)()
|
|
343
|
+
], MonacoOutlineContribution);
|
|
344
|
+
var MonacoOutlineSymbolInformationNode;
|
|
345
|
+
(function (MonacoOutlineSymbolInformationNode) {
|
|
346
|
+
function is(node) {
|
|
347
|
+
return outline_view_widget_1.OutlineSymbolInformationNode.is(node) && 'uri' in node && 'range' in node;
|
|
348
|
+
}
|
|
349
|
+
MonacoOutlineSymbolInformationNode.is = is;
|
|
350
|
+
function insert(nodes, node) {
|
|
351
|
+
const index = nodes.findIndex(current => compare(node, current) < 0);
|
|
352
|
+
if (index === -1) {
|
|
353
|
+
nodes.push(node);
|
|
354
|
+
}
|
|
355
|
+
else {
|
|
356
|
+
nodes.splice(index, 0, node);
|
|
357
|
+
}
|
|
358
|
+
}
|
|
359
|
+
MonacoOutlineSymbolInformationNode.insert = insert;
|
|
360
|
+
function compare(node, node2) {
|
|
361
|
+
const startLineComparison = node.range.start.line - node2.range.start.line;
|
|
362
|
+
if (startLineComparison !== 0) {
|
|
363
|
+
return startLineComparison;
|
|
364
|
+
}
|
|
365
|
+
const startColumnComparison = node.range.start.character - node2.range.start.character;
|
|
366
|
+
if (startColumnComparison !== 0) {
|
|
367
|
+
return startColumnComparison;
|
|
368
|
+
}
|
|
369
|
+
const endLineComparison = node2.range.end.line - node.range.end.line;
|
|
370
|
+
if (endLineComparison !== 0) {
|
|
371
|
+
return endLineComparison;
|
|
372
|
+
}
|
|
373
|
+
return node2.range.end.character - node.range.end.character;
|
|
374
|
+
}
|
|
375
|
+
MonacoOutlineSymbolInformationNode.compare = compare;
|
|
376
|
+
})(MonacoOutlineSymbolInformationNode || (exports.MonacoOutlineSymbolInformationNode = MonacoOutlineSymbolInformationNode = {}));
|
|
377
|
+
//# sourceMappingURL=monaco-outline-contribution.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"monaco-outline-contribution.js","sourceRoot":"","sources":["../../src/browser/monaco-outline-contribution.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Event, Emitter } from '@theia/core/lib/common/event';
|
|
2
|
+
import { Tree } from '@theia/core/lib/browser/tree/tree';
|
|
3
|
+
import { TreeDecorator, TreeDecoration } from '@theia/core/lib/browser/tree/tree-decorator';
|
|
4
|
+
import { MonacoOutlineSymbolInformationNode } from './monaco-outline-contribution';
|
|
5
|
+
export declare class MonacoOutlineDecorator implements TreeDecorator {
|
|
6
|
+
readonly id = "theia-monaco-outline-decorator";
|
|
7
|
+
protected readonly emitter: Emitter<(tree: Tree) => Map<string, TreeDecoration.Data>>;
|
|
8
|
+
decorations(tree: Tree): Promise<Map<string, TreeDecoration.Data>>;
|
|
9
|
+
get onDidChangeDecorations(): Event<(tree: Tree) => Map<string, TreeDecoration.Data>>;
|
|
10
|
+
protected collectDecorations(tree: Tree): Map<string, TreeDecoration.Data>;
|
|
11
|
+
protected toDecoration(node: MonacoOutlineSymbolInformationNode): TreeDecoration.Data;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=monaco-outline-decorator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"monaco-outline-decorator.d.ts","sourceRoot":"","sources":["../../src/browser/monaco-outline-decorator.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,IAAI,EAAE,MAAM,mCAAmC,CAAC;AAEzD,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,6CAA6C,CAAC;AAC5F,OAAO,EAAE,kCAAkC,EAAE,MAAM,+BAA+B,CAAC;AAEnF,qBACa,sBAAuB,YAAW,aAAa;IAExD,QAAQ,CAAC,EAAE,oCAAoC;IAE/C,SAAS,CAAC,QAAQ,CAAC,OAAO,iBAAsB,IAAI,KAAK,IAAI,MAAM,EAAE,eAAe,IAAI,CAAC,EAAI;IAEvF,WAAW,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,IAAI,CAAC,CAAC;IAIxE,IAAI,sBAAsB,IAAI,KAAK,CAAC,CAAC,IAAI,EAAE,IAAI,KAAK,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,IAAI,CAAC,CAAC,CAEpF;IAED,SAAS,CAAC,kBAAkB,CAAC,IAAI,EAAE,IAAI,GAAG,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,IAAI,CAAC;IAe1E,SAAS,CAAC,YAAY,CAAC,IAAI,EAAE,kCAAkC,GAAG,cAAc,CAAC,IAAI;CAYxF"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// *****************************************************************************
|
|
3
|
+
// Copyright (C) 2018 RedHat 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.MonacoOutlineDecorator = void 0;
|
|
19
|
+
const tslib_1 = require("tslib");
|
|
20
|
+
const inversify_1 = require("@theia/core/shared/inversify");
|
|
21
|
+
const event_1 = require("@theia/core/lib/common/event");
|
|
22
|
+
const tree_iterator_1 = require("@theia/core/lib/browser/tree/tree-iterator");
|
|
23
|
+
const monaco_outline_contribution_1 = require("./monaco-outline-contribution");
|
|
24
|
+
let MonacoOutlineDecorator = class MonacoOutlineDecorator {
|
|
25
|
+
constructor() {
|
|
26
|
+
this.id = 'theia-monaco-outline-decorator';
|
|
27
|
+
this.emitter = new event_1.Emitter();
|
|
28
|
+
}
|
|
29
|
+
async decorations(tree) {
|
|
30
|
+
return this.collectDecorations(tree);
|
|
31
|
+
}
|
|
32
|
+
get onDidChangeDecorations() {
|
|
33
|
+
return this.emitter.event;
|
|
34
|
+
}
|
|
35
|
+
collectDecorations(tree) {
|
|
36
|
+
const result = new Map();
|
|
37
|
+
if (tree.root === undefined) {
|
|
38
|
+
return result;
|
|
39
|
+
}
|
|
40
|
+
for (const treeNode of new tree_iterator_1.DepthFirstTreeIterator(tree.root)) {
|
|
41
|
+
if (monaco_outline_contribution_1.MonacoOutlineSymbolInformationNode.is(treeNode) && treeNode.detail) {
|
|
42
|
+
result.set(treeNode.id, this.toDecoration(treeNode));
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
return result;
|
|
46
|
+
}
|
|
47
|
+
toDecoration(node) {
|
|
48
|
+
const captionSuffixes = [{
|
|
49
|
+
data: (node.detail || ''),
|
|
50
|
+
fontData: {
|
|
51
|
+
color: 'var(--theia-descriptionForeground)',
|
|
52
|
+
}
|
|
53
|
+
}];
|
|
54
|
+
return {
|
|
55
|
+
captionSuffixes
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
};
|
|
59
|
+
exports.MonacoOutlineDecorator = MonacoOutlineDecorator;
|
|
60
|
+
exports.MonacoOutlineDecorator = MonacoOutlineDecorator = tslib_1.__decorate([
|
|
61
|
+
(0, inversify_1.injectable)()
|
|
62
|
+
], MonacoOutlineDecorator);
|
|
63
|
+
//# sourceMappingURL=monaco-outline-decorator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"monaco-outline-decorator.js","sourceRoot":"","sources":["../../src/browser/monaco-outline-decorator.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,wCAAwC;AACxC,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;AAC1D,wDAA8D;AAE9D,8EAAoF;AAEpF,+EAAmF;AAG5E,IAAM,sBAAsB,GAA5B,MAAM,sBAAsB;IAA5B;QAEM,OAAE,GAAG,gCAAgC,CAAC;QAE5B,YAAO,GAAG,IAAI,eAAO,EAAoD,CAAC;IAqCjG,CAAC;IAnCG,KAAK,CAAC,WAAW,CAAC,IAAU;QACxB,OAAO,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC;IAED,IAAI,sBAAsB;QACtB,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;IAC9B,CAAC;IAES,kBAAkB,CAAC,IAAU;QACnC,MAAM,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC1B,OAAO,MAAM,CAAC;QAClB,CAAC;QAED,KAAK,MAAM,QAAQ,IAAI,IAAI,sCAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3D,IAAI,gEAAkC,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;gBACrE,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC;YACzD,CAAC;QACL,CAAC;QAED,OAAO,MAAM,CAAC;IAClB,CAAC;IAES,YAAY,CAAC,IAAwC;QAC3D,MAAM,eAAe,GAAkC,CAAC;gBACpD,IAAI,EAAE,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC;gBACzB,QAAQ,EAAE;oBACN,KAAK,EAAE,oCAAoC;iBAC9C;aACJ,CAAC,CAAC;QAEH,OAAO;YACH,eAAe;SAClB,CAAC;IACN,CAAC;CACJ,CAAA;AAzCY,wDAAsB;iCAAtB,sBAAsB;IADlC,IAAA,sBAAU,GAAE;GACA,sBAAsB,CAyClC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { KeybindingRegistry } from '@theia/core/lib/browser';
|
|
2
|
+
import { QuickAccessProviderDescriptor, QuickAccessRegistry } from '@theia/core/lib/browser/quick-input/quick-access';
|
|
3
|
+
import { Disposable } from '@theia/core/lib/common';
|
|
4
|
+
export declare class MonacoQuickAccessRegistry implements QuickAccessRegistry {
|
|
5
|
+
protected readonly keybindingRegistry: KeybindingRegistry;
|
|
6
|
+
private get monacoRegistry();
|
|
7
|
+
registerQuickAccessProvider(descriptor: QuickAccessProviderDescriptor): Disposable;
|
|
8
|
+
getQuickAccessProviders(): QuickAccessProviderDescriptor[];
|
|
9
|
+
getQuickAccessProvider(prefix: string): QuickAccessProviderDescriptor | undefined;
|
|
10
|
+
clear(): void;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=monaco-quick-access-registry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"monaco-quick-access-registry.d.ts","sourceRoot":"","sources":["../../src/browser/monaco-quick-access-registry.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,kBAAkB,EAAqC,MAAM,yBAAyB,CAAC;AAChG,OAAO,EAAE,6BAA6B,EAAE,mBAAmB,EAAE,MAAM,kDAAkD,CAAC;AACtH,OAAO,EAAqB,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAqCvE,qBACa,yBAA0B,YAAW,mBAAmB;IAEjE,SAAS,CAAC,QAAQ,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;IAE1D,OAAO,KAAK,cAAc,GAEzB;IAED,2BAA2B,CAAC,UAAU,EAAE,6BAA6B,GAAG,UAAU;IAiClF,uBAAuB,IAAI,6BAA6B,EAAE;IAK1D,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,6BAA6B,GAAG,SAAS;IAIjF,KAAK,IAAI,IAAI;CAKhB"}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// *****************************************************************************
|
|
3
|
+
// Copyright (C) 2021 Red Hat 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.MonacoQuickAccessRegistry = void 0;
|
|
19
|
+
const tslib_1 = require("tslib");
|
|
20
|
+
const browser_1 = require("@theia/core/lib/browser");
|
|
21
|
+
const inversify_1 = require("@theia/core/shared/inversify");
|
|
22
|
+
const monaco_quick_input_service_1 = require("./monaco-quick-input-service");
|
|
23
|
+
const pickerQuickAccess_1 = require("@theia/monaco-editor-core/esm/vs/platform/quickinput/browser/pickerQuickAccess");
|
|
24
|
+
const quickAccess_1 = require("@theia/monaco-editor-core/esm/vs/platform/quickinput/common/quickAccess");
|
|
25
|
+
const platform_1 = require("@theia/monaco-editor-core/esm/vs/platform/registry/common/platform");
|
|
26
|
+
class MonacoPickerAccessProvider extends pickerQuickAccess_1.PickerQuickAccessProvider {
|
|
27
|
+
constructor(prefix, options) {
|
|
28
|
+
super(prefix, options);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
class TheiaQuickAccessDescriptor {
|
|
32
|
+
constructor(theiaDescriptor,
|
|
33
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
34
|
+
ctor, prefix, helpEntries, placeholder) {
|
|
35
|
+
this.theiaDescriptor = theiaDescriptor;
|
|
36
|
+
this.ctor = ctor;
|
|
37
|
+
this.prefix = prefix;
|
|
38
|
+
this.helpEntries = helpEntries;
|
|
39
|
+
this.placeholder = placeholder;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
let MonacoQuickAccessRegistry = class MonacoQuickAccessRegistry {
|
|
43
|
+
get monacoRegistry() {
|
|
44
|
+
return platform_1.Registry.as(quickAccess_1.Extensions.Quickaccess);
|
|
45
|
+
}
|
|
46
|
+
registerQuickAccessProvider(descriptor) {
|
|
47
|
+
const toMonacoPick = (item) => {
|
|
48
|
+
if (browser_1.QuickPickSeparator.is(item)) {
|
|
49
|
+
return item;
|
|
50
|
+
}
|
|
51
|
+
else {
|
|
52
|
+
return new monaco_quick_input_service_1.MonacoQuickPickItem(item, this.keybindingRegistry);
|
|
53
|
+
}
|
|
54
|
+
};
|
|
55
|
+
const inner = class extends MonacoPickerAccessProvider {
|
|
56
|
+
getDescriptor() {
|
|
57
|
+
return descriptor;
|
|
58
|
+
}
|
|
59
|
+
constructor() {
|
|
60
|
+
super(descriptor.prefix);
|
|
61
|
+
}
|
|
62
|
+
async _getPicks(filter, disposables, token) {
|
|
63
|
+
const result = await Promise.resolve(descriptor.getInstance().getPicks(filter, token));
|
|
64
|
+
return result.map(toMonacoPick);
|
|
65
|
+
}
|
|
66
|
+
};
|
|
67
|
+
return this.monacoRegistry.registerQuickAccessProvider(new TheiaQuickAccessDescriptor(descriptor, inner, descriptor.prefix, descriptor.helpEntries, descriptor.placeholder));
|
|
68
|
+
}
|
|
69
|
+
getQuickAccessProviders() {
|
|
70
|
+
return this.monacoRegistry.getQuickAccessProviders()
|
|
71
|
+
.filter(provider => provider instanceof TheiaQuickAccessDescriptor)
|
|
72
|
+
.map(provider => provider.theiaDescriptor);
|
|
73
|
+
}
|
|
74
|
+
getQuickAccessProvider(prefix) {
|
|
75
|
+
const monacoDescriptor = this.monacoRegistry.getQuickAccessProvider(prefix);
|
|
76
|
+
return monacoDescriptor ? monacoDescriptor.theiaDescriptor : undefined;
|
|
77
|
+
}
|
|
78
|
+
clear() {
|
|
79
|
+
if (this.monacoRegistry instanceof quickAccess_1.QuickAccessRegistry) {
|
|
80
|
+
this.monacoRegistry.clear();
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
};
|
|
84
|
+
exports.MonacoQuickAccessRegistry = MonacoQuickAccessRegistry;
|
|
85
|
+
tslib_1.__decorate([
|
|
86
|
+
(0, inversify_1.inject)(browser_1.KeybindingRegistry),
|
|
87
|
+
tslib_1.__metadata("design:type", browser_1.KeybindingRegistry)
|
|
88
|
+
], MonacoQuickAccessRegistry.prototype, "keybindingRegistry", void 0);
|
|
89
|
+
exports.MonacoQuickAccessRegistry = MonacoQuickAccessRegistry = tslib_1.__decorate([
|
|
90
|
+
(0, inversify_1.injectable)()
|
|
91
|
+
], MonacoQuickAccessRegistry);
|
|
92
|
+
//# sourceMappingURL=monaco-quick-access-registry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"monaco-quick-access-registry.js","sourceRoot":"","sources":["../../src/browser/monaco-quick-access-registry.ts"],"names":[],"mappings":"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"}
|