monaco-languageclient-examples 2025.6.1 → 2025.6.3
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/CHANGELOG.md +8 -0
- package/dist/appPlayground/common.d.ts +2 -2
- package/dist/appPlayground/common.d.ts.map +1 -1
- package/dist/appPlayground/common.js +2 -3
- package/dist/appPlayground/common.js.map +1 -1
- package/dist/appPlayground/config.d.ts +7 -5
- package/dist/appPlayground/config.d.ts.map +1 -1
- package/dist/appPlayground/config.js +91 -78
- package/dist/appPlayground/config.js.map +1 -1
- package/dist/appPlayground/launcher.js +1 -1
- package/dist/appPlayground/launcher.js.map +1 -1
- package/dist/appPlayground/main.d.ts.map +1 -1
- package/dist/appPlayground/main.js +6 -5
- package/dist/appPlayground/main.js.map +1 -1
- package/dist/appPlayground/reactLauncher.js +1 -1
- package/dist/appPlayground/reactLauncher.js.map +1 -1
- package/dist/appPlayground/reactMain.d.ts.map +1 -1
- package/dist/appPlayground/reactMain.js +3 -4
- package/dist/appPlayground/reactMain.js.map +1 -1
- package/dist/bare/client.d.ts.map +1 -1
- package/dist/bare/client.js +12 -15
- package/dist/bare/client.js.map +1 -1
- package/dist/browser/main.d.ts.map +1 -1
- package/dist/browser/main.js +28 -27
- package/dist/browser/main.js.map +1 -1
- package/dist/clangd/client/config.d.ts +10 -3
- package/dist/clangd/client/config.d.ts.map +1 -1
- package/dist/clangd/client/config.js +85 -85
- package/dist/clangd/client/config.js.map +1 -1
- package/dist/clangd/client/main.d.ts.map +1 -1
- package/dist/clangd/client/main.js +14 -11
- package/dist/clangd/client/main.js.map +1 -1
- package/dist/common/client/extendedClient.d.ts +9 -0
- package/dist/common/client/extendedClient.d.ts.map +1 -0
- package/dist/common/client/extendedClient.js +97 -0
- package/dist/common/client/extendedClient.js.map +1 -0
- package/dist/common/client/utils.d.ts +9 -4
- package/dist/common/client/utils.d.ts.map +1 -1
- package/dist/common/client/utils.js +3 -7
- package/dist/common/client/utils.js.map +1 -1
- package/dist/debugger/client/debugger.d.ts +1 -1
- package/dist/debugger/client/debugger.d.ts.map +1 -1
- package/dist/eclipse.jdt.ls/client/main.d.ts +1 -1
- package/dist/eclipse.jdt.ls/client/main.d.ts.map +1 -1
- package/dist/eclipse.jdt.ls/client/main.js +4 -74
- package/dist/eclipse.jdt.ls/client/main.js.map +1 -1
- package/dist/eclipse.jdt.ls/config.d.ts +2 -5
- package/dist/eclipse.jdt.ls/config.d.ts.map +1 -1
- package/dist/eclipse.jdt.ls/config.js +2 -1
- package/dist/eclipse.jdt.ls/config.js.map +1 -1
- package/dist/groovy/client/main.d.ts +1 -1
- package/dist/groovy/client/main.d.ts.map +1 -1
- package/dist/groovy/client/main.js +4 -63
- package/dist/groovy/client/main.js.map +1 -1
- package/dist/groovy/config.d.ts +2 -5
- package/dist/groovy/config.d.ts.map +1 -1
- package/dist/groovy/config.js +2 -1
- package/dist/groovy/config.js.map +1 -1
- package/dist/json/client/client.d.ts +3 -0
- package/dist/json/client/client.d.ts.map +1 -0
- package/dist/json/client/client.js +13 -0
- package/dist/json/client/client.js.map +1 -0
- package/dist/json/client/config.d.ts +3 -0
- package/dist/json/client/config.d.ts.map +1 -0
- package/dist/json/client/config.js +11 -0
- package/dist/json/client/config.js.map +1 -0
- package/dist/json/server/main.js.map +1 -1
- package/dist/langium/langium-dsl/config/classicConfig.d.ts +2 -2
- package/dist/langium/langium-dsl/config/classicConfig.d.ts.map +1 -1
- package/dist/langium/langium-dsl/config/classicConfig.js +53 -45
- package/dist/langium/langium-dsl/config/classicConfig.js.map +1 -1
- package/dist/langium/langium-dsl/config/extendedConfig.d.ts +2 -2
- package/dist/langium/langium-dsl/config/extendedConfig.d.ts.map +1 -1
- package/dist/langium/langium-dsl/config/extendedConfig.js +40 -40
- package/dist/langium/langium-dsl/config/extendedConfig.js.map +1 -1
- package/dist/langium/langium-dsl/wrapperLangium.d.ts.map +1 -1
- package/dist/langium/langium-dsl/wrapperLangium.js +23 -16
- package/dist/langium/langium-dsl/wrapperLangium.js.map +1 -1
- package/dist/langium/statemachine/config/wrapperStatemachineConfig.d.ts +4 -4
- package/dist/langium/statemachine/config/wrapperStatemachineConfig.d.ts.map +1 -1
- package/dist/langium/statemachine/config/wrapperStatemachineConfig.js +40 -41
- package/dist/langium/statemachine/config/wrapperStatemachineConfig.js.map +1 -1
- package/dist/langium/statemachine/launcher.js +1 -1
- package/dist/langium/statemachine/launcher.js.map +1 -1
- package/dist/langium/statemachine/main-react.js +2 -3
- package/dist/langium/statemachine/main-react.js.map +1 -1
- package/dist/langium/statemachine/main.d.ts.map +1 -1
- package/dist/langium/statemachine/main.js +38 -27
- package/dist/langium/statemachine/main.js.map +1 -1
- package/dist/multi/config.d.ts +1 -1
- package/dist/multi/config.d.ts.map +1 -1
- package/dist/multi/config.js +0 -1
- package/dist/multi/config.js.map +1 -1
- package/dist/multi/twoLanguageClients.d.ts.map +1 -1
- package/dist/multi/twoLanguageClients.js +45 -49
- package/dist/multi/twoLanguageClients.js.map +1 -1
- package/dist/node.d.ts +0 -3
- package/dist/node.d.ts.map +1 -1
- package/dist/node.js +3 -3
- package/dist/node.js.map +1 -1
- package/dist/python/client/config.d.ts +7 -3
- package/dist/python/client/config.d.ts.map +1 -1
- package/dist/python/client/config.js +108 -112
- package/dist/python/client/config.js.map +1 -1
- package/dist/python/client/main.d.ts.map +1 -1
- package/dist/python/client/main.js +16 -10
- package/dist/python/client/main.js.map +1 -1
- package/dist/python/client/reactPython.d.ts.map +1 -1
- package/dist/python/client/reactPython.js +8 -9
- package/dist/python/client/reactPython.js.map +1 -1
- package/dist/ts/wrapperTs.d.ts.map +1 -1
- package/dist/ts/wrapperTs.js +50 -45
- package/dist/ts/wrapperTs.js.map +1 -1
- package/json.html +1 -1
- package/package.json +41 -41
- package/src/appPlayground/common.ts +3 -3
- package/src/appPlayground/config.ts +97 -81
- package/src/appPlayground/launcher.ts +2 -1
- package/src/appPlayground/main.ts +9 -6
- package/src/appPlayground/reactLauncher.ts +2 -1
- package/src/appPlayground/reactMain.tsx +5 -5
- package/src/bare/client.ts +15 -16
- package/src/browser/main.ts +29 -27
- package/src/clangd/client/config.ts +97 -87
- package/src/clangd/client/main.ts +16 -12
- package/src/common/client/extendedClient.ts +111 -0
- package/src/common/client/utils.ts +18 -18
- package/src/debugger/client/debugger.ts +1 -1
- package/src/eclipse.jdt.ls/client/main.ts +4 -78
- package/src/eclipse.jdt.ls/config.ts +6 -2
- package/src/groovy/client/main.ts +4 -65
- package/src/groovy/config.ts +6 -2
- package/src/json/client/client.ts +14 -0
- package/src/json/client/config.ts +13 -0
- package/src/json/server/main.ts +1 -1
- package/src/langium/langium-dsl/config/classicConfig.ts +64 -48
- package/src/langium/langium-dsl/config/extendedConfig.ts +49 -42
- package/src/langium/langium-dsl/wrapperLangium.ts +25 -15
- package/src/langium/statemachine/config/wrapperStatemachineConfig.ts +48 -45
- package/src/langium/statemachine/launcher.ts +1 -1
- package/src/langium/statemachine/main-react.tsx +4 -4
- package/src/langium/statemachine/main.ts +43 -27
- package/src/multi/config.ts +3 -3
- package/src/multi/twoLanguageClients.ts +48 -52
- package/src/node.ts +3 -3
- package/src/python/client/config.ts +116 -114
- package/src/python/client/main.ts +20 -11
- package/src/python/client/reactPython.tsx +11 -10
- package/src/ts/wrapperTs.ts +52 -45
- package/two_langauge_clients.html +0 -1
- package/dist/json/client/wrapperWs.d.ts +0 -5
- package/dist/json/client/wrapperWs.d.ts.map +0 -1
- package/dist/json/client/wrapperWs.js +0 -87
- package/dist/json/client/wrapperWs.js.map +0 -1
- package/src/json/client/wrapperWs.ts +0 -90
package/dist/ts/wrapperTs.js
CHANGED
|
@@ -2,14 +2,15 @@
|
|
|
2
2
|
* Copyright (c) 2024 TypeFox and others.
|
|
3
3
|
* Licensed under the MIT License. See LICENSE in the package root for license information.
|
|
4
4
|
* ------------------------------------------------------------------------------------------ */
|
|
5
|
-
import
|
|
6
|
-
import getKeybindingsServiceOverride from '@codingame/monaco-vscode-keybindings-service-override';
|
|
5
|
+
import { LogLevel } from '@codingame/monaco-vscode-api';
|
|
7
6
|
import '@codingame/monaco-vscode-javascript-default-extension';
|
|
7
|
+
import getKeybindingsServiceOverride from '@codingame/monaco-vscode-keybindings-service-override';
|
|
8
8
|
import '@codingame/monaco-vscode-typescript-basics-default-extension';
|
|
9
9
|
import '@codingame/monaco-vscode-typescript-language-features-default-extension';
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import { configureDefaultWorkerFactory } from 'monaco-
|
|
10
|
+
import { EditorApp } from 'monaco-languageclient/editorApp';
|
|
11
|
+
import { MonacoVscodeApiWrapper } from 'monaco-languageclient/vscodeApiWrapper';
|
|
12
|
+
import { configureDefaultWorkerFactory } from 'monaco-languageclient/workerFactory';
|
|
13
|
+
import * as vscode from 'vscode';
|
|
13
14
|
import { disableElement } from '../common/client/utils.js';
|
|
14
15
|
export const runTsWrapper = async () => {
|
|
15
16
|
const codeUri = '/workspace/hello.ts';
|
|
@@ -20,59 +21,63 @@ export const runTsWrapper = async () => {
|
|
|
20
21
|
const codeOriginal = `function sayGoodbye(): string {
|
|
21
22
|
return "Goodbye";
|
|
22
23
|
};`;
|
|
23
|
-
const
|
|
24
|
+
const htmlContainer = document.getElementById('monaco-editor-root');
|
|
25
|
+
const vscodeApiConfig = {
|
|
24
26
|
$type: 'extended',
|
|
25
|
-
htmlContainer
|
|
27
|
+
htmlContainer,
|
|
26
28
|
logLevel: LogLevel.Debug,
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
29
|
+
serviceOverrides: {
|
|
30
|
+
...getKeybindingsServiceOverride()
|
|
31
|
+
},
|
|
32
|
+
advanced: {
|
|
31
33
|
enableExtHostWorker: true,
|
|
32
|
-
userConfiguration: {
|
|
33
|
-
json: JSON.stringify({
|
|
34
|
-
'workbench.colorTheme': 'Default Dark Modern',
|
|
35
|
-
'typescript.tsserver.web.projectWideIntellisense.enabled': true,
|
|
36
|
-
'typescript.tsserver.web.projectWideIntellisense.suppressSemanticErrors': false,
|
|
37
|
-
'diffEditor.renderSideBySide': false,
|
|
38
|
-
'editor.lightbulb.enabled': 'on',
|
|
39
|
-
'editor.glyphMargin': true,
|
|
40
|
-
'editor.guides.bracketPairsHorizontal': true,
|
|
41
|
-
'editor.experimental.asyncTokenization': true
|
|
42
|
-
})
|
|
43
|
-
}
|
|
44
34
|
},
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
35
|
+
userConfiguration: {
|
|
36
|
+
json: JSON.stringify({
|
|
37
|
+
'workbench.colorTheme': 'Default Dark Modern',
|
|
38
|
+
'typescript.tsserver.web.projectWideIntellisense.enabled': true,
|
|
39
|
+
'typescript.tsserver.web.projectWideIntellisense.suppressSemanticErrors': false,
|
|
40
|
+
'diffEditor.renderSideBySide': false,
|
|
41
|
+
'editor.lightbulb.enabled': 'on',
|
|
42
|
+
'editor.glyphMargin': true,
|
|
43
|
+
'editor.guides.bracketPairsHorizontal': true,
|
|
44
|
+
'editor.experimental.asyncTokenization': true
|
|
45
|
+
})
|
|
46
|
+
},
|
|
47
|
+
monacoWorkerFactory: configureDefaultWorkerFactory
|
|
48
|
+
};
|
|
49
|
+
const editorAppConfig = {
|
|
50
|
+
$type: vscodeApiConfig.$type,
|
|
51
|
+
codeResources: {
|
|
52
|
+
modified: {
|
|
53
|
+
text: code,
|
|
54
|
+
uri: codeUri
|
|
55
55
|
},
|
|
56
|
-
|
|
56
|
+
original: {
|
|
57
|
+
text: codeOriginal,
|
|
58
|
+
uri: codeOriginalUri,
|
|
59
|
+
}
|
|
57
60
|
}
|
|
58
61
|
};
|
|
59
|
-
const
|
|
62
|
+
const apiWrapper = new MonacoVscodeApiWrapper(vscodeApiConfig);
|
|
63
|
+
await apiWrapper.init();
|
|
64
|
+
const editorApp = new EditorApp(editorAppConfig);
|
|
60
65
|
disableElement('button-swap-code', true);
|
|
61
66
|
try {
|
|
62
67
|
document.querySelector('#button-start')?.addEventListener('click', async () => {
|
|
63
|
-
await
|
|
68
|
+
await editorApp.start(htmlContainer);
|
|
64
69
|
vscode.commands.getCommands().then((x) => {
|
|
65
70
|
console.log(`Found ${x.length} commands`);
|
|
66
71
|
const finding = x.find((elem) => elem === 'actions.find');
|
|
67
72
|
console.log(`Found command: ${finding}`);
|
|
68
73
|
});
|
|
69
|
-
|
|
74
|
+
editorApp.getEditor()?.focus();
|
|
70
75
|
await vscode.commands.executeCommand('actions.find');
|
|
71
76
|
});
|
|
72
77
|
document.querySelector('#button-swap-code')?.addEventListener('click', () => {
|
|
73
|
-
const codeResources =
|
|
78
|
+
const codeResources = editorApp.getConfig().codeResources;
|
|
74
79
|
if (codeResources?.modified?.uri === codeUri) {
|
|
75
|
-
|
|
80
|
+
editorApp.updateCodeResources({
|
|
76
81
|
modified: {
|
|
77
82
|
text: codeOriginal,
|
|
78
83
|
uri: codeOriginalUri
|
|
@@ -84,7 +89,7 @@ export const runTsWrapper = async () => {
|
|
|
84
89
|
});
|
|
85
90
|
}
|
|
86
91
|
else {
|
|
87
|
-
|
|
92
|
+
editorApp.updateCodeResources({
|
|
88
93
|
modified: {
|
|
89
94
|
text: code,
|
|
90
95
|
uri: codeUri
|
|
@@ -98,13 +103,13 @@ export const runTsWrapper = async () => {
|
|
|
98
103
|
});
|
|
99
104
|
document.querySelector('#button-diff')?.addEventListener('click', async () => {
|
|
100
105
|
// ensure it is boolean value and not undefined
|
|
101
|
-
const useDiffEditor =
|
|
102
|
-
|
|
103
|
-
disableElement('button-swap-code', !
|
|
104
|
-
await
|
|
106
|
+
const useDiffEditor = editorAppConfig.useDiffEditor ?? false;
|
|
107
|
+
editorAppConfig.useDiffEditor = !useDiffEditor;
|
|
108
|
+
disableElement('button-swap-code', !editorAppConfig.useDiffEditor);
|
|
109
|
+
await editorApp.start(htmlContainer);
|
|
105
110
|
});
|
|
106
111
|
document.querySelector('#button-dispose')?.addEventListener('click', async () => {
|
|
107
|
-
await
|
|
112
|
+
await editorApp.dispose();
|
|
108
113
|
});
|
|
109
114
|
}
|
|
110
115
|
catch (e) {
|
package/dist/ts/wrapperTs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wrapperTs.js","sourceRoot":"","sources":["../../src/ts/wrapperTs.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAEhG,OAAO,
|
|
1
|
+
{"version":3,"file":"wrapperTs.js","sourceRoot":"","sources":["../../src/ts/wrapperTs.ts"],"names":[],"mappings":"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"}
|
package/json.html
CHANGED
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
</div>
|
|
18
18
|
<div id="monaco-editor-root" style="height: 80vh;"></div>
|
|
19
19
|
<script type="module">
|
|
20
|
-
import { runJsonWrapper } from './src/json/client/
|
|
20
|
+
import { runJsonWrapper } from './src/json/client/client.ts';
|
|
21
21
|
|
|
22
22
|
runJsonWrapper();
|
|
23
23
|
</script>
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "monaco-languageclient-examples",
|
|
3
|
-
"version": "2025.6.
|
|
3
|
+
"version": "2025.6.3",
|
|
4
4
|
"description": "Monaco Language client examples",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "TypeFox GmbH",
|
|
@@ -82,65 +82,65 @@
|
|
|
82
82
|
"LICENSE"
|
|
83
83
|
],
|
|
84
84
|
"dependencies": {
|
|
85
|
-
"@codingame/monaco-vscode-configuration-service-override": "~
|
|
86
|
-
"@codingame/monaco-vscode-cpp-default-extension": "~
|
|
87
|
-
"@codingame/monaco-vscode-debug-service-override": "~
|
|
88
|
-
"@codingame/monaco-vscode-editor-api": "~
|
|
89
|
-
"@codingame/monaco-vscode-environment-service-override": "~
|
|
90
|
-
"@codingame/monaco-vscode-explorer-service-override": "~
|
|
91
|
-
"@codingame/monaco-vscode-files-service-override": "~
|
|
92
|
-
"@codingame/monaco-vscode-groovy-default-extension": "~
|
|
93
|
-
"@codingame/monaco-vscode-java-default-extension": "~
|
|
94
|
-
"@codingame/monaco-vscode-javascript-default-extension": "~
|
|
95
|
-
"@codingame/monaco-vscode-json-default-extension": "~
|
|
96
|
-
"@codingame/monaco-vscode-keybindings-service-override": "~
|
|
97
|
-
"@codingame/monaco-vscode-lifecycle-service-override": "~
|
|
98
|
-
"@codingame/monaco-vscode-localization-service-override": "~
|
|
99
|
-
"@codingame/monaco-vscode-preferences-service-override": "~
|
|
100
|
-
"@codingame/monaco-vscode-python-default-extension": "~
|
|
101
|
-
"@codingame/monaco-vscode-remote-agent-service-override": "~
|
|
102
|
-
"@codingame/monaco-vscode-search-result-default-extension": "~
|
|
103
|
-
"@codingame/monaco-vscode-search-service-override": "~
|
|
104
|
-
"@codingame/monaco-vscode-secret-storage-service-override": "~
|
|
105
|
-
"@codingame/monaco-vscode-standalone-json-language-features": "~
|
|
106
|
-
"@codingame/monaco-vscode-standalone-typescript-language-features": "~
|
|
107
|
-
"@codingame/monaco-vscode-testing-service-override": "~
|
|
108
|
-
"@codingame/monaco-vscode-storage-service-override": "~
|
|
109
|
-
"@codingame/monaco-vscode-textmate-service-override": "~
|
|
110
|
-
"@codingame/monaco-vscode-theme-defaults-default-extension": "~
|
|
111
|
-
"@codingame/monaco-vscode-theme-service-override": "~
|
|
112
|
-
"@codingame/monaco-vscode-typescript-basics-default-extension": "~
|
|
113
|
-
"@codingame/monaco-vscode-typescript-language-features-default-extension": "~
|
|
114
|
-
"@codingame/monaco-vscode-views-service-override": "~
|
|
115
|
-
"@
|
|
116
|
-
"
|
|
85
|
+
"@codingame/monaco-vscode-configuration-service-override": "~18.2.0",
|
|
86
|
+
"@codingame/monaco-vscode-cpp-default-extension": "~18.2.0",
|
|
87
|
+
"@codingame/monaco-vscode-debug-service-override": "~18.2.0",
|
|
88
|
+
"@codingame/monaco-vscode-editor-api": "~18.2.0",
|
|
89
|
+
"@codingame/monaco-vscode-environment-service-override": "~18.2.0",
|
|
90
|
+
"@codingame/monaco-vscode-explorer-service-override": "~18.2.0",
|
|
91
|
+
"@codingame/monaco-vscode-files-service-override": "~18.2.0",
|
|
92
|
+
"@codingame/monaco-vscode-groovy-default-extension": "~18.2.0",
|
|
93
|
+
"@codingame/monaco-vscode-java-default-extension": "~18.2.0",
|
|
94
|
+
"@codingame/monaco-vscode-javascript-default-extension": "~18.2.0",
|
|
95
|
+
"@codingame/monaco-vscode-json-default-extension": "~18.2.0",
|
|
96
|
+
"@codingame/monaco-vscode-keybindings-service-override": "~18.2.0",
|
|
97
|
+
"@codingame/monaco-vscode-lifecycle-service-override": "~18.2.0",
|
|
98
|
+
"@codingame/monaco-vscode-localization-service-override": "~18.2.0",
|
|
99
|
+
"@codingame/monaco-vscode-preferences-service-override": "~18.2.0",
|
|
100
|
+
"@codingame/monaco-vscode-python-default-extension": "~18.2.0",
|
|
101
|
+
"@codingame/monaco-vscode-remote-agent-service-override": "~18.2.0",
|
|
102
|
+
"@codingame/monaco-vscode-search-result-default-extension": "~18.2.0",
|
|
103
|
+
"@codingame/monaco-vscode-search-service-override": "~18.2.0",
|
|
104
|
+
"@codingame/monaco-vscode-secret-storage-service-override": "~18.2.0",
|
|
105
|
+
"@codingame/monaco-vscode-standalone-json-language-features": "~18.2.0",
|
|
106
|
+
"@codingame/monaco-vscode-standalone-typescript-language-features": "~18.2.0",
|
|
107
|
+
"@codingame/monaco-vscode-testing-service-override": "~18.2.0",
|
|
108
|
+
"@codingame/monaco-vscode-storage-service-override": "~18.2.0",
|
|
109
|
+
"@codingame/monaco-vscode-textmate-service-override": "~18.2.0",
|
|
110
|
+
"@codingame/monaco-vscode-theme-defaults-default-extension": "~18.2.0",
|
|
111
|
+
"@codingame/monaco-vscode-theme-service-override": "~18.2.0",
|
|
112
|
+
"@codingame/monaco-vscode-typescript-basics-default-extension": "~18.2.0",
|
|
113
|
+
"@codingame/monaco-vscode-typescript-language-features-default-extension": "~18.2.0",
|
|
114
|
+
"@codingame/monaco-vscode-views-service-override": "~18.2.0",
|
|
115
|
+
"@codingame/monaco-vscode-outline-service-override": "~18.2.0",
|
|
116
|
+
"@typefox/monaco-editor-react": "~7.0.0-next.0",
|
|
117
|
+
"cors": "~2.8.5",
|
|
117
118
|
"express": "~5.1.0",
|
|
118
119
|
"jszip": "~3.10.1",
|
|
119
120
|
"langium": "~3.5.0",
|
|
120
|
-
"monaco-
|
|
121
|
-
"monaco-languageclient": "~9.7.1",
|
|
121
|
+
"monaco-languageclient": "~10.0.0-next.0",
|
|
122
122
|
"pyright": "~1.1.402",
|
|
123
123
|
"react": "~19.1.0",
|
|
124
124
|
"react-dom": "~19.1.0",
|
|
125
125
|
"request-light": "~0.8.0",
|
|
126
|
-
"vscode": "npm:@codingame/monaco-vscode-extension-api@~
|
|
127
|
-
"vscode-json-languageservice": "~5.6.
|
|
126
|
+
"vscode": "npm:@codingame/monaco-vscode-extension-api@~18.2.0",
|
|
127
|
+
"vscode-json-languageservice": "~5.6.1",
|
|
128
128
|
"vscode-languageclient": "~9.0.1",
|
|
129
129
|
"vscode-languageserver": "~9.0.1",
|
|
130
130
|
"vscode-uri": "~3.1.0",
|
|
131
131
|
"vscode-ws-jsonrpc": "~3.4.0",
|
|
132
|
-
"ws": "~8.18.
|
|
132
|
+
"ws": "~8.18.3",
|
|
133
133
|
"wtd-core": "~4.0.1"
|
|
134
134
|
},
|
|
135
135
|
"devDependencies": {
|
|
136
|
-
"@types/cors": "
|
|
136
|
+
"@types/cors": "~2.8.19",
|
|
137
137
|
"@types/emscripten": "~1.40.1",
|
|
138
138
|
"@types/express": "~5.0.3",
|
|
139
139
|
"@types/ws": "~8.18.1",
|
|
140
|
-
"langium-cli": "~3.5.
|
|
140
|
+
"langium-cli": "~3.5.2",
|
|
141
141
|
"mini-coi": "~0.4.2",
|
|
142
142
|
"ts-node": "~10.9.1",
|
|
143
|
-
"vite-plugin-static-copy": "~3.0
|
|
143
|
+
"vite-plugin-static-copy": "~3.1.0",
|
|
144
144
|
"vscode-languageserver-types": "~3.17.5"
|
|
145
145
|
},
|
|
146
146
|
"scripts": {
|
|
@@ -5,11 +5,11 @@
|
|
|
5
5
|
|
|
6
6
|
import * as vscode from 'vscode';
|
|
7
7
|
import type { RegisterLocalProcessExtensionResult } from '@codingame/monaco-vscode-api/extensions';
|
|
8
|
-
import { MonacoEditorLanguageClientWrapper } from 'monaco-editor-wrapper';
|
|
9
8
|
import type { ConfigResult } from './config.js';
|
|
9
|
+
import type { MonacoVscodeApiWrapper } from 'monaco-languageclient/vscodeApiWrapper';
|
|
10
10
|
|
|
11
|
-
export const configurePostStart = async (
|
|
12
|
-
const result =
|
|
11
|
+
export const configurePostStart = async (apiWrapper: MonacoVscodeApiWrapper, configResult: ConfigResult) => {
|
|
12
|
+
const result = apiWrapper.getExtensionRegisterResult('mlc-app-playground') as RegisterLocalProcessExtensionResult;
|
|
13
13
|
result.setAsDefaultApi();
|
|
14
14
|
|
|
15
15
|
// WA: Force show explorer and not search
|
|
@@ -3,109 +3,108 @@
|
|
|
3
3
|
* Licensed under the MIT License. See LICENSE in the package root for license information.
|
|
4
4
|
* ------------------------------------------------------------------------------------------ */
|
|
5
5
|
|
|
6
|
-
import * as vscode from 'vscode';
|
|
7
6
|
import { LogLevel } from '@codingame/monaco-vscode-api';
|
|
8
|
-
import
|
|
7
|
+
import getEnvironmentServiceOverride from '@codingame/monaco-vscode-environment-service-override';
|
|
8
|
+
import getExplorerServiceOverride from '@codingame/monaco-vscode-explorer-service-override';
|
|
9
|
+
import { InMemoryFileSystemProvider, registerFileSystemOverlay, type IFileWriteOptions } from '@codingame/monaco-vscode-files-service-override';
|
|
9
10
|
import getKeybindingsServiceOverride from '@codingame/monaco-vscode-keybindings-service-override';
|
|
10
11
|
import getLifecycleServiceOverride from '@codingame/monaco-vscode-lifecycle-service-override';
|
|
11
12
|
import getLocalizationServiceOverride from '@codingame/monaco-vscode-localization-service-override';
|
|
12
|
-
import
|
|
13
|
-
import getStatusBarServiceOverride from '@codingame/monaco-vscode-view-status-bar-service-override';
|
|
14
|
-
import getTitleBarServiceOverride from '@codingame/monaco-vscode-view-title-bar-service-override';
|
|
15
|
-
import getExplorerServiceOverride from '@codingame/monaco-vscode-explorer-service-override';
|
|
13
|
+
import getOutlineServiceOverride from '@codingame/monaco-vscode-outline-service-override';
|
|
16
14
|
import getRemoteAgentServiceOverride from '@codingame/monaco-vscode-remote-agent-service-override';
|
|
17
|
-
import
|
|
15
|
+
import getSearchServiceOverride from '@codingame/monaco-vscode-search-service-override';
|
|
18
16
|
import getSecretStorageServiceOverride from '@codingame/monaco-vscode-secret-storage-service-override';
|
|
19
17
|
import getStorageServiceOverride from '@codingame/monaco-vscode-storage-service-override';
|
|
20
|
-
import
|
|
18
|
+
import getBannerServiceOverride from '@codingame/monaco-vscode-view-banner-service-override';
|
|
19
|
+
import getStatusBarServiceOverride from '@codingame/monaco-vscode-view-status-bar-service-override';
|
|
20
|
+
import getTitleBarServiceOverride from '@codingame/monaco-vscode-view-title-bar-service-override';
|
|
21
|
+
import * as vscode from 'vscode';
|
|
21
22
|
|
|
22
23
|
// this is required syntax highlighting
|
|
24
|
+
import '@codingame/monaco-vscode-search-result-default-extension';
|
|
23
25
|
import '@codingame/monaco-vscode-typescript-basics-default-extension';
|
|
24
26
|
import '@codingame/monaco-vscode-typescript-language-features-default-extension';
|
|
25
|
-
import '@codingame/monaco-vscode-search-result-default-extension';
|
|
26
27
|
|
|
27
28
|
import '../../resources/vsix/open-collaboration-tools.vsix';
|
|
28
29
|
|
|
29
|
-
import {
|
|
30
|
-
import {
|
|
31
|
-
import {
|
|
32
|
-
import {
|
|
30
|
+
import { defaultHtmlAugmentationInstructions, defaultViewsInit, type MonacoVscodeApiConfig } from 'monaco-languageclient/vscodeApiWrapper';
|
|
31
|
+
import type { EditorAppConfig } from 'monaco-languageclient/editorApp';
|
|
32
|
+
import { createDefaultLocaleConfiguration } from 'monaco-languageclient/vscodeApiLocales';
|
|
33
|
+
import { configureDefaultWorkerFactory } from 'monaco-languageclient/workerFactory';
|
|
33
34
|
import helloTsCode from '../../resources/appPlayground/hello.ts?raw';
|
|
34
35
|
import testerTsCode from '../../resources/appPlayground/tester.ts?raw';
|
|
35
|
-
import
|
|
36
|
+
import { createDefaultWorkspaceContent } from '../common/client/utils.js';
|
|
36
37
|
|
|
37
38
|
export type ConfigResult = {
|
|
38
|
-
|
|
39
|
-
|
|
39
|
+
vscodeApiConfig: MonacoVscodeApiConfig;
|
|
40
|
+
editorAppConfig: EditorAppConfig
|
|
41
|
+
workspaceFileUri: vscode.Uri;
|
|
40
42
|
helloTsUri: vscode.Uri;
|
|
41
43
|
testerTsUri: vscode.Uri;
|
|
42
44
|
};
|
|
43
45
|
|
|
44
|
-
export const configure = (htmlContainer?: HTMLElement): ConfigResult => {
|
|
45
|
-
const
|
|
46
|
+
export const configure = async (htmlContainer?: HTMLElement): Promise<ConfigResult> => {
|
|
47
|
+
const workspaceFileUri = vscode.Uri.file('/workspace.code-workspace');
|
|
46
48
|
|
|
47
|
-
const
|
|
49
|
+
const vscodeApiConfig: MonacoVscodeApiConfig = {
|
|
48
50
|
$type: 'extended',
|
|
49
|
-
id: 'AAP',
|
|
50
51
|
logLevel: LogLevel.Debug,
|
|
51
52
|
htmlContainer,
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
53
|
+
serviceOverrides: {
|
|
54
|
+
...getKeybindingsServiceOverride(),
|
|
55
|
+
...getLifecycleServiceOverride(),
|
|
56
|
+
...getLocalizationServiceOverride(createDefaultLocaleConfiguration()),
|
|
57
|
+
...getBannerServiceOverride(),
|
|
58
|
+
...getStatusBarServiceOverride(),
|
|
59
|
+
...getTitleBarServiceOverride(),
|
|
60
|
+
...getExplorerServiceOverride(),
|
|
61
|
+
...getRemoteAgentServiceOverride(),
|
|
62
|
+
...getEnvironmentServiceOverride(),
|
|
63
|
+
...getSecretStorageServiceOverride(),
|
|
64
|
+
...getStorageServiceOverride(),
|
|
65
|
+
...getSearchServiceOverride(),
|
|
66
|
+
...getOutlineServiceOverride()
|
|
67
|
+
},
|
|
68
|
+
viewsConfig: {
|
|
69
|
+
viewServiceType: 'ViewsService',
|
|
70
|
+
htmlAugmentationInstructions: defaultHtmlAugmentationInstructions,
|
|
71
|
+
viewsInitFunc: defaultViewsInit
|
|
72
|
+
},
|
|
73
|
+
workspaceConfig: {
|
|
74
|
+
enableWorkspaceTrust: true,
|
|
75
|
+
windowIndicator: {
|
|
76
|
+
label: 'mlc-app-playground',
|
|
77
|
+
tooltip: '',
|
|
78
|
+
command: ''
|
|
72
79
|
},
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
command: ''
|
|
79
|
-
},
|
|
80
|
-
workspaceProvider: {
|
|
81
|
-
trusted: true,
|
|
82
|
-
async open() {
|
|
83
|
-
window.open(window.location.href);
|
|
84
|
-
return true;
|
|
85
|
-
},
|
|
86
|
-
workspace: {
|
|
87
|
-
workspaceUri: workspaceFile
|
|
88
|
-
}
|
|
80
|
+
workspaceProvider: {
|
|
81
|
+
trusted: true,
|
|
82
|
+
async open() {
|
|
83
|
+
window.open(window.location.href);
|
|
84
|
+
return true;
|
|
89
85
|
},
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
},
|
|
93
|
-
productConfiguration: {
|
|
94
|
-
nameShort: 'mlc-app-playground',
|
|
95
|
-
nameLong: 'mlc-app-playground'
|
|
86
|
+
workspace: {
|
|
87
|
+
workspaceUri: workspaceFileUri
|
|
96
88
|
}
|
|
97
89
|
},
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
'workbench.colorTheme': 'Default Dark Modern',
|
|
101
|
-
'editor.wordBasedSuggestions': 'off',
|
|
102
|
-
'typescript.tsserver.web.projectWideIntellisense.enabled': true,
|
|
103
|
-
'typescript.tsserver.web.projectWideIntellisense.suppressSemanticErrors': false,
|
|
104
|
-
'editor.guides.bracketPairsHorizontal': true,
|
|
105
|
-
'oct.serverUrl': 'https://api.open-collab.tools/',
|
|
106
|
-
'editor.experimental.asyncTokenization': false
|
|
107
|
-
})
|
|
90
|
+
configurationDefaults: {
|
|
91
|
+
'window.title': 'mlc-app-playground${separator}${dirty}${activeEditorShort}'
|
|
108
92
|
},
|
|
93
|
+
productConfiguration: {
|
|
94
|
+
nameShort: 'mlc-app-playground',
|
|
95
|
+
nameLong: 'mlc-app-playground'
|
|
96
|
+
}
|
|
97
|
+
},
|
|
98
|
+
userConfiguration: {
|
|
99
|
+
json: JSON.stringify({
|
|
100
|
+
'workbench.colorTheme': 'Default Dark Modern',
|
|
101
|
+
'editor.wordBasedSuggestions': 'off',
|
|
102
|
+
'typescript.tsserver.web.projectWideIntellisense.enabled': true,
|
|
103
|
+
'typescript.tsserver.web.projectWideIntellisense.suppressSemanticErrors': false,
|
|
104
|
+
'editor.guides.bracketPairsHorizontal': true,
|
|
105
|
+
'oct.serverUrl': 'https://api.open-collab.tools/',
|
|
106
|
+
'editor.experimental.asyncTokenization': false
|
|
107
|
+
})
|
|
109
108
|
},
|
|
110
109
|
extensions: [{
|
|
111
110
|
config: {
|
|
@@ -117,22 +116,39 @@ export const configure = (htmlContainer?: HTMLElement): ConfigResult => {
|
|
|
117
116
|
}
|
|
118
117
|
}
|
|
119
118
|
}],
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
}
|
|
119
|
+
advanced: {
|
|
120
|
+
enableExtHostWorker: true,
|
|
121
|
+
},
|
|
122
|
+
monacoWorkerFactory: configureDefaultWorkerFactory
|
|
123
|
+
};
|
|
124
|
+
|
|
125
|
+
const editorAppConfig: EditorAppConfig = {
|
|
126
|
+
$type: vscodeApiConfig.$type,
|
|
127
|
+
id: 'AAP',
|
|
123
128
|
};
|
|
124
129
|
|
|
130
|
+
const workspaceUri = vscode.Uri.file('/workspace');
|
|
125
131
|
const helloTsUri = vscode.Uri.file('/workspace/hello.ts');
|
|
126
132
|
const testerTsUri = vscode.Uri.file('/workspace/tester.ts');
|
|
127
|
-
const fileSystemProvider = new
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
133
|
+
const fileSystemProvider = new InMemoryFileSystemProvider();
|
|
134
|
+
const textEncoder = new TextEncoder();
|
|
135
|
+
|
|
136
|
+
const options: IFileWriteOptions = {
|
|
137
|
+
atomic: false,
|
|
138
|
+
unlock: false,
|
|
139
|
+
create: true,
|
|
140
|
+
overwrite: true
|
|
141
|
+
};
|
|
142
|
+
await fileSystemProvider.mkdir(workspaceUri);
|
|
143
|
+
await fileSystemProvider.writeFile(helloTsUri, textEncoder.encode(helloTsCode), options);
|
|
144
|
+
await fileSystemProvider.writeFile(testerTsUri, textEncoder.encode(testerTsCode), options);
|
|
145
|
+
await fileSystemProvider.writeFile(workspaceFileUri, textEncoder.encode(createDefaultWorkspaceContent('/workspace')), options);
|
|
131
146
|
registerFileSystemOverlay(1, fileSystemProvider);
|
|
132
147
|
|
|
133
148
|
return {
|
|
134
|
-
|
|
135
|
-
|
|
149
|
+
vscodeApiConfig,
|
|
150
|
+
editorAppConfig,
|
|
151
|
+
workspaceFileUri,
|
|
136
152
|
helloTsUri,
|
|
137
153
|
testerTsUri
|
|
138
154
|
};
|
|
@@ -3,7 +3,8 @@
|
|
|
3
3
|
* Licensed under the MIT License. See LICENSE in the package root for license information.
|
|
4
4
|
* ------------------------------------------------------------------------------------------ */
|
|
5
5
|
|
|
6
|
-
import { initLocaleLoader } from 'monaco-
|
|
6
|
+
import { initLocaleLoader } from 'monaco-languageclient/vscodeApiLocales';
|
|
7
|
+
|
|
7
8
|
await initLocaleLoader();
|
|
8
9
|
|
|
9
10
|
const { runApplicationPlayground } = await import('./main.js');
|
|
@@ -3,16 +3,19 @@
|
|
|
3
3
|
* Licensed under the MIT License. See LICENSE in the package root for license information.
|
|
4
4
|
* ------------------------------------------------------------------------------------------ */
|
|
5
5
|
|
|
6
|
-
import { MonacoEditorLanguageClientWrapper } from 'monaco-editor-wrapper';
|
|
7
6
|
import { configure } from './config.js';
|
|
8
7
|
import { configurePostStart } from './common.js';
|
|
9
8
|
import { disableElement } from '../common/client/utils.js';
|
|
10
|
-
|
|
11
|
-
const wrapper = new MonacoEditorLanguageClientWrapper();
|
|
9
|
+
import { MonacoVscodeApiWrapper } from 'monaco-languageclient/vscodeApiWrapper';
|
|
12
10
|
|
|
13
11
|
export const runApplicationPlayground = async () => {
|
|
14
12
|
disableElement('button-start', true);
|
|
15
|
-
|
|
16
|
-
await
|
|
17
|
-
|
|
13
|
+
|
|
14
|
+
const configResult = await configure(document.body);
|
|
15
|
+
|
|
16
|
+
// perform global init
|
|
17
|
+
const apiWrapper = new MonacoVscodeApiWrapper(configResult.vscodeApiConfig);
|
|
18
|
+
await apiWrapper.init();
|
|
19
|
+
|
|
20
|
+
await configurePostStart(apiWrapper, configResult);
|
|
18
21
|
};
|
|
@@ -3,7 +3,8 @@
|
|
|
3
3
|
* Licensed under the MIT License. See LICENSE in the package root for license information.
|
|
4
4
|
* ------------------------------------------------------------------------------------------ */
|
|
5
5
|
|
|
6
|
-
import { initLocaleLoader } from 'monaco-
|
|
6
|
+
import { initLocaleLoader } from 'monaco-languageclient/vscodeApiLocales';
|
|
7
|
+
|
|
7
8
|
await initLocaleLoader();
|
|
8
9
|
|
|
9
10
|
const { runApplicationPlaygroundReact } = await import('./reactMain.js');
|
|
@@ -5,22 +5,22 @@
|
|
|
5
5
|
|
|
6
6
|
import React from 'react';
|
|
7
7
|
import ReactDOM from 'react-dom/client';
|
|
8
|
-
import { MonacoEditorLanguageClientWrapper } from 'monaco-editor-wrapper';
|
|
9
8
|
import { MonacoEditorReactComp } from '@typefox/monaco-editor-react';
|
|
10
9
|
import { configure } from './config.js';
|
|
11
10
|
import { configurePostStart } from './common.js';
|
|
12
11
|
|
|
13
12
|
export const runApplicationPlaygroundReact = async () => {
|
|
14
13
|
|
|
15
|
-
const configResult = configure();
|
|
14
|
+
const configResult = await configure();
|
|
16
15
|
const root = ReactDOM.createRoot(document.getElementById('react-root')!);
|
|
17
16
|
const App = () => {
|
|
18
17
|
return (
|
|
19
18
|
<div style={{ 'backgroundColor': '#1f1f1f' }}>
|
|
20
19
|
<MonacoEditorReactComp
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
20
|
+
vscodeApiConfig={configResult.vscodeApiConfig}
|
|
21
|
+
editorAppConfig={configResult.editorAppConfig}
|
|
22
|
+
onVscodeApiInitDone={async (apiWrapper) => {
|
|
23
|
+
await configurePostStart(apiWrapper, configResult);
|
|
24
24
|
}}
|
|
25
25
|
onError={(e) => {
|
|
26
26
|
console.error(e);
|