monaco-languageclient-examples 8.0.0-next.3 → 8.0.0-next.5
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/browser.html +1 -1
- package/dist/browser/main.d.ts +0 -29
- package/dist/browser/main.d.ts.map +1 -1
- package/dist/browser/main.js +36 -144
- package/dist/browser/main.js.map +1 -1
- package/dist/common/example-apps-common.js +1 -1
- package/dist/common/example-apps-common.js.map +1 -1
- package/dist/json/client/wrapperWs.js +5 -5
- package/dist/json/client/wrapperWs.js.map +1 -1
- package/dist/langium/statemachine/main-react.js +2 -2
- package/dist/langium/statemachine/main-react.js.map +1 -1
- package/dist/langium/statemachine/main.d.ts +1 -1
- package/dist/langium/statemachine/main.d.ts.map +1 -1
- package/dist/langium/statemachine/main.js +2 -2
- package/dist/langium/statemachine/main.js.map +1 -1
- package/dist/python/client/reactPython.d.ts.map +1 -1
- package/dist/python/client/reactPython.js +5 -1
- package/dist/python/client/reactPython.js.map +1 -1
- package/dist/ts/wrapperTs.d.ts +0 -1
- package/dist/ts/wrapperTs.d.ts.map +1 -1
- package/dist/ts/wrapperTs.js +17 -14
- package/dist/ts/wrapperTs.js.map +1 -1
- package/dist/utils/localeLoader.d.ts +1 -1
- package/dist/utils/localeLoader.d.ts.map +1 -1
- package/dist/utils/localeLoader.js +20 -21
- package/dist/utils/localeLoader.js.map +1 -1
- package/package.json +24 -25
- package/src/browser/main.ts +39 -174
- package/src/common/example-apps-common.ts +1 -1
- package/src/json/client/wrapperWs.ts +5 -5
- package/src/langium/statemachine/main-react.tsx +2 -2
- package/src/langium/statemachine/main.ts +2 -2
- package/src/python/client/reactPython.tsx +6 -0
- package/src/ts/wrapperTs.ts +22 -16
- package/src/utils/localeLoader.ts +19 -21
- package/wrapper_statemachine.html +1 -2
package/browser.html
CHANGED
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
|
|
11
11
|
<body>
|
|
12
12
|
<h2>Monaco Language Client Browser Sample</h2>
|
|
13
|
-
<div id="
|
|
13
|
+
<div id="monaco-editor-root" style="width:800px;height:600px;border:1px solid grey"></div>
|
|
14
14
|
<script type="module">
|
|
15
15
|
import { configureMonacoWorkers, runBrowserEditor } from "./src/browser/main.ts";
|
|
16
16
|
|
package/dist/browser/main.d.ts
CHANGED
|
@@ -1,34 +1,5 @@
|
|
|
1
|
-
import * as monaco from '@codingame/monaco-vscode-editor-api';
|
|
2
|
-
import * as vscode from 'vscode';
|
|
3
|
-
import { IReference, ITextFileEditorModel } from 'vscode/monaco';
|
|
4
|
-
import { MonacoLanguageClient } from 'monaco-languageclient';
|
|
5
1
|
import '@codingame/monaco-vscode-theme-defaults-default-extension';
|
|
6
2
|
import '@codingame/monaco-vscode-json-default-extension';
|
|
7
|
-
import { MessageTransports } from 'vscode-languageclient';
|
|
8
3
|
export declare const configureMonacoWorkers: () => void;
|
|
9
|
-
export declare const startJsonClient: () => Promise<void>;
|
|
10
|
-
export declare const createLanguageClient: (transports: MessageTransports, languageId: string) => MonacoLanguageClient;
|
|
11
|
-
/** parameterized version , support all languageId */
|
|
12
|
-
export declare const initWebSocketAndStartClient: (url: string, languageId: string) => WebSocket;
|
|
13
|
-
/** backwards compatible wrapper for legacy version, only support json as languageId */
|
|
14
|
-
export declare const createWebSocketAndStartClient: (url: string) => WebSocket;
|
|
15
|
-
export declare const createDefaultJsonContent: () => string;
|
|
16
|
-
export declare const performInit: (vscodeApiInit: boolean) => Promise<void>;
|
|
17
|
-
export type ExampleJsonEditor = {
|
|
18
|
-
languageId: string;
|
|
19
|
-
editor: monaco.editor.IStandaloneCodeEditor;
|
|
20
|
-
uri: vscode.Uri;
|
|
21
|
-
modelRef: IReference<ITextFileEditorModel>;
|
|
22
|
-
};
|
|
23
|
-
export declare const doInit: (vscodeApiInit: boolean, registerConfig: monaco.languages.ILanguageExtensionPoint) => Promise<void>;
|
|
24
|
-
export declare const createMonacoEditor: (config: {
|
|
25
|
-
htmlElement: HTMLElement;
|
|
26
|
-
content: string;
|
|
27
|
-
languageId: string;
|
|
28
|
-
}) => Promise<ExampleJsonEditor>;
|
|
29
|
-
export declare const createJsonEditor: (config: {
|
|
30
|
-
htmlElement: HTMLElement;
|
|
31
|
-
content: string;
|
|
32
|
-
}) => Promise<ExampleJsonEditor>;
|
|
33
4
|
export declare const runBrowserEditor: () => Promise<void>;
|
|
34
5
|
//# sourceMappingURL=main.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../src/browser/main.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../src/browser/main.ts"],"names":[],"mappings":"AAOA,OAAO,2DAA2D,CAAC;AACnE,OAAO,iDAAiD,CAAC;AAQzD,eAAO,MAAM,sBAAsB,YAIlC,CAAC;AAEF,eAAO,MAAM,gBAAgB,qBA+I5B,CAAC"}
|
package/dist/browser/main.js
CHANGED
|
@@ -2,169 +2,60 @@
|
|
|
2
2
|
* Copyright (c) 2024 TypeFox GmbH (http://www.typefox.io). All rights reserved.
|
|
3
3
|
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
4
4
|
* ------------------------------------------------------------------------------------------ */
|
|
5
|
-
import * as monaco from '@codingame/monaco-vscode-editor-api';
|
|
6
5
|
import * as vscode from 'vscode';
|
|
7
|
-
import { createConfiguredEditor, createModelReference } from 'vscode/monaco';
|
|
8
|
-
import { MonacoLanguageClient } from 'monaco-languageclient';
|
|
9
|
-
import { initServices } from 'monaco-editor-wrapper/vscode/services';
|
|
10
|
-
import getConfigurationServiceOverride from '@codingame/monaco-vscode-configuration-service-override';
|
|
11
6
|
import getKeybindingsServiceOverride from '@codingame/monaco-vscode-keybindings-service-override';
|
|
12
|
-
import getThemeServiceOverride from '@codingame/monaco-vscode-theme-service-override';
|
|
13
|
-
import getTextmateServiceOverride from '@codingame/monaco-vscode-textmate-service-override';
|
|
14
7
|
import '@codingame/monaco-vscode-theme-defaults-default-extension';
|
|
15
8
|
import '@codingame/monaco-vscode-json-default-extension';
|
|
16
9
|
import { getLanguageService, TextDocument } from 'vscode-json-languageservice';
|
|
17
10
|
import { createConverter as createCodeConverter } from 'vscode-languageclient/lib/common/codeConverter.js';
|
|
18
11
|
import { createConverter as createProtocolConverter } from 'vscode-languageclient/lib/common/protocolConverter.js';
|
|
19
|
-
import {
|
|
20
|
-
import { createUrl } from 'monaco-editor-wrapper';
|
|
21
|
-
import { CloseAction, ErrorAction } from 'vscode-languageclient';
|
|
12
|
+
import { MonacoEditorLanguageClientWrapper } from 'monaco-editor-wrapper';
|
|
22
13
|
import { useWorkerFactory } from 'monaco-editor-wrapper/workerFactory';
|
|
14
|
+
import { Uri } from 'monaco-editor';
|
|
23
15
|
export const configureMonacoWorkers = () => {
|
|
24
16
|
useWorkerFactory({
|
|
25
17
|
basePath: '../../../node_modules'
|
|
26
18
|
});
|
|
27
19
|
};
|
|
28
|
-
const
|
|
29
|
-
const
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
content: createDefaultJsonContent()
|
|
36
|
-
});
|
|
37
|
-
const url = createUrl({
|
|
38
|
-
$type: 'WebSocket',
|
|
39
|
-
secured: false,
|
|
40
|
-
host: 'localhost',
|
|
41
|
-
port: 30000,
|
|
42
|
-
path: '/sampleServer'
|
|
43
|
-
});
|
|
44
|
-
createWebSocketAndStartClient(url);
|
|
45
|
-
};
|
|
46
|
-
export const createLanguageClient = (transports, languageId) => {
|
|
47
|
-
return new MonacoLanguageClient({
|
|
48
|
-
name: 'Sample Language Client',
|
|
49
|
-
clientOptions: {
|
|
50
|
-
// use a language id as a document selector
|
|
51
|
-
documentSelector: [languageId],
|
|
52
|
-
// disable the default error handler
|
|
53
|
-
errorHandler: {
|
|
54
|
-
error: () => ({ action: ErrorAction.Continue }),
|
|
55
|
-
closed: () => ({ action: CloseAction.DoNotRestart })
|
|
56
|
-
}
|
|
57
|
-
},
|
|
58
|
-
// create a language client connection from the JSON RPC connection on demand
|
|
59
|
-
connectionProvider: {
|
|
60
|
-
get: () => {
|
|
61
|
-
return Promise.resolve(transports);
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
});
|
|
65
|
-
};
|
|
66
|
-
/** parameterized version , support all languageId */
|
|
67
|
-
export const initWebSocketAndStartClient = (url, languageId) => {
|
|
68
|
-
const webSocket = new WebSocket(url);
|
|
69
|
-
webSocket.onopen = () => {
|
|
70
|
-
const socket = toSocket(webSocket);
|
|
71
|
-
const reader = new WebSocketMessageReader(socket);
|
|
72
|
-
const writer = new WebSocketMessageWriter(socket);
|
|
73
|
-
const languageClient = createLanguageClient({
|
|
74
|
-
reader,
|
|
75
|
-
writer
|
|
76
|
-
}, languageId);
|
|
77
|
-
languageClient.start();
|
|
78
|
-
reader.onClose(() => languageClient.stop());
|
|
79
|
-
};
|
|
80
|
-
return webSocket;
|
|
81
|
-
};
|
|
82
|
-
/** backwards compatible wrapper for legacy version, only support json as languageId */
|
|
83
|
-
export const createWebSocketAndStartClient = (url) => {
|
|
84
|
-
return initWebSocketAndStartClient(url, 'json');
|
|
85
|
-
};
|
|
86
|
-
export const createDefaultJsonContent = () => {
|
|
87
|
-
return `{
|
|
20
|
+
export const runBrowserEditor = async () => {
|
|
21
|
+
const codeConverter = createCodeConverter();
|
|
22
|
+
const protocolConverter = createProtocolConverter(undefined, true, true);
|
|
23
|
+
let mainVscodeDocument;
|
|
24
|
+
const htmlElement = document.getElementById('monaco-editor-root');
|
|
25
|
+
const languageId = 'json';
|
|
26
|
+
const code = `{
|
|
88
27
|
"$schema": "http://json.schemastore.org/coffeelint",
|
|
89
28
|
"line_endings": "unix"
|
|
90
29
|
}`;
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
};
|
|
101
|
-
/* parameterized version, support for any lang */
|
|
102
|
-
export const doInit = async (vscodeApiInit, registerConfig) => {
|
|
103
|
-
if (vscodeApiInit === true) {
|
|
104
|
-
await initServices({
|
|
105
|
-
userServices: {
|
|
106
|
-
...getThemeServiceOverride(),
|
|
107
|
-
...getTextmateServiceOverride(),
|
|
108
|
-
...getConfigurationServiceOverride(),
|
|
109
|
-
...getKeybindingsServiceOverride()
|
|
30
|
+
const codeUri = '/workspace/model.json';
|
|
31
|
+
const wrapper = new MonacoEditorLanguageClientWrapper();
|
|
32
|
+
const jsonClientUserConfig = {
|
|
33
|
+
wrapperConfig: {
|
|
34
|
+
serviceConfig: {
|
|
35
|
+
userServices: {
|
|
36
|
+
...getKeybindingsServiceOverride(),
|
|
37
|
+
},
|
|
38
|
+
debugLogging: true
|
|
110
39
|
},
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
40
|
+
editorAppConfig: {
|
|
41
|
+
$type: 'extended',
|
|
42
|
+
languageId: 'json',
|
|
43
|
+
code,
|
|
44
|
+
codeUri,
|
|
45
|
+
useDiffEditor: false,
|
|
46
|
+
userConfiguration: {
|
|
47
|
+
json: JSON.stringify({
|
|
48
|
+
'workbench.colorTheme': 'Default Dark Modern',
|
|
49
|
+
'editor.guides.bracketPairsHorizontal': 'active',
|
|
50
|
+
'editor.lightbulb.enabled': 'On'
|
|
51
|
+
})
|
|
121
52
|
}
|
|
122
53
|
}
|
|
123
|
-
}
|
|
124
|
-
// register the JSON language with Monaco
|
|
125
|
-
monaco.languages.register(registerConfig);
|
|
126
|
-
}
|
|
127
|
-
};
|
|
128
|
-
/* parameterized version, support for any lang */
|
|
129
|
-
export const createMonacoEditor = async (config) => {
|
|
130
|
-
// create the model
|
|
131
|
-
const uri = vscode.Uri.parse('/workspace/model.json');
|
|
132
|
-
const modelRef = await createModelReference(uri, config.content);
|
|
133
|
-
modelRef.object.setLanguageId(config.languageId);
|
|
134
|
-
// create monaco editor
|
|
135
|
-
const editor = createConfiguredEditor(config.htmlElement, {
|
|
136
|
-
model: modelRef.object.textEditorModel,
|
|
137
|
-
glyphMargin: true,
|
|
138
|
-
lightbulb: {
|
|
139
|
-
enabled: monaco.editor.ShowLightbulbIconMode.On
|
|
140
|
-
},
|
|
141
|
-
automaticLayout: true,
|
|
142
|
-
wordBasedSuggestions: 'off'
|
|
143
|
-
});
|
|
144
|
-
const result = {
|
|
145
|
-
editor,
|
|
146
|
-
uri,
|
|
147
|
-
modelRef
|
|
54
|
+
}
|
|
148
55
|
};
|
|
149
|
-
|
|
150
|
-
};
|
|
151
|
-
export const createJsonEditor = async (config) => {
|
|
152
|
-
return createMonacoEditor({
|
|
153
|
-
htmlElement: config.htmlElement,
|
|
154
|
-
content: config.content,
|
|
155
|
-
languageId: 'json'
|
|
156
|
-
});
|
|
157
|
-
};
|
|
158
|
-
export const runBrowserEditor = async () => {
|
|
159
|
-
let mainVscodeDocument;
|
|
160
|
-
const languageId = 'json';
|
|
161
|
-
await performInit(true);
|
|
56
|
+
await wrapper.init(jsonClientUserConfig);
|
|
162
57
|
vscode.workspace.onDidOpenTextDocument((_event) => {
|
|
163
|
-
mainVscodeDocument =
|
|
164
|
-
});
|
|
165
|
-
const jsonEditor = await createJsonEditor({
|
|
166
|
-
htmlElement: document.getElementById('container'),
|
|
167
|
-
content: createDefaultJsonContent()
|
|
58
|
+
mainVscodeDocument = _event;
|
|
168
59
|
});
|
|
169
60
|
const createDocument = (vscodeDocument) => {
|
|
170
61
|
return TextDocument.create(vscodeDocument.uri.toString(), vscodeDocument.languageId, vscodeDocument.version, vscodeDocument.getText());
|
|
@@ -241,13 +132,14 @@ export const runBrowserEditor = async () => {
|
|
|
241
132
|
const jsonDocument = jsonService.parseJSONDocument(document);
|
|
242
133
|
jsonService.doValidation(document, jsonDocument).then(async (pDiagnostics) => {
|
|
243
134
|
const diagnostics = await protocolConverter.asDiagnostics(pDiagnostics);
|
|
244
|
-
diagnosticCollection.set(
|
|
135
|
+
diagnosticCollection.set(Uri.parse(codeUri), diagnostics);
|
|
245
136
|
});
|
|
246
137
|
};
|
|
247
138
|
const cleanDiagnostics = () => {
|
|
248
139
|
diagnosticCollection.clear();
|
|
249
140
|
};
|
|
250
|
-
|
|
141
|
+
await wrapper.start(htmlElement);
|
|
142
|
+
wrapper.getModel()?.onDidChangeContent(() => {
|
|
251
143
|
validate();
|
|
252
144
|
});
|
|
253
145
|
};
|
package/dist/browser/main.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/browser/main.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAEhG,OAAO,KAAK,MAAM,MAAM,
|
|
1
|
+
{"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/browser/main.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
4
4
|
* ------------------------------------------------------------------------------------------ */
|
|
5
5
|
import { MonacoEditorLanguageClientWrapper } from 'monaco-editor-wrapper';
|
|
6
|
-
import { languages } from '
|
|
6
|
+
import { languages } from 'monaco-editor';
|
|
7
7
|
const wrapper = new MonacoEditorLanguageClientWrapper();
|
|
8
8
|
export const startEditor = async (userConfig, htmlElement, code, codeOriginal) => {
|
|
9
9
|
if (wrapper.isStarted()) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"example-apps-common.js","sourceRoot":"","sources":["../../src/common/example-apps-common.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAEhG,OAAO,EAAe,iCAAiC,EAAc,MAAM,uBAAuB,CAAC;AACnG,OAAO,EAAE,SAAS,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"example-apps-common.js","sourceRoot":"","sources":["../../src/common/example-apps-common.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,17 +12,17 @@ export const configureMonacoWorkers = () => {
|
|
|
12
12
|
useWorkerFactory({
|
|
13
13
|
ignoreMapping: true,
|
|
14
14
|
workerLoaders: {
|
|
15
|
-
editorWorkerService: () => new Worker(new URL('
|
|
15
|
+
editorWorkerService: () => new Worker(new URL('monaco-editor/esm/vs/editor/editor.worker.js', import.meta.url), { type: 'module' })
|
|
16
16
|
}
|
|
17
17
|
});
|
|
18
18
|
};
|
|
19
19
|
let codeMain = `{
|
|
20
|
-
"$schema": "http://json.schemastore.org/coffeelint",
|
|
21
|
-
"line_endings": {"value": "windows"}
|
|
20
|
+
"$schema": "http://json.schemastore.org/coffeelint",
|
|
21
|
+
"line_endings": {"value": "windows"}
|
|
22
22
|
}`;
|
|
23
23
|
const codeOrg = `{
|
|
24
|
-
"$schema": "http://json.schemastore.org/coffeelint",
|
|
25
|
-
"line_endings": {"value": "unix"}
|
|
24
|
+
"$schema": "http://json.schemastore.org/coffeelint",
|
|
25
|
+
"line_endings": {"value": "unix"}
|
|
26
26
|
}`;
|
|
27
27
|
export const jsonClientUserConfig = {
|
|
28
28
|
wrapperConfig: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wrapperWs.js","sourceRoot":"","sources":["../../../src/json/client/wrapperWs.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAEhG,OAAO,6BAA6B,MAAM,uDAAuD,CAAC;AAClG,uCAAuC;AACvC,OAAQ,iDAAiD,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAC;AAE9F,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AAEvE,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAG,EAAE;IACvC,8DAA8D;IAC9D,gBAAgB,CAAC;QACb,aAAa,EAAE,IAAI;QACnB,aAAa,EAAE;YACX,mBAAmB,EAAE,GAAG,EAAE,CAAC,IAAI,MAAM,CAAC,IAAI,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"wrapperWs.js","sourceRoot":"","sources":["../../../src/json/client/wrapperWs.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAEhG,OAAO,6BAA6B,MAAM,uDAAuD,CAAC;AAClG,uCAAuC;AACvC,OAAQ,iDAAiD,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAC;AAE9F,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AAEvE,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAG,EAAE;IACvC,8DAA8D;IAC9D,gBAAgB,CAAC;QACb,aAAa,EAAE,IAAI;QACnB,aAAa,EAAE;YACX,mBAAmB,EAAE,GAAG,EAAE,CAAC,IAAI,MAAM,CAAC,IAAI,GAAG,CAAC,8CAA8C,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;SACtI;KACJ,CAAC,CAAC;AACP,CAAC,CAAC;AAEF,IAAI,QAAQ,GAAG;;;EAGb,CAAC;AACH,MAAM,OAAO,GAAG;;;EAGd,CAAC;AAEH,MAAM,CAAC,MAAM,oBAAoB,GAAe;IAC5C,aAAa,EAAE;QACX,aAAa,EAAE;YACX,YAAY,EAAE;gBACV,GAAG,6BAA6B,EAAE;aACrC;YACD,YAAY,EAAE,IAAI;SACrB;QACD,eAAe,EAAE;YACb,KAAK,EAAE,UAAU;YACjB,UAAU,EAAE,MAAM;YAClB,IAAI,EAAE,QAAQ;YACd,aAAa,EAAE,KAAK;YACpB,YAAY,EAAE,OAAO;YACrB,iBAAiB,EAAE;gBACf,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oBACjB,sBAAsB,EAAE,qBAAqB;oBAC7C,sCAAsC,EAAE,QAAQ;oBAChD,0BAA0B,EAAE,IAAI;iBACnC,CAAC;aACL;SACJ;KACJ;IACD,oBAAoB,EAAE;QAClB,OAAO,EAAE;YACL,KAAK,EAAE,cAAc;YACrB,GAAG,EAAE,mCAAmC;YACxC,YAAY,EAAE;gBACV,MAAM,EAAE,GAAG,EAAE;oBACT,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;gBACxC,CAAC;gBACD,YAAY,EAAE,IAAI;aACrB;YACD,WAAW,EAAE;gBACT,MAAM,EAAE,GAAG,EAAE;oBACT,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;gBAC7C,CAAC;gBACD,YAAY,EAAE,IAAI;aACrB;SACJ;KACJ;CACJ,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,EAAE;IAC/B,IAAI,CAAC;QACD,MAAM,WAAW,GAAG,QAAQ,CAAC,cAAc,CAAC,oBAAoB,CAAC,CAAC;QAClE,QAAQ,CAAC,aAAa,CAAC,eAAe,CAAC,EAAE,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;YACpE,WAAW,CAAC,oBAAoB,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;QACtE,CAAC,CAAC,CAAC;QACH,QAAQ,CAAC,aAAa,CAAC,cAAc,CAAC,EAAE,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;YACnE,WAAW,CAAC,oBAAoB,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;QACtE,CAAC,CAAC,CAAC;QACH,QAAQ,CAAC,aAAa,CAAC,iBAAiB,CAAC,EAAE,gBAAgB,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE;YAC5E,QAAQ,GAAG,MAAM,aAAa,CAAC,oBAAoB,CAAC,aAAa,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;QACrG,CAAC,CAAC,CAAC;IACP,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACT,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACrB,CAAC;AACL,CAAC,CAAC"}
|
|
@@ -6,7 +6,7 @@ import React from 'react';
|
|
|
6
6
|
import ReactDOM from 'react-dom/client';
|
|
7
7
|
import { MonacoEditorReactComp } from '@typefox/monaco-editor-react';
|
|
8
8
|
import { createLangiumGlobalConfig } from './config/wrapperStatemachineConfig.js';
|
|
9
|
-
import {
|
|
9
|
+
import { loadStatemachineWorkerRegular } from './main.js';
|
|
10
10
|
import { useWorkerFactory } from 'monaco-editor-wrapper/workerFactory';
|
|
11
11
|
export const configureMonacoWorkers = () => {
|
|
12
12
|
useWorkerFactory({
|
|
@@ -15,7 +15,7 @@ export const configureMonacoWorkers = () => {
|
|
|
15
15
|
};
|
|
16
16
|
export const runStatemachineReact = async () => {
|
|
17
17
|
try {
|
|
18
|
-
const langiumGlobalConfig = await createLangiumGlobalConfig(
|
|
18
|
+
const langiumGlobalConfig = await createLangiumGlobalConfig(loadStatemachineWorkerRegular());
|
|
19
19
|
const comp = React.createElement(MonacoEditorReactComp, { userConfig: langiumGlobalConfig, style: {
|
|
20
20
|
'paddingTop': '5px',
|
|
21
21
|
'height': '80vh'
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main-react.js","sourceRoot":"","sources":["../../../src/langium/statemachine/main-react.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAEhG,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,QAAQ,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,yBAAyB,EAAE,MAAM,uCAAuC,CAAC;AAClF,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"main-react.js","sourceRoot":"","sources":["../../../src/langium/statemachine/main-react.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAEhG,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,QAAQ,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,yBAAyB,EAAE,MAAM,uCAAuC,CAAC;AAClF,OAAO,EAAE,6BAA6B,EAAE,MAAM,WAAW,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AAEvE,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAG,EAAE;IACvC,gBAAgB,CAAC;QACb,QAAQ,EAAE,uBAAuB;KACpC,CAAC,CAAC;AACP,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,IAAI,EAAE;IAC3C,IAAI,CAAC;QACD,MAAM,mBAAmB,GAAG,MAAM,yBAAyB,CAAC,6BAA6B,EAAE,CAAC,CAAC;QAC7F,MAAM,IAAI,GAAG,oBAAC,qBAAqB,IAC/B,UAAU,EAAE,mBAAmB,EAC/B,KAAK,EAAE;gBACH,YAAY,EAAE,KAAK;gBACnB,QAAQ,EAAE,MAAM;aACnB,GACH,CAAC;QAEH,MAAM,IAAI,GAAG,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAE,CAAC,CAAC;QACnE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACT,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACrB,CAAC;AACL,CAAC,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export declare const configureMonacoWorkers: () => void;
|
|
2
2
|
export declare const runStatemachineWrapper: () => Promise<void>;
|
|
3
|
-
export declare const
|
|
3
|
+
export declare const loadStatemachineWorkerRegular: () => Worker;
|
|
4
4
|
export declare const loadStatemachinWorkerPort: () => Worker;
|
|
5
5
|
//# sourceMappingURL=main.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../../src/langium/statemachine/main.ts"],"names":[],"mappings":"AAaA,eAAO,MAAM,sBAAsB,YAIlC,CAAC;AA0CF,eAAO,MAAM,sBAAsB,qBAOlC,CAAC;AAEF,eAAO,MAAM,
|
|
1
|
+
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../../src/langium/statemachine/main.ts"],"names":[],"mappings":"AAaA,eAAO,MAAM,sBAAsB,YAIlC,CAAC;AA0CF,eAAO,MAAM,sBAAsB,qBAOlC,CAAC;AAEF,eAAO,MAAM,6BAA6B,cASzC,CAAC;AAEF,eAAO,MAAM,yBAAyB,cASrC,CAAC"}
|
|
@@ -19,7 +19,7 @@ const startEditor = async () => {
|
|
|
19
19
|
return;
|
|
20
20
|
}
|
|
21
21
|
// init first worker regularly
|
|
22
|
-
const stateMachineWorkerRegular =
|
|
22
|
+
const stateMachineWorkerRegular = loadStatemachineWorkerRegular();
|
|
23
23
|
const langiumGlobalConfig = await createLangiumGlobalConfig(stateMachineWorkerRegular);
|
|
24
24
|
await wrapper.initAndStart(langiumGlobalConfig, document.getElementById('monaco-editor-root'));
|
|
25
25
|
// init second worker with port for client and worker
|
|
@@ -55,7 +55,7 @@ export const runStatemachineWrapper = async () => {
|
|
|
55
55
|
console.error(e);
|
|
56
56
|
}
|
|
57
57
|
};
|
|
58
|
-
export const
|
|
58
|
+
export const loadStatemachineWorkerRegular = () => {
|
|
59
59
|
// Language Server preparation
|
|
60
60
|
const workerUrl = new URL('./src/langium/statemachine/worker/statemachine-server.ts', window.location.href);
|
|
61
61
|
console.log(`Langium worker URL: ${workerUrl}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.js","sourceRoot":"","sources":["../../../src/langium/statemachine/main.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAEhG,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AACjC,OAAO,EAAE,iCAAiC,EAAE,MAAM,uBAAuB,CAAC;AAC1E,OAAO,EAAE,yBAAyB,EAAE,MAAM,uCAAuC,CAAC;AAClF,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AAEvE,MAAM,OAAO,GAAG,IAAI,iCAAiC,EAAE,CAAC;AACxD,MAAM,QAAQ,GAAG,IAAI,iCAAiC,EAAE,CAAC;AAEzD,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAG,EAAE;IACvC,gBAAgB,CAAC;QACb,QAAQ,EAAE,uBAAuB;KACpC,CAAC,CAAC;AACP,CAAC,CAAC;AAEF,MAAM,WAAW,GAAG,KAAK,IAAI,EAAE;IAC3B,IAAI,OAAO,CAAC,SAAS,EAAE,IAAI,QAAQ,CAAC,SAAS,EAAE,EAAE,CAAC;QAC9C,KAAK,CAAC,6BAA6B,CAAC,CAAC;QACrC,OAAO;IACX,CAAC;IAED,8BAA8B;IAC9B,MAAM,yBAAyB,GAAG,
|
|
1
|
+
{"version":3,"file":"main.js","sourceRoot":"","sources":["../../../src/langium/statemachine/main.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reactPython.d.ts","sourceRoot":"","sources":["../../../src/python/client/reactPython.tsx"],"names":[],"mappings":"AAWA,eAAO,MAAM,sBAAsB,YAIlC,CAAC;AAEF,eAAO,MAAM,cAAc,
|
|
1
|
+
{"version":3,"file":"reactPython.d.ts","sourceRoot":"","sources":["../../../src/python/client/reactPython.tsx"],"names":[],"mappings":"AAWA,eAAO,MAAM,sBAAsB,YAIlC,CAAC;AAEF,eAAO,MAAM,cAAc,YA4B1B,CAAC"}
|
|
@@ -24,7 +24,11 @@ export const runPythonReact = () => {
|
|
|
24
24
|
const comp = React.createElement(MonacoEditorReactComp, { userConfig: createUserConfig(code), style: {
|
|
25
25
|
'paddingTop': '5px',
|
|
26
26
|
'height': '80vh'
|
|
27
|
-
}, onTextChanged: onTextChanged
|
|
27
|
+
}, onTextChanged: onTextChanged, onLoad: () => {
|
|
28
|
+
console.log('Loaded');
|
|
29
|
+
}, onError: (e) => {
|
|
30
|
+
console.error(e);
|
|
31
|
+
} });
|
|
28
32
|
const root = ReactDOM.createRoot(document.getElementById('root'));
|
|
29
33
|
root.render(comp);
|
|
30
34
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reactPython.js","sourceRoot":"","sources":["../../../src/python/client/reactPython.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAEhG,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,QAAQ,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AAEvE,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAG,EAAE;IACvC,gBAAgB,CAAC;QACb,QAAQ,EAAE,uBAAuB;KACpC,CAAC,CAAC;AACP,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,EAAE;IAC/B;;OAEG;IACH,MAAM,IAAI,GAAG;oBACG,CAAC;IAEjB,MAAM,aAAa,GAAG,CAAC,IAAY,EAAE,OAAgB,EAAE,EAAE;QACrD,OAAO,CAAC,GAAG,CAAC,UAAU,OAAO,aAAa,IAAI,EAAE,CAAC,CAAC;IACtD,CAAC,CAAC;IAEF,MAAM,IAAI,GAAG,oBAAC,qBAAqB,IAC/B,UAAU,EAAE,gBAAgB,CAAC,IAAI,CAAC,EAClC,KAAK,EAAE;YACH,YAAY,EAAE,KAAK;YACnB,QAAQ,EAAE,MAAM;SACnB,EACD,aAAa,EAAE,aAAa,
|
|
1
|
+
{"version":3,"file":"reactPython.js","sourceRoot":"","sources":["../../../src/python/client/reactPython.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAEhG,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,QAAQ,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AAEvE,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAG,EAAE;IACvC,gBAAgB,CAAC;QACb,QAAQ,EAAE,uBAAuB;KACpC,CAAC,CAAC;AACP,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,EAAE;IAC/B;;OAEG;IACH,MAAM,IAAI,GAAG;oBACG,CAAC;IAEjB,MAAM,aAAa,GAAG,CAAC,IAAY,EAAE,OAAgB,EAAE,EAAE;QACrD,OAAO,CAAC,GAAG,CAAC,UAAU,OAAO,aAAa,IAAI,EAAE,CAAC,CAAC;IACtD,CAAC,CAAC;IAEF,MAAM,IAAI,GAAG,oBAAC,qBAAqB,IAC/B,UAAU,EAAE,gBAAgB,CAAC,IAAI,CAAC,EAClC,KAAK,EAAE;YACH,YAAY,EAAE,KAAK;YACnB,QAAQ,EAAE,MAAM;SACnB,EACD,aAAa,EAAE,aAAa,EAC5B,MAAM,EAAE,GAAG,EAAE;YACT,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC1B,CAAC,EACD,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;YACX,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACrB,CAAC,GACH,CAAC;IAEH,MAAM,IAAI,GAAG,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAE,CAAC,CAAC;IACnE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AACtB,CAAC,CAAC"}
|
package/dist/ts/wrapperTs.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wrapperTs.d.ts","sourceRoot":"","sources":["../../src/ts/wrapperTs.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"wrapperTs.d.ts","sourceRoot":"","sources":["../../src/ts/wrapperTs.ts"],"names":[],"mappings":"AAsBA,eAAO,MAAM,sBAAsB,YAIlC,CAAC;AAEF,eAAO,MAAM,YAAY,qBA2FxB,CAAC"}
|
package/dist/ts/wrapperTs.js
CHANGED
|
@@ -3,12 +3,15 @@
|
|
|
3
3
|
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
4
4
|
* ------------------------------------------------------------------------------------------ */
|
|
5
5
|
import * as vscode from 'vscode';
|
|
6
|
-
import * as monaco from '
|
|
6
|
+
import * as monaco from 'monaco-editor';
|
|
7
7
|
import getKeybindingsServiceOverride from '@codingame/monaco-vscode-keybindings-service-override';
|
|
8
|
-
|
|
8
|
+
// only works if wrapper is configured in extended mode
|
|
9
|
+
// import '@codingame/monaco-vscode-theme-defaults-default-extension';
|
|
10
|
+
// import '@codingame/monaco-vscode-typescript-basics-default-extension';
|
|
9
11
|
// import '@codingame/monaco-vscode-typescript-language-features-default-extension';
|
|
10
|
-
//
|
|
11
|
-
// import '
|
|
12
|
+
// basic-languages and language only exists if manually copied there
|
|
13
|
+
// import 'monaco-editor/esm/vs/basic-languages/typescript/typescript.contribution.js';
|
|
14
|
+
// import 'monaco-editor/esm/vs/language/typescript/monaco.contribution.js';
|
|
12
15
|
import { disposeEditor, getWrapper, startEditor, swapEditors, updateModel } from '../common/example-apps-common.js';
|
|
13
16
|
import { useWorkerFactory } from 'monaco-editor-wrapper/workerFactory';
|
|
14
17
|
export const configureMonacoWorkers = () => {
|
|
@@ -48,7 +51,7 @@ export const runTsWrapper = async () => {
|
|
|
48
51
|
debugLogging: true
|
|
49
52
|
},
|
|
50
53
|
editorAppConfig: {
|
|
51
|
-
$type: '
|
|
54
|
+
$type: 'classic',
|
|
52
55
|
languageId: 'typescript',
|
|
53
56
|
code,
|
|
54
57
|
codeUri: codeUri,
|
|
@@ -62,8 +65,15 @@ export const runTsWrapper = async () => {
|
|
|
62
65
|
try {
|
|
63
66
|
const wrapper = getWrapper();
|
|
64
67
|
const htmlElement = document.getElementById('monaco-editor-root');
|
|
65
|
-
document.querySelector('#button-start')?.addEventListener('click', () => {
|
|
66
|
-
startEditor(userConfig, htmlElement, code, codeOriginal);
|
|
68
|
+
document.querySelector('#button-start')?.addEventListener('click', async () => {
|
|
69
|
+
await startEditor(userConfig, htmlElement, code, codeOriginal);
|
|
70
|
+
vscode.commands.getCommands().then((x) => {
|
|
71
|
+
console.log(`Found ${x.length} commands`);
|
|
72
|
+
const finding = x.find((elem) => elem === 'actions.find');
|
|
73
|
+
console.log(`Found command: ${finding}`);
|
|
74
|
+
});
|
|
75
|
+
wrapper.getEditor()?.focus();
|
|
76
|
+
await vscode.commands.executeCommand('actions.find');
|
|
67
77
|
});
|
|
68
78
|
document.querySelector('#button-swap')?.addEventListener('click', () => {
|
|
69
79
|
swapEditors(userConfig, htmlElement, code, codeOriginal);
|
|
@@ -92,13 +102,6 @@ export const runTsWrapper = async () => {
|
|
|
92
102
|
codeOriginal = await disposeEditor(userConfig.wrapperConfig.editorAppConfig.useDiffEditor);
|
|
93
103
|
}
|
|
94
104
|
});
|
|
95
|
-
vscode.commands.getCommands().then((x) => {
|
|
96
|
-
console.log(`Found ${x.length} commands`);
|
|
97
|
-
const finding = x.find((elem) => elem === 'actions.find');
|
|
98
|
-
console.log(`Found command: ${finding}`);
|
|
99
|
-
});
|
|
100
|
-
wrapper.getEditor()?.focus();
|
|
101
|
-
await vscode.commands.executeCommand('actions.find');
|
|
102
105
|
}
|
|
103
106
|
catch (e) {
|
|
104
107
|
console.error(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,KAAK,MAAM,MAAM,QAAQ,CAAC;AACjC,OAAO,KAAK,MAAM,MAAM,
|
|
1
|
+
{"version":3,"file":"wrapperTs.js","sourceRoot":"","sources":["../../src/ts/wrapperTs.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export
|
|
1
|
+
export {};
|
|
2
2
|
//# sourceMappingURL=localeLoader.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"localeLoader.d.ts","sourceRoot":"","sources":["../../src/utils/localeLoader.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"localeLoader.d.ts","sourceRoot":"","sources":["../../src/utils/localeLoader.ts"],"names":[],"mappings":""}
|
|
@@ -2,27 +2,26 @@
|
|
|
2
2
|
* Copyright (c) 2024 TypeFox GmbH (http://www.typefox.io). All rights reserved.
|
|
3
3
|
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
4
4
|
* ------------------------------------------------------------------------------------------ */
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
await import('@codingame/monaco-vscode-language-pack-fr');
|
|
16
|
-
}
|
|
17
|
-
};
|
|
18
|
-
if (locale !== null) {
|
|
19
|
-
const loader = localeLoader[locale];
|
|
20
|
-
if (loader) {
|
|
21
|
-
await loader();
|
|
22
|
-
}
|
|
23
|
-
else {
|
|
24
|
-
console.error(`Unknown locale ${locale}`);
|
|
25
|
-
}
|
|
5
|
+
const locale = new URLSearchParams(window.location.search).get('locale');
|
|
6
|
+
const localeLoader = {
|
|
7
|
+
de: async () => {
|
|
8
|
+
await import('@codingame/monaco-vscode-language-pack-de');
|
|
9
|
+
},
|
|
10
|
+
es: async () => {
|
|
11
|
+
await import('@codingame/monaco-vscode-language-pack-es');
|
|
12
|
+
},
|
|
13
|
+
fr: async () => {
|
|
14
|
+
await import('@codingame/monaco-vscode-language-pack-fr');
|
|
26
15
|
}
|
|
27
16
|
};
|
|
17
|
+
if (locale !== null) {
|
|
18
|
+
const loader = localeLoader[locale];
|
|
19
|
+
if (loader) {
|
|
20
|
+
await loader();
|
|
21
|
+
}
|
|
22
|
+
else {
|
|
23
|
+
console.error(`Unknown locale ${locale}`);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
export {};
|
|
28
27
|
//# sourceMappingURL=localeLoader.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"localeLoader.js","sourceRoot":"","sources":["../../src/utils/localeLoader.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAEhG,MAAM,
|
|
1
|
+
{"version":3,"file":"localeLoader.js","sourceRoot":"","sources":["../../src/utils/localeLoader.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAEhG,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AACzE,MAAM,YAAY,GAAiD;IAC/D,EAAE,EAAE,KAAK,IAAI,EAAE;QACX,MAAM,MAAM,CAAC,2CAA2C,CAAC,CAAC;IAC9D,CAAC;IACD,EAAE,EAAE,KAAK,IAAI,EAAE;QACX,MAAM,MAAM,CAAC,2CAA2C,CAAC,CAAC;IAC9D,CAAC;IACD,EAAE,EAAE,KAAK,IAAI,EAAE;QACX,MAAM,MAAM,CAAC,2CAA2C,CAAC,CAAC;IAC9D,CAAC;CACJ,CAAC;AAEF,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;IAClB,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IACpC,IAAI,MAAM,EAAE,CAAC;QACT,MAAM,MAAM,EAAE,CAAC;IACnB,CAAC;SAAM,CAAC;QACJ,OAAO,CAAC,KAAK,CAAC,kBAAkB,MAAM,EAAE,CAAC,CAAC;IAC9C,CAAC;AACL,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "monaco-languageclient-examples",
|
|
3
|
-
"version": "8.0.0-next.
|
|
3
|
+
"version": "8.0.0-next.5",
|
|
4
4
|
"description": "Monaco Language client examples",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "TypeFox GmbH",
|
|
@@ -54,39 +54,38 @@
|
|
|
54
54
|
}
|
|
55
55
|
},
|
|
56
56
|
"dependencies": {
|
|
57
|
-
"@codingame/monaco-vscode-
|
|
58
|
-
"@codingame/monaco-vscode-editor-
|
|
59
|
-
"@codingame/monaco-vscode-
|
|
60
|
-
"@codingame/monaco-vscode-
|
|
61
|
-
"@codingame/monaco-vscode-
|
|
62
|
-
"@codingame/monaco-vscode-
|
|
63
|
-
"@codingame/monaco-vscode-
|
|
64
|
-
"@codingame/monaco-vscode-
|
|
65
|
-
"@codingame/monaco-vscode-
|
|
66
|
-
"@codingame/monaco-vscode-
|
|
67
|
-
"@codingame/monaco-vscode-
|
|
68
|
-
"@codingame/monaco-vscode-
|
|
69
|
-
"@codingame/monaco-vscode-
|
|
70
|
-
"@codingame/monaco-vscode-
|
|
71
|
-
"@codingame/monaco-vscode-
|
|
72
|
-
"@codingame/monaco-vscode-language-pack-
|
|
73
|
-
"@
|
|
74
|
-
"@codingame/monaco-vscode-language-pack-fr": "~3.1.0",
|
|
75
|
-
"@typefox/monaco-editor-react": "~3.0.0-next.3",
|
|
57
|
+
"@codingame/monaco-vscode-configuration-service-override": "~3.1.2",
|
|
58
|
+
"@codingame/monaco-vscode-editor-service-override": "~3.1.2",
|
|
59
|
+
"@codingame/monaco-vscode-files-service-override": "~3.1.2",
|
|
60
|
+
"@codingame/monaco-vscode-groovy-default-extension": "~3.1.2",
|
|
61
|
+
"@codingame/monaco-vscode-json-default-extension": "~3.1.2",
|
|
62
|
+
"@codingame/monaco-vscode-keybindings-service-override": "~3.1.2",
|
|
63
|
+
"@codingame/monaco-vscode-python-default-extension": "~3.1.2",
|
|
64
|
+
"@codingame/monaco-vscode-textmate-service-override": "~3.1.2",
|
|
65
|
+
"@codingame/monaco-vscode-theme-defaults-default-extension": "~3.1.2",
|
|
66
|
+
"@codingame/monaco-vscode-theme-service-override": "~3.1.2",
|
|
67
|
+
"@codingame/monaco-vscode-javascript-default-extension": "~3.1.2",
|
|
68
|
+
"@codingame/monaco-vscode-typescript-basics-default-extension": "~3.1.2",
|
|
69
|
+
"@codingame/monaco-vscode-typescript-language-features-default-extension": "~3.1.2",
|
|
70
|
+
"@codingame/monaco-vscode-language-pack-de": "~3.1.2",
|
|
71
|
+
"@codingame/monaco-vscode-language-pack-es": "~3.1.2",
|
|
72
|
+
"@codingame/monaco-vscode-language-pack-fr": "~3.1.2",
|
|
73
|
+
"@typefox/monaco-editor-react": "~3.0.0-next.5",
|
|
76
74
|
"express": "~4.18.3",
|
|
77
75
|
"langium": "3.0.0",
|
|
78
|
-
"monaco-
|
|
79
|
-
"monaco-editor-wrapper": "~4.0.0-next.
|
|
80
|
-
"
|
|
76
|
+
"monaco-editor": "npm:@codingame/monaco-vscode-editor-api@~3.1.2",
|
|
77
|
+
"monaco-editor-wrapper": "~4.0.0-next.5",
|
|
78
|
+
"monaco-languageclient": "~8.0.0-next.5",
|
|
79
|
+
"pyright": "~1.1.354",
|
|
81
80
|
"react": "~18.2.0",
|
|
82
81
|
"react-dom": "~18.2.0",
|
|
83
82
|
"request-light": "~0.7.0",
|
|
84
|
-
"vscode": "npm:@codingame/monaco-vscode-api@~3.1.
|
|
83
|
+
"vscode": "npm:@codingame/monaco-vscode-api@~3.1.2",
|
|
85
84
|
"vscode-json-languageservice": "~5.3.7",
|
|
86
85
|
"vscode-languageclient": "~9.0.1",
|
|
87
86
|
"vscode-languageserver": "~9.0.1",
|
|
88
87
|
"vscode-uri": "~3.0.8",
|
|
89
|
-
"vscode-ws-jsonrpc": "~3.3.0-next.
|
|
88
|
+
"vscode-ws-jsonrpc": "~3.3.0-next.5",
|
|
90
89
|
"ws": "~8.16.0"
|
|
91
90
|
},
|
|
92
91
|
"devDependencies": {
|
package/src/browser/main.ts
CHANGED
|
@@ -3,24 +3,16 @@
|
|
|
3
3
|
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
4
4
|
* ------------------------------------------------------------------------------------------ */
|
|
5
5
|
|
|
6
|
-
import * as monaco from '@codingame/monaco-vscode-editor-api';
|
|
7
6
|
import * as vscode from 'vscode';
|
|
8
|
-
import { createConfiguredEditor, createModelReference, IReference, ITextFileEditorModel } from 'vscode/monaco';
|
|
9
|
-
import { MonacoLanguageClient } from 'monaco-languageclient';
|
|
10
|
-
import { initServices } from 'monaco-editor-wrapper/vscode/services';
|
|
11
|
-
import getConfigurationServiceOverride from '@codingame/monaco-vscode-configuration-service-override';
|
|
12
7
|
import getKeybindingsServiceOverride from '@codingame/monaco-vscode-keybindings-service-override';
|
|
13
|
-
import getThemeServiceOverride from '@codingame/monaco-vscode-theme-service-override';
|
|
14
|
-
import getTextmateServiceOverride from '@codingame/monaco-vscode-textmate-service-override';
|
|
15
8
|
import '@codingame/monaco-vscode-theme-defaults-default-extension';
|
|
16
9
|
import '@codingame/monaco-vscode-json-default-extension';
|
|
17
10
|
import { getLanguageService, TextDocument } from 'vscode-json-languageservice';
|
|
18
11
|
import { createConverter as createCodeConverter } from 'vscode-languageclient/lib/common/codeConverter.js';
|
|
19
12
|
import { createConverter as createProtocolConverter } from 'vscode-languageclient/lib/common/protocolConverter.js';
|
|
20
|
-
import {
|
|
21
|
-
import { createUrl } from 'monaco-editor-wrapper';
|
|
22
|
-
import { CloseAction, ErrorAction, MessageTransports } from 'vscode-languageclient';
|
|
13
|
+
import { MonacoEditorLanguageClientWrapper, UserConfig } from 'monaco-editor-wrapper';
|
|
23
14
|
import { useWorkerFactory } from 'monaco-editor-wrapper/workerFactory';
|
|
15
|
+
import { Uri } from 'monaco-editor';
|
|
24
16
|
|
|
25
17
|
export const configureMonacoWorkers = () => {
|
|
26
18
|
useWorkerFactory({
|
|
@@ -28,177 +20,48 @@ export const configureMonacoWorkers = () => {
|
|
|
28
20
|
});
|
|
29
21
|
};
|
|
30
22
|
|
|
31
|
-
const
|
|
32
|
-
const
|
|
33
|
-
|
|
34
|
-
export const startJsonClient = async () => {
|
|
35
|
-
// use the same common method to create a monaco editor for json
|
|
36
|
-
await performInit(true);
|
|
37
|
-
await createJsonEditor({
|
|
38
|
-
htmlElement: document.getElementById('container')!,
|
|
39
|
-
content: createDefaultJsonContent()
|
|
40
|
-
});
|
|
41
|
-
|
|
42
|
-
const url = createUrl({
|
|
43
|
-
$type: 'WebSocket',
|
|
44
|
-
secured: false,
|
|
45
|
-
host: 'localhost',
|
|
46
|
-
port: 30000,
|
|
47
|
-
path: '/sampleServer'
|
|
48
|
-
});
|
|
49
|
-
createWebSocketAndStartClient(url);
|
|
50
|
-
};
|
|
51
|
-
|
|
52
|
-
export const createLanguageClient = (transports: MessageTransports, languageId: string): MonacoLanguageClient => {
|
|
53
|
-
return new MonacoLanguageClient({
|
|
54
|
-
name: 'Sample Language Client',
|
|
55
|
-
clientOptions: {
|
|
56
|
-
// use a language id as a document selector
|
|
57
|
-
documentSelector: [languageId],
|
|
58
|
-
// disable the default error handler
|
|
59
|
-
errorHandler: {
|
|
60
|
-
error: () => ({ action: ErrorAction.Continue }),
|
|
61
|
-
closed: () => ({ action: CloseAction.DoNotRestart })
|
|
62
|
-
}
|
|
63
|
-
},
|
|
64
|
-
// create a language client connection from the JSON RPC connection on demand
|
|
65
|
-
connectionProvider: {
|
|
66
|
-
get: () => {
|
|
67
|
-
return Promise.resolve(transports);
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
});
|
|
71
|
-
};
|
|
72
|
-
|
|
73
|
-
/** parameterized version , support all languageId */
|
|
74
|
-
export const initWebSocketAndStartClient = (url: string, languageId: string): WebSocket => {
|
|
75
|
-
const webSocket = new WebSocket(url);
|
|
76
|
-
webSocket.onopen = () => {
|
|
77
|
-
const socket = toSocket(webSocket);
|
|
78
|
-
const reader = new WebSocketMessageReader(socket);
|
|
79
|
-
const writer = new WebSocketMessageWriter(socket);
|
|
80
|
-
const languageClient = createLanguageClient({
|
|
81
|
-
reader,
|
|
82
|
-
writer
|
|
83
|
-
}, languageId);
|
|
84
|
-
languageClient.start();
|
|
85
|
-
reader.onClose(() => languageClient.stop());
|
|
86
|
-
};
|
|
87
|
-
return webSocket;
|
|
88
|
-
};
|
|
89
|
-
|
|
90
|
-
/** backwards compatible wrapper for legacy version, only support json as languageId */
|
|
91
|
-
export const createWebSocketAndStartClient = (url: string): WebSocket => {
|
|
92
|
-
return initWebSocketAndStartClient(url, 'json');
|
|
93
|
-
};
|
|
23
|
+
export const runBrowserEditor = async () => {
|
|
24
|
+
const codeConverter = createCodeConverter();
|
|
25
|
+
const protocolConverter = createProtocolConverter(undefined, true, true);
|
|
94
26
|
|
|
95
|
-
|
|
96
|
-
|
|
27
|
+
let mainVscodeDocument: vscode.TextDocument | undefined;
|
|
28
|
+
const htmlElement = document.getElementById('monaco-editor-root');
|
|
29
|
+
const languageId = 'json';
|
|
30
|
+
const code = `{
|
|
97
31
|
"$schema": "http://json.schemastore.org/coffeelint",
|
|
98
32
|
"line_endings": "unix"
|
|
99
33
|
}`;
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
};
|
|
111
|
-
|
|
112
|
-
export type ExampleJsonEditor = {
|
|
113
|
-
languageId: string;
|
|
114
|
-
editor: monaco.editor.IStandaloneCodeEditor;
|
|
115
|
-
uri: vscode.Uri;
|
|
116
|
-
modelRef: IReference<ITextFileEditorModel>;
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
/* parameterized version, support for any lang */
|
|
120
|
-
export const doInit = async (vscodeApiInit: boolean, registerConfig: monaco.languages.ILanguageExtensionPoint) => {
|
|
121
|
-
if (vscodeApiInit === true) {
|
|
122
|
-
await initServices({
|
|
123
|
-
userServices: {
|
|
124
|
-
...getThemeServiceOverride(),
|
|
125
|
-
...getTextmateServiceOverride(),
|
|
126
|
-
...getConfigurationServiceOverride(),
|
|
127
|
-
...getKeybindingsServiceOverride()
|
|
34
|
+
const codeUri = '/workspace/model.json';
|
|
35
|
+
|
|
36
|
+
const wrapper = new MonacoEditorLanguageClientWrapper();
|
|
37
|
+
const jsonClientUserConfig: UserConfig = {
|
|
38
|
+
wrapperConfig: {
|
|
39
|
+
serviceConfig: {
|
|
40
|
+
userServices: {
|
|
41
|
+
...getKeybindingsServiceOverride(),
|
|
42
|
+
},
|
|
43
|
+
debugLogging: true
|
|
128
44
|
},
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
45
|
+
editorAppConfig: {
|
|
46
|
+
$type: 'extended',
|
|
47
|
+
languageId: 'json',
|
|
48
|
+
code,
|
|
49
|
+
codeUri,
|
|
50
|
+
useDiffEditor: false,
|
|
51
|
+
userConfiguration: {
|
|
52
|
+
json: JSON.stringify({
|
|
53
|
+
'workbench.colorTheme': 'Default Dark Modern',
|
|
54
|
+
'editor.guides.bracketPairsHorizontal': 'active',
|
|
55
|
+
'editor.lightbulb.enabled': 'On'
|
|
56
|
+
})
|
|
139
57
|
}
|
|
140
58
|
}
|
|
141
|
-
}
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
monaco.languages.register(registerConfig);
|
|
145
|
-
}
|
|
146
|
-
};
|
|
147
|
-
|
|
148
|
-
/* parameterized version, support for any lang */
|
|
149
|
-
export const createMonacoEditor = async (config: {
|
|
150
|
-
htmlElement: HTMLElement,
|
|
151
|
-
content: string,
|
|
152
|
-
languageId: string
|
|
153
|
-
}) => {
|
|
154
|
-
// create the model
|
|
155
|
-
const uri = vscode.Uri.parse('/workspace/model.json');
|
|
156
|
-
const modelRef = await createModelReference(uri, config.content);
|
|
157
|
-
modelRef.object.setLanguageId(config.languageId);
|
|
158
|
-
|
|
159
|
-
// create monaco editor
|
|
160
|
-
const editor = createConfiguredEditor(config.htmlElement, {
|
|
161
|
-
model: modelRef.object.textEditorModel,
|
|
162
|
-
glyphMargin: true,
|
|
163
|
-
lightbulb: {
|
|
164
|
-
enabled: monaco.editor.ShowLightbulbIconMode.On
|
|
165
|
-
},
|
|
166
|
-
automaticLayout: true,
|
|
167
|
-
wordBasedSuggestions: 'off'
|
|
168
|
-
});
|
|
169
|
-
|
|
170
|
-
const result = {
|
|
171
|
-
editor,
|
|
172
|
-
uri,
|
|
173
|
-
modelRef
|
|
174
|
-
} as ExampleJsonEditor;
|
|
175
|
-
return Promise.resolve(result);
|
|
176
|
-
};
|
|
177
|
-
|
|
178
|
-
export const createJsonEditor = async (config: {
|
|
179
|
-
htmlElement: HTMLElement,
|
|
180
|
-
content: string
|
|
181
|
-
}) => {
|
|
182
|
-
return createMonacoEditor({
|
|
183
|
-
htmlElement: config.htmlElement,
|
|
184
|
-
content: config.content,
|
|
185
|
-
languageId: 'json'
|
|
186
|
-
});
|
|
187
|
-
};
|
|
188
|
-
|
|
189
|
-
export const runBrowserEditor = async () => {
|
|
190
|
-
let mainVscodeDocument: vscode.TextDocument | undefined;
|
|
191
|
-
const languageId = 'json';
|
|
192
|
-
|
|
193
|
-
await performInit(true);
|
|
59
|
+
}
|
|
60
|
+
};
|
|
61
|
+
await wrapper.init(jsonClientUserConfig);
|
|
194
62
|
|
|
195
63
|
vscode.workspace.onDidOpenTextDocument((_event) => {
|
|
196
|
-
mainVscodeDocument =
|
|
197
|
-
});
|
|
198
|
-
|
|
199
|
-
const jsonEditor = await createJsonEditor({
|
|
200
|
-
htmlElement: document.getElementById('container')!,
|
|
201
|
-
content: createDefaultJsonContent()
|
|
64
|
+
mainVscodeDocument = _event;
|
|
202
65
|
});
|
|
203
66
|
|
|
204
67
|
const createDocument = (vscodeDocument: vscode.TextDocument) => {
|
|
@@ -287,7 +150,7 @@ export const runBrowserEditor = async () => {
|
|
|
287
150
|
|
|
288
151
|
jsonService.doValidation(document, jsonDocument).then(async (pDiagnostics) => {
|
|
289
152
|
const diagnostics = await protocolConverter.asDiagnostics(pDiagnostics);
|
|
290
|
-
diagnosticCollection.set(
|
|
153
|
+
diagnosticCollection.set(Uri.parse(codeUri), diagnostics);
|
|
291
154
|
});
|
|
292
155
|
};
|
|
293
156
|
|
|
@@ -295,7 +158,9 @@ export const runBrowserEditor = async () => {
|
|
|
295
158
|
diagnosticCollection.clear();
|
|
296
159
|
};
|
|
297
160
|
|
|
298
|
-
|
|
161
|
+
await wrapper.start(htmlElement);
|
|
162
|
+
|
|
163
|
+
wrapper.getModel()?.onDidChangeContent(() => {
|
|
299
164
|
validate();
|
|
300
165
|
});
|
|
301
166
|
};
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* ------------------------------------------------------------------------------------------ */
|
|
5
5
|
|
|
6
6
|
import { ModelUpdate, MonacoEditorLanguageClientWrapper, UserConfig } from 'monaco-editor-wrapper';
|
|
7
|
-
import { languages } from '
|
|
7
|
+
import { languages } from 'monaco-editor';
|
|
8
8
|
|
|
9
9
|
const wrapper = new MonacoEditorLanguageClientWrapper();
|
|
10
10
|
|
|
@@ -15,18 +15,18 @@ export const configureMonacoWorkers = () => {
|
|
|
15
15
|
useWorkerFactory({
|
|
16
16
|
ignoreMapping: true,
|
|
17
17
|
workerLoaders: {
|
|
18
|
-
editorWorkerService: () => new Worker(new URL('
|
|
18
|
+
editorWorkerService: () => new Worker(new URL('monaco-editor/esm/vs/editor/editor.worker.js', import.meta.url), { type: 'module' })
|
|
19
19
|
}
|
|
20
20
|
});
|
|
21
21
|
};
|
|
22
22
|
|
|
23
23
|
let codeMain = `{
|
|
24
|
-
"$schema": "http://json.schemastore.org/coffeelint",
|
|
25
|
-
"line_endings": {"value": "windows"}
|
|
24
|
+
"$schema": "http://json.schemastore.org/coffeelint",
|
|
25
|
+
"line_endings": {"value": "windows"}
|
|
26
26
|
}`;
|
|
27
27
|
const codeOrg = `{
|
|
28
|
-
"$schema": "http://json.schemastore.org/coffeelint",
|
|
29
|
-
"line_endings": {"value": "unix"}
|
|
28
|
+
"$schema": "http://json.schemastore.org/coffeelint",
|
|
29
|
+
"line_endings": {"value": "unix"}
|
|
30
30
|
}`;
|
|
31
31
|
|
|
32
32
|
export const jsonClientUserConfig: UserConfig = {
|
|
@@ -7,7 +7,7 @@ import React from 'react';
|
|
|
7
7
|
import ReactDOM from 'react-dom/client';
|
|
8
8
|
import { MonacoEditorReactComp } from '@typefox/monaco-editor-react';
|
|
9
9
|
import { createLangiumGlobalConfig } from './config/wrapperStatemachineConfig.js';
|
|
10
|
-
import {
|
|
10
|
+
import { loadStatemachineWorkerRegular } from './main.js';
|
|
11
11
|
import { useWorkerFactory } from 'monaco-editor-wrapper/workerFactory';
|
|
12
12
|
|
|
13
13
|
export const configureMonacoWorkers = () => {
|
|
@@ -18,7 +18,7 @@ export const configureMonacoWorkers = () => {
|
|
|
18
18
|
|
|
19
19
|
export const runStatemachineReact = async () => {
|
|
20
20
|
try {
|
|
21
|
-
const langiumGlobalConfig = await createLangiumGlobalConfig(
|
|
21
|
+
const langiumGlobalConfig = await createLangiumGlobalConfig(loadStatemachineWorkerRegular());
|
|
22
22
|
const comp = <MonacoEditorReactComp
|
|
23
23
|
userConfig={langiumGlobalConfig}
|
|
24
24
|
style={{
|
|
@@ -24,7 +24,7 @@ const startEditor = async () => {
|
|
|
24
24
|
}
|
|
25
25
|
|
|
26
26
|
// init first worker regularly
|
|
27
|
-
const stateMachineWorkerRegular =
|
|
27
|
+
const stateMachineWorkerRegular = loadStatemachineWorkerRegular();
|
|
28
28
|
const langiumGlobalConfig = await createLangiumGlobalConfig(stateMachineWorkerRegular);
|
|
29
29
|
await wrapper.initAndStart(langiumGlobalConfig, document.getElementById('monaco-editor-root'));
|
|
30
30
|
|
|
@@ -66,7 +66,7 @@ export const runStatemachineWrapper = async () => {
|
|
|
66
66
|
}
|
|
67
67
|
};
|
|
68
68
|
|
|
69
|
-
export const
|
|
69
|
+
export const loadStatemachineWorkerRegular = () => {
|
|
70
70
|
// Language Server preparation
|
|
71
71
|
const workerUrl = new URL('./src/langium/statemachine/worker/statemachine-server.ts', window.location.href);
|
|
72
72
|
console.log(`Langium worker URL: ${workerUrl}`);
|
|
@@ -33,6 +33,12 @@ export const runPythonReact = () => {
|
|
|
33
33
|
'height': '80vh'
|
|
34
34
|
}}
|
|
35
35
|
onTextChanged={onTextChanged}
|
|
36
|
+
onLoad={() => {
|
|
37
|
+
console.log('Loaded');
|
|
38
|
+
}}
|
|
39
|
+
onError={(e) => {
|
|
40
|
+
console.error(e);
|
|
41
|
+
}}
|
|
36
42
|
/>;
|
|
37
43
|
|
|
38
44
|
const root = ReactDOM.createRoot(document.getElementById('root')!);
|
package/src/ts/wrapperTs.ts
CHANGED
|
@@ -4,12 +4,18 @@
|
|
|
4
4
|
* ------------------------------------------------------------------------------------------ */
|
|
5
5
|
|
|
6
6
|
import * as vscode from 'vscode';
|
|
7
|
-
import * as monaco from '
|
|
7
|
+
import * as monaco from 'monaco-editor';
|
|
8
8
|
import getKeybindingsServiceOverride from '@codingame/monaco-vscode-keybindings-service-override';
|
|
9
|
-
|
|
9
|
+
|
|
10
|
+
// only works if wrapper is configured in extended mode
|
|
11
|
+
// import '@codingame/monaco-vscode-theme-defaults-default-extension';
|
|
12
|
+
// import '@codingame/monaco-vscode-typescript-basics-default-extension';
|
|
10
13
|
// import '@codingame/monaco-vscode-typescript-language-features-default-extension';
|
|
11
|
-
|
|
12
|
-
//
|
|
14
|
+
|
|
15
|
+
// basic-languages and language only exists if manually copied there
|
|
16
|
+
// import 'monaco-editor/esm/vs/basic-languages/typescript/typescript.contribution.js';
|
|
17
|
+
// import 'monaco-editor/esm/vs/language/typescript/monaco.contribution.js';
|
|
18
|
+
|
|
13
19
|
import { disposeEditor, getWrapper, startEditor, swapEditors, updateModel } from '../common/example-apps-common.js';
|
|
14
20
|
import { UserConfig } from 'monaco-editor-wrapper';
|
|
15
21
|
import { useWorkerFactory } from 'monaco-editor-wrapper/workerFactory';
|
|
@@ -56,7 +62,7 @@ export const runTsWrapper = async () => {
|
|
|
56
62
|
debugLogging: true
|
|
57
63
|
},
|
|
58
64
|
editorAppConfig: {
|
|
59
|
-
$type: '
|
|
65
|
+
$type: 'classic',
|
|
60
66
|
languageId: 'typescript',
|
|
61
67
|
code,
|
|
62
68
|
codeUri: codeUri,
|
|
@@ -71,8 +77,17 @@ export const runTsWrapper = async () => {
|
|
|
71
77
|
try {
|
|
72
78
|
const wrapper = getWrapper();
|
|
73
79
|
const htmlElement = document.getElementById('monaco-editor-root');
|
|
74
|
-
document.querySelector('#button-start')?.addEventListener('click', () => {
|
|
75
|
-
startEditor(userConfig, htmlElement, code, codeOriginal);
|
|
80
|
+
document.querySelector('#button-start')?.addEventListener('click', async () => {
|
|
81
|
+
await startEditor(userConfig, htmlElement, code, codeOriginal);
|
|
82
|
+
|
|
83
|
+
vscode.commands.getCommands().then((x) => {
|
|
84
|
+
console.log(`Found ${x.length} commands`);
|
|
85
|
+
const finding = x.find((elem) => elem === 'actions.find');
|
|
86
|
+
console.log(`Found command: ${finding}`);
|
|
87
|
+
});
|
|
88
|
+
|
|
89
|
+
wrapper.getEditor()?.focus();
|
|
90
|
+
await vscode.commands.executeCommand('actions.find');
|
|
76
91
|
});
|
|
77
92
|
document.querySelector('#button-swap')?.addEventListener('click', () => {
|
|
78
93
|
swapEditors(userConfig, htmlElement, code, codeOriginal);
|
|
@@ -99,15 +114,6 @@ export const runTsWrapper = async () => {
|
|
|
99
114
|
codeOriginal = await disposeEditor(userConfig.wrapperConfig.editorAppConfig.useDiffEditor);
|
|
100
115
|
}
|
|
101
116
|
});
|
|
102
|
-
|
|
103
|
-
vscode.commands.getCommands().then((x) => {
|
|
104
|
-
console.log(`Found ${x.length} commands`);
|
|
105
|
-
const finding = x.find((elem) => elem === 'actions.find');
|
|
106
|
-
console.log(`Found command: ${finding}`);
|
|
107
|
-
});
|
|
108
|
-
|
|
109
|
-
wrapper.getEditor()?.focus();
|
|
110
|
-
await vscode.commands.executeCommand('actions.find');
|
|
111
117
|
} catch (e) {
|
|
112
118
|
console.error(e);
|
|
113
119
|
}
|
|
@@ -3,26 +3,24 @@
|
|
|
3
3
|
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
4
4
|
* ------------------------------------------------------------------------------------------ */
|
|
5
5
|
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
await import('@codingame/monaco-vscode-language-pack-fr');
|
|
17
|
-
}
|
|
18
|
-
};
|
|
19
|
-
|
|
20
|
-
if (locale !== null) {
|
|
21
|
-
const loader = localeLoader[locale];
|
|
22
|
-
if (loader) {
|
|
23
|
-
await loader();
|
|
24
|
-
} else {
|
|
25
|
-
console.error(`Unknown locale ${locale}`);
|
|
26
|
-
}
|
|
6
|
+
const locale = new URLSearchParams(window.location.search).get('locale');
|
|
7
|
+
const localeLoader: Partial<Record<string, () => Promise<void>>> = {
|
|
8
|
+
de: async () => {
|
|
9
|
+
await import('@codingame/monaco-vscode-language-pack-de');
|
|
10
|
+
},
|
|
11
|
+
es: async () => {
|
|
12
|
+
await import('@codingame/monaco-vscode-language-pack-es');
|
|
13
|
+
},
|
|
14
|
+
fr: async () => {
|
|
15
|
+
await import('@codingame/monaco-vscode-language-pack-fr');
|
|
27
16
|
}
|
|
28
17
|
};
|
|
18
|
+
|
|
19
|
+
if (locale !== null) {
|
|
20
|
+
const loader = localeLoader[locale];
|
|
21
|
+
if (loader) {
|
|
22
|
+
await loader();
|
|
23
|
+
} else {
|
|
24
|
+
console.error(`Unknown locale ${locale}`);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
@@ -12,9 +12,8 @@
|
|
|
12
12
|
<button type="button" id="button-dispose">Dispose</button>
|
|
13
13
|
<div id="monaco-editor-root" style="height: 40vh;"></div>
|
|
14
14
|
<div id="monaco-editor-root2" style="height: 40vh;"></div>
|
|
15
|
+
<script type="module" src="./src/utils/localeLoader.ts"></script>
|
|
15
16
|
<script type="module">
|
|
16
|
-
import { loadLocales } from "./src/utils/localeLoader.ts";
|
|
17
|
-
await loadLocales();
|
|
18
17
|
import { configureMonacoWorkers, runStatemachineWrapper } from './src/langium/statemachine/main.ts';
|
|
19
18
|
|
|
20
19
|
configureMonacoWorkers();
|