@theia/monaco 1.45.0 → 1.46.0-next.72
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +100 -100
- package/data/monaco-nls.json +1379 -1379
- package/data/monaco-themes/vscode/dark_plus.json +201 -201
- package/data/monaco-themes/vscode/dark_theia.json +5 -5
- package/data/monaco-themes/vscode/dark_vs.json +393 -393
- package/data/monaco-themes/vscode/hc_black.json +457 -457
- package/data/monaco-themes/vscode/hc_light.json +590 -590
- package/data/monaco-themes/vscode/hc_theia.json +5 -5
- package/data/monaco-themes/vscode/hc_theia_light.json +5 -5
- package/data/monaco-themes/vscode/light_plus.json +202 -202
- package/data/monaco-themes/vscode/light_theia.json +10 -10
- package/data/monaco-themes/vscode/light_vs.json +421 -421
- package/lib/browser/index.d.ts +1 -1
- package/lib/browser/index.js +28 -28
- package/lib/browser/markdown-renderer/monaco-markdown-renderer.d.ts +20 -24
- package/lib/browser/markdown-renderer/monaco-markdown-renderer.d.ts.map +1 -1
- package/lib/browser/markdown-renderer/monaco-markdown-renderer.js +122 -137
- package/lib/browser/markdown-renderer/monaco-markdown-renderer.js.map +1 -1
- package/lib/browser/monaco-bulk-edit-service.d.ts +12 -14
- package/lib/browser/monaco-bulk-edit-service.d.ts.map +1 -1
- package/lib/browser/monaco-bulk-edit-service.js +66 -66
- package/lib/browser/monaco-bulk-edit-service.js.map +1 -1
- package/lib/browser/monaco-color-registry.d.ts +16 -16
- package/lib/browser/monaco-color-registry.js +82 -82
- package/lib/browser/monaco-command-registry.d.ts +19 -19
- package/lib/browser/monaco-command-registry.d.ts.map +1 -1
- package/lib/browser/monaco-command-registry.js +88 -85
- package/lib/browser/monaco-command-registry.js.map +1 -1
- package/lib/browser/monaco-command-service.d.ts +21 -26
- package/lib/browser/monaco-command-service.d.ts.map +1 -1
- package/lib/browser/monaco-command-service.js +93 -92
- package/lib/browser/monaco-command-service.js.map +1 -1
- package/lib/browser/monaco-command.d.ts +88 -94
- package/lib/browser/monaco-command.d.ts.map +1 -1
- package/lib/browser/monaco-command.js +294 -307
- package/lib/browser/monaco-command.js.map +1 -1
- package/lib/browser/monaco-context-key-service.d.ts +22 -22
- package/lib/browser/monaco-context-key-service.d.ts.map +1 -1
- package/lib/browser/monaco-context-key-service.js +146 -147
- package/lib/browser/monaco-context-key-service.js.map +1 -1
- package/lib/browser/monaco-context-menu.d.ts +17 -16
- package/lib/browser/monaco-context-menu.d.ts.map +1 -1
- package/lib/browser/monaco-context-menu.js +112 -102
- package/lib/browser/monaco-context-menu.js.map +1 -1
- package/lib/browser/monaco-diff-editor.d.ts +29 -29
- package/lib/browser/monaco-diff-editor.d.ts.map +1 -1
- package/lib/browser/monaco-diff-editor.js +74 -74
- package/lib/browser/monaco-diff-editor.js.map +1 -1
- package/lib/browser/monaco-diff-navigator-factory.d.ts +6 -7
- package/lib/browser/monaco-diff-navigator-factory.d.ts.map +1 -1
- package/lib/browser/monaco-diff-navigator-factory.js +45 -66
- package/lib/browser/monaco-diff-navigator-factory.js.map +1 -1
- package/lib/browser/monaco-editor-model.d.ts +158 -156
- package/lib/browser/monaco-editor-model.d.ts.map +1 -1
- package/lib/browser/monaco-editor-model.js +562 -559
- package/lib/browser/monaco-editor-model.js.map +1 -1
- package/lib/browser/monaco-editor-provider.d.ts +70 -89
- package/lib/browser/monaco-editor-provider.d.ts.map +1 -1
- package/lib/browser/monaco-editor-provider.js +386 -440
- package/lib/browser/monaco-editor-provider.js.map +1 -1
- package/lib/browser/monaco-editor-service.d.ts +32 -27
- package/lib/browser/monaco-editor-service.d.ts.map +1 -1
- package/lib/browser/monaco-editor-service.js +158 -155
- package/lib/browser/monaco-editor-service.js.map +1 -1
- package/lib/browser/monaco-editor-zone-widget.d.ts +43 -43
- package/lib/browser/monaco-editor-zone-widget.js +194 -194
- package/lib/browser/monaco-editor.d.ts +154 -151
- package/lib/browser/monaco-editor.d.ts.map +1 -1
- package/lib/browser/monaco-editor.js +542 -524
- package/lib/browser/monaco-editor.js.map +1 -1
- package/lib/browser/monaco-formatting-conflicts.d.ts +13 -13
- package/lib/browser/monaco-formatting-conflicts.js +111 -111
- package/lib/browser/monaco-formatting-conflicts.js.map +1 -1
- package/lib/browser/monaco-frontend-application-contribution.d.ts +22 -28
- package/lib/browser/monaco-frontend-application-contribution.d.ts.map +1 -1
- package/lib/browser/monaco-frontend-application-contribution.js +178 -215
- package/lib/browser/monaco-frontend-application-contribution.js.map +1 -1
- package/lib/browser/monaco-frontend-module.d.ts +7 -7
- package/lib/browser/monaco-frontend-module.d.ts.map +1 -1
- package/lib/browser/monaco-frontend-module.js +280 -271
- package/lib/browser/monaco-frontend-module.js.map +1 -1
- package/lib/browser/monaco-gotoline-quick-access.d.ts +11 -11
- package/lib/browser/monaco-gotoline-quick-access.js +64 -64
- package/lib/browser/monaco-gotosymbol-quick-access.d.ts +16 -16
- package/lib/browser/monaco-gotosymbol-quick-access.js +70 -70
- package/lib/browser/monaco-icon-registry.d.ts +10 -11
- package/lib/browser/monaco-icon-registry.d.ts.map +1 -1
- package/lib/browser/monaco-icon-registry.js +52 -50
- package/lib/browser/monaco-icon-registry.js.map +1 -1
- package/lib/browser/monaco-indexed-db.d.ts +28 -28
- package/lib/browser/monaco-indexed-db.js +131 -131
- package/lib/browser/monaco-init.d.ts +5 -0
- package/lib/browser/monaco-init.d.ts.map +1 -0
- package/lib/browser/monaco-init.js +125 -0
- package/lib/browser/monaco-init.js.map +1 -0
- package/lib/browser/monaco-keybinding.d.ts +16 -16
- package/lib/browser/monaco-keybinding.js +134 -134
- package/lib/browser/monaco-keybinding.js.map +1 -1
- package/lib/browser/monaco-keycode-map.d.ts +2 -2
- package/lib/browser/monaco-keycode-map.js +163 -163
- package/lib/browser/monaco-keycode-map.js.map +1 -1
- package/lib/browser/monaco-languages.d.ts +35 -35
- package/lib/browser/monaco-languages.js +180 -180
- package/lib/browser/monaco-marker-collection.d.ts +18 -18
- package/lib/browser/monaco-marker-collection.js +70 -70
- package/lib/browser/monaco-menu.d.ts +20 -20
- package/lib/browser/monaco-menu.js +145 -145
- package/lib/browser/monaco-mime-service.d.ts +10 -10
- package/lib/browser/monaco-mime-service.js +78 -78
- package/lib/browser/monaco-outline-contribution.d.ts +78 -78
- package/lib/browser/monaco-outline-contribution.js +384 -384
- package/lib/browser/monaco-outline-decorator.d.ts +12 -12
- package/lib/browser/monaco-outline-decorator.js +67 -67
- package/lib/browser/monaco-quick-access-registry.d.ts +11 -11
- package/lib/browser/monaco-quick-access-registry.js +99 -99
- package/lib/browser/monaco-quick-input-service.d.ts +99 -101
- package/lib/browser/monaco-quick-input-service.d.ts.map +1 -1
- package/lib/browser/monaco-quick-input-service.js +529 -568
- package/lib/browser/monaco-quick-input-service.js.map +1 -1
- package/lib/browser/monaco-resolved-keybinding.d.ts +23 -23
- package/lib/browser/monaco-resolved-keybinding.d.ts.map +1 -1
- package/lib/browser/monaco-resolved-keybinding.js +131 -131
- package/lib/browser/monaco-resolved-keybinding.js.map +1 -1
- package/lib/browser/monaco-snippet-suggest-provider.d.ts +66 -66
- package/lib/browser/monaco-snippet-suggest-provider.js +273 -273
- package/lib/browser/monaco-status-bar-contribution.d.ts +17 -17
- package/lib/browser/monaco-status-bar-contribution.js +121 -121
- package/lib/browser/monaco-text-model-service.d.ts +51 -51
- package/lib/browser/monaco-text-model-service.js +189 -189
- package/lib/browser/monaco-text-model-service.js.map +1 -1
- package/lib/browser/monaco-theming-service.d.ts +67 -67
- package/lib/browser/monaco-theming-service.js +171 -171
- package/lib/browser/monaco-to-protocol-converter.d.ts +26 -26
- package/lib/browser/monaco-to-protocol-converter.js +61 -61
- package/lib/browser/monaco-workspace.d.ts +83 -85
- package/lib/browser/monaco-workspace.d.ts.map +1 -1
- package/lib/browser/monaco-workspace.js +384 -384
- package/lib/browser/monaco-workspace.js.map +1 -1
- package/lib/browser/protocol-to-monaco-converter.d.ts +31 -31
- package/lib/browser/protocol-to-monaco-converter.js +133 -133
- package/lib/browser/simple-monaco-editor.d.ts +45 -44
- package/lib/browser/simple-monaco-editor.d.ts.map +1 -1
- package/lib/browser/simple-monaco-editor.js +184 -176
- package/lib/browser/simple-monaco-editor.js.map +1 -1
- package/lib/browser/textmate/index.d.ts +4 -4
- package/lib/browser/textmate/index.js +31 -31
- package/lib/browser/textmate/monaco-textmate-frontend-bindings.d.ts +11 -11
- package/lib/browser/textmate/monaco-textmate-frontend-bindings.js +91 -91
- package/lib/browser/textmate/monaco-textmate-service.d.ts +30 -30
- package/lib/browser/textmate/monaco-textmate-service.js +185 -185
- package/lib/browser/textmate/monaco-textmate-service.js.map +1 -1
- package/lib/browser/textmate/monaco-theme-registry.d.ts +27 -27
- package/lib/browser/textmate/monaco-theme-registry.js +173 -173
- package/lib/browser/textmate/monaco-theme-types.d.ts +20 -20
- package/lib/browser/textmate/monaco-theme-types.js +21 -21
- package/lib/browser/textmate/textmate-contribution.d.ts +9 -9
- package/lib/browser/textmate/textmate-contribution.js +27 -27
- package/lib/browser/textmate/textmate-registry.d.ts +31 -31
- package/lib/browser/textmate/textmate-registry.js +109 -109
- package/lib/browser/textmate/textmate-snippet-completion-provider.d.ts +26 -26
- package/lib/browser/textmate/textmate-snippet-completion-provider.js +53 -53
- package/lib/browser/textmate/textmate-tokenizer.d.ts +22 -22
- package/lib/browser/textmate/textmate-tokenizer.js +65 -65
- package/lib/browser/workspace-symbol-command.d.ts +55 -55
- package/lib/browser/workspace-symbol-command.js +215 -215
- package/lib/package.spec.js +25 -25
- package/package.json +10 -10
- package/src/browser/index.ts +17 -17
- package/src/browser/markdown-renderer/monaco-markdown-renderer.ts +109 -117
- package/src/browser/monaco-bulk-edit-service.ts +64 -64
- package/src/browser/monaco-color-registry.ts +73 -73
- package/src/browser/monaco-command-registry.ts +85 -82
- package/src/browser/monaco-command-service.ts +90 -99
- package/src/browser/monaco-command.ts +303 -313
- package/src/browser/monaco-context-key-service.ts +144 -143
- package/src/browser/monaco-context-menu.ts +100 -90
- package/src/browser/monaco-diff-editor.ts +100 -101
- package/src/browser/monaco-diff-navigator-factory.ts +39 -61
- package/src/browser/monaco-editor-model.ts +684 -681
- package/src/browser/monaco-editor-provider.ts +409 -452
- package/src/browser/monaco-editor-service.ts +149 -144
- package/src/browser/monaco-editor-zone-widget.ts +250 -250
- package/src/browser/monaco-editor.ts +663 -644
- package/src/browser/monaco-formatting-conflicts.ts +116 -116
- package/src/browser/monaco-frontend-application-contribution.ts +165 -200
- package/src/browser/monaco-frontend-module.ts +328 -320
- package/src/browser/monaco-gotoline-quick-access.ts +47 -47
- package/src/browser/monaco-gotosymbol-quick-access.ts +53 -53
- package/src/browser/monaco-icon-registry.ts +49 -47
- package/src/browser/monaco-indexed-db.ts +130 -130
- package/src/browser/monaco-init.ts +114 -0
- package/src/browser/monaco-keybinding.ts +111 -111
- package/src/browser/monaco-keycode-map.ts +171 -171
- package/src/browser/monaco-languages.ts +177 -177
- package/src/browser/monaco-marker-collection.ts +83 -83
- package/src/browser/monaco-menu.ts +142 -142
- package/src/browser/monaco-mime-service.ts +71 -71
- package/src/browser/monaco-outline-contribution.ts +404 -404
- package/src/browser/monaco-outline-decorator.ts +66 -66
- package/src/browser/monaco-quick-access-registry.ts +112 -112
- package/src/browser/monaco-quick-input-service.ts +647 -676
- package/src/browser/monaco-resolved-keybinding.ts +162 -162
- package/src/browser/monaco-snippet-suggest-provider.ts +306 -306
- package/src/browser/monaco-status-bar-contribution.ts +110 -110
- package/src/browser/monaco-text-model-service.ts +199 -199
- package/src/browser/monaco-theming-service.ts +204 -204
- package/src/browser/monaco-to-protocol-converter.ts +71 -71
- package/src/browser/monaco-workspace.ts +412 -412
- package/src/browser/protocol-to-monaco-converter.ts +158 -158
- package/src/browser/simple-monaco-editor.ts +217 -210
- package/src/browser/style/index.css +263 -263
- package/src/browser/textmate/index.ts +20 -20
- package/src/browser/textmate/monaco-textmate-frontend-bindings.ts +90 -90
- package/src/browser/textmate/monaco-textmate-service.ts +187 -187
- package/src/browser/textmate/monaco-theme-registry.ts +176 -176
- package/src/browser/textmate/monaco-theme-types.ts +37 -37
- package/src/browser/textmate/textmate-contribution.ts +29 -29
- package/src/browser/textmate/textmate-registry.ts +129 -129
- package/src/browser/textmate/textmate-snippet-completion-provider.ts +73 -73
- package/src/browser/textmate/textmate-tokenizer.ts +84 -84
- package/src/browser/workspace-symbol-command.ts +196 -196
- package/src/package.spec.ts +28 -28
package/src/browser/index.ts
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
// *****************************************************************************
|
|
2
|
-
// Copyright (C) 2017 TypeFox and others.
|
|
3
|
-
//
|
|
4
|
-
// This program and the accompanying materials are made available under the
|
|
5
|
-
// terms of the Eclipse Public License v. 2.0 which is available at
|
|
6
|
-
// http://www.eclipse.org/legal/epl-2.0.
|
|
7
|
-
//
|
|
8
|
-
// This Source Code may also be made available under the following Secondary
|
|
9
|
-
// Licenses when the conditions for such availability set forth in the Eclipse
|
|
10
|
-
// Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
11
|
-
// with the GNU Classpath Exception which is available at
|
|
12
|
-
// https://www.gnu.org/software/classpath/license.html.
|
|
13
|
-
//
|
|
14
|
-
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
15
|
-
// *****************************************************************************
|
|
16
|
-
|
|
17
|
-
export * from './monaco-frontend-module';
|
|
1
|
+
// *****************************************************************************
|
|
2
|
+
// Copyright (C) 2017 TypeFox and others.
|
|
3
|
+
//
|
|
4
|
+
// This program and the accompanying materials are made available under the
|
|
5
|
+
// terms of the Eclipse Public License v. 2.0 which is available at
|
|
6
|
+
// http://www.eclipse.org/legal/epl-2.0.
|
|
7
|
+
//
|
|
8
|
+
// This Source Code may also be made available under the following Secondary
|
|
9
|
+
// Licenses when the conditions for such availability set forth in the Eclipse
|
|
10
|
+
// Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
11
|
+
// with the GNU Classpath Exception which is available at
|
|
12
|
+
// https://www.gnu.org/software/classpath/license.html.
|
|
13
|
+
//
|
|
14
|
+
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
15
|
+
// *****************************************************************************
|
|
16
|
+
|
|
17
|
+
export * from './monaco-frontend-module';
|
|
@@ -1,117 +1,109 @@
|
|
|
1
|
-
// *****************************************************************************
|
|
2
|
-
// Copyright (C) 2022 Ericsson and others.
|
|
3
|
-
//
|
|
4
|
-
// This program and the accompanying materials are made available under the
|
|
5
|
-
// terms of the Eclipse Public License v. 2.0 which is available at
|
|
6
|
-
// http://www.eclipse.org/legal/epl-2.0.
|
|
7
|
-
//
|
|
8
|
-
// This Source Code may also be made available under the following Secondary
|
|
9
|
-
// Licenses when the conditions for such availability set forth in the Eclipse
|
|
10
|
-
// Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
11
|
-
// with the GNU Classpath Exception which is available at
|
|
12
|
-
// https://www.gnu.org/software/classpath/license.html.
|
|
13
|
-
//
|
|
14
|
-
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
15
|
-
// *****************************************************************************
|
|
16
|
-
|
|
17
|
-
import { inject, injectable, postConstruct } from '@theia/core/shared/inversify';
|
|
18
|
-
import { ILanguageService } from '@theia/monaco-editor-core/esm/vs/editor/common/languages/language';
|
|
19
|
-
import { MarkdownRenderer as CodeMarkdownRenderer } from '@theia/monaco-editor-core/esm/vs/editor/contrib/markdownRenderer/browser/markdownRenderer';
|
|
20
|
-
import { StandaloneServices } from '@theia/monaco-editor-core/esm/vs/editor/standalone/browser/standaloneServices';
|
|
21
|
-
import
|
|
22
|
-
import {
|
|
23
|
-
import
|
|
24
|
-
import {
|
|
25
|
-
import {
|
|
26
|
-
import {
|
|
27
|
-
import {
|
|
28
|
-
import {
|
|
29
|
-
import {
|
|
30
|
-
import {
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
@
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
const
|
|
75
|
-
const
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
await open(this.openerService, uri, options);
|
|
111
|
-
return true;
|
|
112
|
-
} catch (e) {
|
|
113
|
-
console.error(`Fail to open '${uri.toString()}':`, e);
|
|
114
|
-
return false;
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
}
|
|
1
|
+
// *****************************************************************************
|
|
2
|
+
// Copyright (C) 2022 Ericsson and others.
|
|
3
|
+
//
|
|
4
|
+
// This program and the accompanying materials are made available under the
|
|
5
|
+
// terms of the Eclipse Public License v. 2.0 which is available at
|
|
6
|
+
// http://www.eclipse.org/legal/epl-2.0.
|
|
7
|
+
//
|
|
8
|
+
// This Source Code may also be made available under the following Secondary
|
|
9
|
+
// Licenses when the conditions for such availability set forth in the Eclipse
|
|
10
|
+
// Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
11
|
+
// with the GNU Classpath Exception which is available at
|
|
12
|
+
// https://www.gnu.org/software/classpath/license.html.
|
|
13
|
+
//
|
|
14
|
+
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
15
|
+
// *****************************************************************************
|
|
16
|
+
|
|
17
|
+
import { inject, injectable, postConstruct } from '@theia/core/shared/inversify';
|
|
18
|
+
import { ILanguageService } from '@theia/monaco-editor-core/esm/vs/editor/common/languages/language';
|
|
19
|
+
import { MarkdownRenderer as CodeMarkdownRenderer, IMarkdownRendererOptions } from '@theia/monaco-editor-core/esm/vs/editor/contrib/markdownRenderer/browser/markdownRenderer';
|
|
20
|
+
import { StandaloneServices } from '@theia/monaco-editor-core/esm/vs/editor/standalone/browser/standaloneServices';
|
|
21
|
+
import * as monaco from '@theia/monaco-editor-core';
|
|
22
|
+
import { OpenerService, PreferenceService, WidgetOpenerOptions, open } from '@theia/core/lib/browser';
|
|
23
|
+
import { IOpenerService, OpenExternalOptions, OpenInternalOptions } from '@theia/monaco-editor-core/esm/vs/platform/opener/common/opener';
|
|
24
|
+
import { HttpOpenHandlerOptions } from '@theia/core/lib/browser/http-open-handler';
|
|
25
|
+
import { URI } from '@theia/core/lib/common/uri';
|
|
26
|
+
import { MarkdownRenderer, MarkdownRenderOptions, MarkdownRenderResult } from '@theia/core/lib/browser/markdown-rendering/markdown-renderer';
|
|
27
|
+
import { MarkedOptions, MarkdownRenderOptions as MonacoMarkdownRenderOptions } from '@theia/monaco-editor-core/esm/vs/base/browser/markdownRenderer';
|
|
28
|
+
import { MarkdownString } from '@theia/core/lib/common/markdown-rendering';
|
|
29
|
+
import { DisposableStore } from '@theia/monaco-editor-core/esm/vs/base/common/lifecycle';
|
|
30
|
+
import { DisposableCollection, DisposableGroup } from '@theia/core';
|
|
31
|
+
|
|
32
|
+
@injectable()
|
|
33
|
+
export class MonacoMarkdownRenderer implements MarkdownRenderer {
|
|
34
|
+
@inject(OpenerService) protected readonly openerService: OpenerService;
|
|
35
|
+
@inject(PreferenceService) protected readonly preferences: PreferenceService;
|
|
36
|
+
|
|
37
|
+
protected delegate: CodeMarkdownRenderer;
|
|
38
|
+
protected _openerService: OpenerService | undefined;
|
|
39
|
+
|
|
40
|
+
render(markdown: MarkdownString | undefined, options?: MarkdownRenderOptions, markedOptions?: MarkedOptions): MarkdownRenderResult {
|
|
41
|
+
return this.delegate.render(markdown, this.transformOptions(options), markedOptions);
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
protected transformOptions(options?: MarkdownRenderOptions): MonacoMarkdownRenderOptions | undefined {
|
|
45
|
+
if (!options?.actionHandler) {
|
|
46
|
+
return options as MarkdownRenderOptions & { actionHandler: undefined } | undefined;
|
|
47
|
+
}
|
|
48
|
+
const monacoActionHandler: MonacoMarkdownRenderOptions['actionHandler'] = {
|
|
49
|
+
disposables: this.toDisposableStore(options.actionHandler.disposables),
|
|
50
|
+
callback: (content, e) => options.actionHandler!.callback(content, e?.browserEvent)
|
|
51
|
+
};
|
|
52
|
+
return { ...options, actionHandler: monacoActionHandler };
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
protected toDisposableStore(current: DisposableGroup): DisposableStore {
|
|
56
|
+
if (current instanceof DisposableStore) {
|
|
57
|
+
return current;
|
|
58
|
+
} else if (current instanceof DisposableCollection) {
|
|
59
|
+
const store = new DisposableStore();
|
|
60
|
+
current['disposables'].forEach(disposable => store.add(disposable));
|
|
61
|
+
return store;
|
|
62
|
+
} else {
|
|
63
|
+
return new DisposableStore();
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
@postConstruct()
|
|
68
|
+
protected init(): void {
|
|
69
|
+
const languages = StandaloneServices.get(ILanguageService);
|
|
70
|
+
const openerService = StandaloneServices.get(IOpenerService);
|
|
71
|
+
openerService.registerOpener({
|
|
72
|
+
open: (u, options) => this.interceptOpen(u, options)
|
|
73
|
+
});
|
|
74
|
+
const that = this;
|
|
75
|
+
const prefs = new class implements IMarkdownRendererOptions {
|
|
76
|
+
get codeBlockFontFamily(): string | undefined {
|
|
77
|
+
return that.preferences.get<string>('editor.fontFamily');
|
|
78
|
+
}
|
|
79
|
+
};
|
|
80
|
+
|
|
81
|
+
this.delegate = new CodeMarkdownRenderer(prefs, languages, openerService);
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
protected async interceptOpen(monacoUri: monaco.Uri | string, monacoOptions?: OpenInternalOptions | OpenExternalOptions): Promise<boolean> {
|
|
85
|
+
let options = undefined;
|
|
86
|
+
if (monacoOptions) {
|
|
87
|
+
if ('openToSide' in monacoOptions && monacoOptions.openToSide) {
|
|
88
|
+
options = Object.assign(options || {}, <WidgetOpenerOptions>{
|
|
89
|
+
widgetOptions: {
|
|
90
|
+
mode: 'split-right'
|
|
91
|
+
}
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
if ('openExternal' in monacoOptions && monacoOptions.openExternal) {
|
|
95
|
+
options = Object.assign(options || {}, <HttpOpenHandlerOptions>{
|
|
96
|
+
openExternal: true
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
const uri = new URI(monacoUri.toString());
|
|
101
|
+
try {
|
|
102
|
+
await open(this.openerService, uri, options);
|
|
103
|
+
return true;
|
|
104
|
+
} catch (e) {
|
|
105
|
+
console.error(`Fail to open '${uri.toString()}':`, e);
|
|
106
|
+
return false;
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
}
|
|
@@ -1,64 +1,64 @@
|
|
|
1
|
-
// *****************************************************************************
|
|
2
|
-
// Copyright (C) 2018 TypeFox and others.
|
|
3
|
-
//
|
|
4
|
-
// This program and the accompanying materials are made available under the
|
|
5
|
-
// terms of the Eclipse Public License v. 2.0 which is available at
|
|
6
|
-
// http://www.eclipse.org/legal/epl-2.0.
|
|
7
|
-
//
|
|
8
|
-
// This Source Code may also be made available under the following Secondary
|
|
9
|
-
// Licenses when the conditions for such availability set forth in the Eclipse
|
|
10
|
-
// Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
11
|
-
// with the GNU Classpath Exception which is available at
|
|
12
|
-
// https://www.gnu.org/software/classpath/license.html.
|
|
13
|
-
//
|
|
14
|
-
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
15
|
-
// *****************************************************************************
|
|
16
|
-
|
|
17
|
-
import { injectable, inject } from '@theia/core/shared/inversify';
|
|
18
|
-
import { MonacoWorkspace } from './monaco-workspace';
|
|
19
|
-
import {
|
|
20
|
-
IBulkEditOptions, IBulkEditPreviewHandler, IBulkEditResult, IBulkEditService, ResourceEdit
|
|
21
|
-
} from '@theia/monaco-editor-core/esm/vs/editor/browser/services/bulkEditService';
|
|
22
|
-
import { IDisposable } from '@theia/monaco-editor-core/esm/vs/base/common/lifecycle';
|
|
23
|
-
import { WorkspaceEdit } from '@theia/monaco-editor-core/esm/vs/editor/common/languages';
|
|
24
|
-
|
|
25
|
-
@injectable()
|
|
26
|
-
export class MonacoBulkEditService implements IBulkEditService {
|
|
27
|
-
declare readonly _serviceBrand: undefined;
|
|
28
|
-
|
|
29
|
-
@inject(MonacoWorkspace)
|
|
30
|
-
protected readonly workspace: MonacoWorkspace;
|
|
31
|
-
|
|
32
|
-
private _previewHandler?: IBulkEditPreviewHandler;
|
|
33
|
-
|
|
34
|
-
async apply(editsIn: ResourceEdit[] | WorkspaceEdit, options?: IBulkEditOptions): Promise<IBulkEditResult
|
|
35
|
-
const edits = Array.isArray(editsIn) ? editsIn : ResourceEdit.convert(editsIn);
|
|
36
|
-
|
|
37
|
-
if (this._previewHandler && (options?.showPreview || edits.some(value => value.metadata?.needsConfirmation))) {
|
|
38
|
-
editsIn = await this._previewHandler(edits, options);
|
|
39
|
-
return { ariaSummary: '',
|
|
40
|
-
} else {
|
|
41
|
-
return this.workspace.applyBulkEdit(edits, options);
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
hasPreviewHandler(): boolean {
|
|
46
|
-
return Boolean(this._previewHandler);
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
setPreviewHandler(handler: IBulkEditPreviewHandler): IDisposable {
|
|
50
|
-
this._previewHandler = handler;
|
|
51
|
-
|
|
52
|
-
const disposePreviewHandler = () => {
|
|
53
|
-
if (this._previewHandler === handler) {
|
|
54
|
-
this._previewHandler = undefined;
|
|
55
|
-
}
|
|
56
|
-
};
|
|
57
|
-
|
|
58
|
-
return {
|
|
59
|
-
dispose(): void {
|
|
60
|
-
disposePreviewHandler();
|
|
61
|
-
}
|
|
62
|
-
};
|
|
63
|
-
}
|
|
64
|
-
}
|
|
1
|
+
// *****************************************************************************
|
|
2
|
+
// Copyright (C) 2018 TypeFox and others.
|
|
3
|
+
//
|
|
4
|
+
// This program and the accompanying materials are made available under the
|
|
5
|
+
// terms of the Eclipse Public License v. 2.0 which is available at
|
|
6
|
+
// http://www.eclipse.org/legal/epl-2.0.
|
|
7
|
+
//
|
|
8
|
+
// This Source Code may also be made available under the following Secondary
|
|
9
|
+
// Licenses when the conditions for such availability set forth in the Eclipse
|
|
10
|
+
// Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
11
|
+
// with the GNU Classpath Exception which is available at
|
|
12
|
+
// https://www.gnu.org/software/classpath/license.html.
|
|
13
|
+
//
|
|
14
|
+
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
15
|
+
// *****************************************************************************
|
|
16
|
+
|
|
17
|
+
import { injectable, inject } from '@theia/core/shared/inversify';
|
|
18
|
+
import { MonacoWorkspace } from './monaco-workspace';
|
|
19
|
+
import {
|
|
20
|
+
IBulkEditOptions, IBulkEditPreviewHandler, IBulkEditResult, IBulkEditService, ResourceEdit
|
|
21
|
+
} from '@theia/monaco-editor-core/esm/vs/editor/browser/services/bulkEditService';
|
|
22
|
+
import { IDisposable } from '@theia/monaco-editor-core/esm/vs/base/common/lifecycle';
|
|
23
|
+
import { WorkspaceEdit } from '@theia/monaco-editor-core/esm/vs/editor/common/languages';
|
|
24
|
+
|
|
25
|
+
@injectable()
|
|
26
|
+
export class MonacoBulkEditService implements IBulkEditService {
|
|
27
|
+
declare readonly _serviceBrand: undefined;
|
|
28
|
+
|
|
29
|
+
@inject(MonacoWorkspace)
|
|
30
|
+
protected readonly workspace: MonacoWorkspace;
|
|
31
|
+
|
|
32
|
+
private _previewHandler?: IBulkEditPreviewHandler;
|
|
33
|
+
|
|
34
|
+
async apply(editsIn: ResourceEdit[] | WorkspaceEdit, options?: IBulkEditOptions): Promise<IBulkEditResult> {
|
|
35
|
+
const edits = Array.isArray(editsIn) ? editsIn : ResourceEdit.convert(editsIn);
|
|
36
|
+
|
|
37
|
+
if (this._previewHandler && (options?.showPreview || edits.some(value => value.metadata?.needsConfirmation))) {
|
|
38
|
+
editsIn = await this._previewHandler(edits, options);
|
|
39
|
+
return { ariaSummary: '', isApplied: true };
|
|
40
|
+
} else {
|
|
41
|
+
return this.workspace.applyBulkEdit(edits, options);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
hasPreviewHandler(): boolean {
|
|
46
|
+
return Boolean(this._previewHandler);
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
setPreviewHandler(handler: IBulkEditPreviewHandler): IDisposable {
|
|
50
|
+
this._previewHandler = handler;
|
|
51
|
+
|
|
52
|
+
const disposePreviewHandler = () => {
|
|
53
|
+
if (this._previewHandler === handler) {
|
|
54
|
+
this._previewHandler = undefined;
|
|
55
|
+
}
|
|
56
|
+
};
|
|
57
|
+
|
|
58
|
+
return {
|
|
59
|
+
dispose(): void {
|
|
60
|
+
disposePreviewHandler();
|
|
61
|
+
}
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
}
|
|
@@ -1,73 +1,73 @@
|
|
|
1
|
-
// *****************************************************************************
|
|
2
|
-
// Copyright (C) 2019 TypeFox and others.
|
|
3
|
-
//
|
|
4
|
-
// This program and the accompanying materials are made available under the
|
|
5
|
-
// terms of the Eclipse Public License v. 2.0 which is available at
|
|
6
|
-
// http://www.eclipse.org/legal/epl-2.0.
|
|
7
|
-
//
|
|
8
|
-
// This Source Code may also be made available under the following Secondary
|
|
9
|
-
// Licenses when the conditions for such availability set forth in the Eclipse
|
|
10
|
-
// Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
11
|
-
// with the GNU Classpath Exception which is available at
|
|
12
|
-
// https://www.gnu.org/software/classpath/license.html.
|
|
13
|
-
//
|
|
14
|
-
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
15
|
-
// *****************************************************************************
|
|
16
|
-
|
|
17
|
-
import { injectable } from '@theia/core/shared/inversify';
|
|
18
|
-
import { ColorRegistry } from '@theia/core/lib/browser/color-registry';
|
|
19
|
-
import { Color, ColorDefinition } from '@theia/core/lib/common/color';
|
|
20
|
-
import { Disposable } from '@theia/core/lib/common/disposable';
|
|
21
|
-
import { ColorDefaults, ColorValue, getColorRegistry } from '@theia/monaco-editor-core/esm/vs/platform/theme/common/colorRegistry';
|
|
22
|
-
import { StandaloneServices } from '@theia/monaco-editor-core/esm/vs/editor/standalone/browser/standaloneServices';
|
|
23
|
-
import { IStandaloneThemeService } from '@theia/monaco-editor-core/esm/vs/editor/standalone/common/standaloneTheme';
|
|
24
|
-
import { Color as MonacoColor, HSLA, RGBA } from '@theia/monaco-editor-core/esm/vs/base/common/color';
|
|
25
|
-
import * as Colors from '@theia/monaco-editor-core/esm/vs/platform/theme/common/colorRegistry';
|
|
26
|
-
|
|
27
|
-
@injectable()
|
|
28
|
-
export class MonacoColorRegistry extends ColorRegistry {
|
|
29
|
-
|
|
30
|
-
protected readonly monacoThemeService = StandaloneServices.get(IStandaloneThemeService);
|
|
31
|
-
protected readonly monacoColorRegistry = getColorRegistry();
|
|
32
|
-
|
|
33
|
-
override *getColors(): IterableIterator<string> {
|
|
34
|
-
for (const { id } of this.monacoColorRegistry.getColors()) {
|
|
35
|
-
yield id;
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
override getCurrentColor(id: string): string | undefined {
|
|
40
|
-
return this.monacoThemeService.getColorTheme().getColor(id)?.toString();
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
getColor(id: string): MonacoColor | undefined {
|
|
44
|
-
return this.monacoThemeService.getColorTheme().getColor(id);
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
protected override doRegister(definition: ColorDefinition): Disposable {
|
|
48
|
-
const defaults: ColorDefaults = {
|
|
49
|
-
dark: this.toColor(definition.defaults?.dark),
|
|
50
|
-
light: this.toColor(definition.defaults?.light),
|
|
51
|
-
hcDark: this.toColor(definition.defaults?.hcDark ?? definition.defaults?.hc),
|
|
52
|
-
hcLight: this.toColor(definition.defaults?.hcLight),
|
|
53
|
-
};
|
|
54
|
-
const identifier = this.monacoColorRegistry.registerColor(definition.id, defaults, definition.description);
|
|
55
|
-
return Disposable.create(() => this.monacoColorRegistry.deregisterColor(identifier));
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
protected toColor(value: Color | undefined): ColorValue | null {
|
|
59
|
-
if (!value || typeof value === 'string') {
|
|
60
|
-
return value ?? null; // eslint-disable-line no-null/no-null
|
|
61
|
-
}
|
|
62
|
-
if ('kind' in value) {
|
|
63
|
-
return Colors[value.kind](value.v, value.f);
|
|
64
|
-
} else if ('r' in value) {
|
|
65
|
-
const { r, g, b, a } = value;
|
|
66
|
-
return new MonacoColor(new RGBA(r, g, b, a));
|
|
67
|
-
} else {
|
|
68
|
-
const { h, s, l, a } = value;
|
|
69
|
-
return new MonacoColor(new HSLA(h, s, l, a));
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
}
|
|
1
|
+
// *****************************************************************************
|
|
2
|
+
// Copyright (C) 2019 TypeFox and others.
|
|
3
|
+
//
|
|
4
|
+
// This program and the accompanying materials are made available under the
|
|
5
|
+
// terms of the Eclipse Public License v. 2.0 which is available at
|
|
6
|
+
// http://www.eclipse.org/legal/epl-2.0.
|
|
7
|
+
//
|
|
8
|
+
// This Source Code may also be made available under the following Secondary
|
|
9
|
+
// Licenses when the conditions for such availability set forth in the Eclipse
|
|
10
|
+
// Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
11
|
+
// with the GNU Classpath Exception which is available at
|
|
12
|
+
// https://www.gnu.org/software/classpath/license.html.
|
|
13
|
+
//
|
|
14
|
+
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
15
|
+
// *****************************************************************************
|
|
16
|
+
|
|
17
|
+
import { injectable } from '@theia/core/shared/inversify';
|
|
18
|
+
import { ColorRegistry } from '@theia/core/lib/browser/color-registry';
|
|
19
|
+
import { Color, ColorDefinition } from '@theia/core/lib/common/color';
|
|
20
|
+
import { Disposable } from '@theia/core/lib/common/disposable';
|
|
21
|
+
import { ColorDefaults, ColorValue, getColorRegistry } from '@theia/monaco-editor-core/esm/vs/platform/theme/common/colorRegistry';
|
|
22
|
+
import { StandaloneServices } from '@theia/monaco-editor-core/esm/vs/editor/standalone/browser/standaloneServices';
|
|
23
|
+
import { IStandaloneThemeService } from '@theia/monaco-editor-core/esm/vs/editor/standalone/common/standaloneTheme';
|
|
24
|
+
import { Color as MonacoColor, HSLA, RGBA } from '@theia/monaco-editor-core/esm/vs/base/common/color';
|
|
25
|
+
import * as Colors from '@theia/monaco-editor-core/esm/vs/platform/theme/common/colorRegistry';
|
|
26
|
+
|
|
27
|
+
@injectable()
|
|
28
|
+
export class MonacoColorRegistry extends ColorRegistry {
|
|
29
|
+
|
|
30
|
+
protected readonly monacoThemeService = StandaloneServices.get(IStandaloneThemeService);
|
|
31
|
+
protected readonly monacoColorRegistry = getColorRegistry();
|
|
32
|
+
|
|
33
|
+
override *getColors(): IterableIterator<string> {
|
|
34
|
+
for (const { id } of this.monacoColorRegistry.getColors()) {
|
|
35
|
+
yield id;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
override getCurrentColor(id: string): string | undefined {
|
|
40
|
+
return this.monacoThemeService.getColorTheme().getColor(id)?.toString();
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
getColor(id: string): MonacoColor | undefined {
|
|
44
|
+
return this.monacoThemeService.getColorTheme().getColor(id);
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
protected override doRegister(definition: ColorDefinition): Disposable {
|
|
48
|
+
const defaults: ColorDefaults = {
|
|
49
|
+
dark: this.toColor(definition.defaults?.dark),
|
|
50
|
+
light: this.toColor(definition.defaults?.light),
|
|
51
|
+
hcDark: this.toColor(definition.defaults?.hcDark ?? definition.defaults?.hc),
|
|
52
|
+
hcLight: this.toColor(definition.defaults?.hcLight),
|
|
53
|
+
};
|
|
54
|
+
const identifier = this.monacoColorRegistry.registerColor(definition.id, defaults, definition.description);
|
|
55
|
+
return Disposable.create(() => this.monacoColorRegistry.deregisterColor(identifier));
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
protected toColor(value: Color | undefined): ColorValue | null {
|
|
59
|
+
if (!value || typeof value === 'string') {
|
|
60
|
+
return value ?? null; // eslint-disable-line no-null/no-null
|
|
61
|
+
}
|
|
62
|
+
if ('kind' in value) {
|
|
63
|
+
return Colors[value.kind](value.v, value.f);
|
|
64
|
+
} else if ('r' in value) {
|
|
65
|
+
const { r, g, b, a } = value;
|
|
66
|
+
return new MonacoColor(new RGBA(r, g, b, a));
|
|
67
|
+
} else {
|
|
68
|
+
const { h, s, l, a } = value;
|
|
69
|
+
return new MonacoColor(new HSLA(h, s, l, a));
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
}
|