monaco-languageclient-examples 2025.9.1-next.0 → 2025.9.2
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 +10 -2
- package/README.md +1 -1
- package/dist/appPlayground/common.d.ts.map +1 -1
- package/dist/appPlayground/common.js +0 -2
- package/dist/appPlayground/common.js.map +1 -1
- package/dist/appPlayground/config.d.ts +2 -4
- package/dist/appPlayground/config.d.ts.map +1 -1
- package/dist/appPlayground/config.js +1 -5
- package/dist/appPlayground/config.js.map +1 -1
- package/dist/appPlayground/main.js.map +1 -1
- package/dist/appPlayground/reactMain.d.ts.map +1 -1
- package/dist/appPlayground/reactMain.js +6 -7
- package/dist/appPlayground/reactMain.js.map +1 -1
- package/dist/browser/main.d.ts.map +1 -1
- package/dist/browser/main.js +3 -2
- package/dist/browser/main.js.map +1 -1
- package/dist/clangd/client/config.d.ts.map +1 -1
- package/dist/clangd/client/config.js.map +1 -1
- package/dist/clangd/client/main.js.map +1 -1
- package/dist/clangd/client/mainRemoteMessageChannelFs.d.ts.map +1 -1
- package/dist/clangd/client/mainRemoteMessageChannelFs.js.map +1 -1
- package/dist/clangd/client/workerHandler.d.ts.map +1 -1
- package/dist/clangd/client/workerHandler.js.map +1 -1
- package/dist/clangd/worker/clangd-server.d.ts +0 -18
- package/dist/clangd/worker/clangd-server.d.ts.map +1 -1
- package/dist/clangd/worker/clangd-server.js +1 -1
- package/dist/clangd/worker/clangd-server.js.map +1 -1
- package/dist/clangd/worker/json_stream.d.ts.map +1 -1
- package/dist/clangd/worker/json_stream.js.map +1 -1
- package/dist/clangd/worker/memfs-tools.d.ts.map +1 -1
- package/dist/clangd/worker/memfs-tools.js.map +1 -1
- package/dist/clangd/worker/workerRemoteMessageChannelFs.d.ts +1 -2
- package/dist/clangd/worker/workerRemoteMessageChannelFs.d.ts.map +1 -1
- package/dist/clangd/worker/workerRemoteMessageChannelFs.js +1 -6
- package/dist/clangd/worker/workerRemoteMessageChannelFs.js.map +1 -1
- package/dist/common/client/extendedClient.d.ts.map +1 -1
- package/dist/common/client/extendedClient.js +1 -1
- package/dist/common/client/extendedClient.js.map +1 -1
- package/dist/common/client/utils.d.ts.map +1 -1
- package/dist/common/client/utils.js +0 -4
- package/dist/common/client/utils.js.map +1 -1
- package/dist/common/node/language-server-runner.d.ts.map +1 -1
- package/dist/common/node/language-server-runner.js.map +1 -1
- package/dist/common/node/server-commons.d.ts +3 -9
- package/dist/common/node/server-commons.d.ts.map +1 -1
- package/dist/common/node/server-commons.js +0 -7
- package/dist/common/node/server-commons.js.map +1 -1
- package/dist/debugger/client/debugger.d.ts.map +1 -1
- package/dist/debugger/client/debugger.js.map +1 -1
- package/dist/debugger/common/definitions.d.ts +1 -2
- package/dist/debugger/common/definitions.d.ts.map +1 -1
- package/dist/debugger/common/definitions.js.map +1 -1
- package/dist/debugger/server/DAPSocket.d.ts.map +1 -1
- package/dist/debugger/server/DAPSocket.js.map +1 -1
- package/dist/debugger/server/debugServer.js.map +1 -1
- package/dist/eclipse.jdt.ls/client/main.js.map +1 -1
- package/dist/eclipse.jdt.ls/config.js +0 -4
- package/dist/eclipse.jdt.ls/config.js.map +1 -1
- package/dist/eclipse.jdt.ls/server/main.d.ts.map +1 -1
- package/dist/eclipse.jdt.ls/server/main.js +1 -2
- package/dist/eclipse.jdt.ls/server/main.js.map +1 -1
- package/dist/groovy/client/main.js.map +1 -1
- package/dist/groovy/config.js +0 -4
- package/dist/groovy/config.js.map +1 -1
- package/dist/groovy/server/main.d.ts.map +1 -1
- package/dist/groovy/server/main.js +1 -2
- package/dist/groovy/server/main.js.map +1 -1
- package/dist/json/client/classic.d.ts +1 -1
- package/dist/json/client/classic.d.ts.map +1 -1
- package/dist/json/client/classic.js +1 -1
- package/dist/json/client/classic.js.map +1 -1
- package/dist/json/client/config.js +0 -4
- package/dist/json/client/config.js.map +1 -1
- package/dist/json/client/extended.js.map +1 -1
- package/dist/json/server/direct.js.map +1 -1
- package/dist/json/server/json-server.d.ts.map +1 -1
- package/dist/json/server/json-server.js.map +1 -1
- package/dist/json/server/main.d.ts.map +1 -1
- package/dist/json/server/main.js +3 -4
- package/dist/json/server/main.js.map +1 -1
- package/dist/langium/langium-dsl/config/langium.monarch.d.ts +10 -10
- package/dist/langium/langium-dsl/config/{extendedConfig.d.ts → langiumDslConfig.d.ts} +1 -1
- package/dist/langium/langium-dsl/config/langiumDslConfig.d.ts.map +1 -0
- package/dist/langium/langium-dsl/config/{extendedConfig.js → langiumDslConfig.js} +1 -1
- package/dist/langium/langium-dsl/config/langiumDslConfig.js.map +1 -0
- package/dist/langium/langium-dsl/main.js +1 -1
- package/dist/langium/langium-dsl/main.js.map +1 -1
- package/dist/langium/langium-dsl/worker/langium-server.js.map +1 -1
- package/dist/langium/statemachine/config/{wrapperStatemachineConfig.d.ts → statemachineConfig.d.ts} +4 -5
- package/dist/langium/statemachine/config/statemachineConfig.d.ts.map +1 -0
- package/dist/langium/statemachine/config/{wrapperStatemachineConfig.js → statemachineConfig.js} +1 -1
- package/dist/langium/statemachine/config/statemachineConfig.js.map +1 -0
- package/dist/langium/statemachine/launcher.js +2 -2
- package/dist/langium/statemachine/launcher.js.map +1 -1
- package/dist/langium/statemachine/ls/generated/ast.d.ts +6 -6
- package/dist/langium/statemachine/ls/generated/ast.js +1 -1
- package/dist/langium/statemachine/ls/generated/ast.js.map +1 -1
- package/dist/langium/statemachine/ls/generated/grammar.d.ts +1 -1
- package/dist/langium/statemachine/ls/generated/grammar.d.ts.map +1 -1
- package/dist/langium/statemachine/ls/generated/grammar.js +0 -4
- package/dist/langium/statemachine/ls/generated/grammar.js.map +1 -1
- package/dist/langium/statemachine/ls/generated/module.d.ts +1 -1
- package/dist/langium/statemachine/ls/generated/module.js +0 -4
- package/dist/langium/statemachine/ls/generated/module.js.map +1 -1
- package/dist/langium/statemachine/ls/statemachine-module.js.map +1 -1
- package/dist/langium/statemachine/ls/statemachine-validator.d.ts.map +1 -1
- package/dist/langium/statemachine/ls/statemachine-validator.js +0 -4
- package/dist/langium/statemachine/ls/statemachine-validator.js.map +1 -1
- package/dist/langium/statemachine/main-react.d.ts +1 -1
- package/dist/langium/statemachine/main-react.d.ts.map +1 -1
- package/dist/langium/statemachine/main-react.js +37 -44
- 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 +5 -4
- package/dist/langium/statemachine/main.js.map +1 -1
- package/dist/langium/statemachine/worker/statemachine-server-port.js.map +1 -1
- package/dist/langium/statemachine/worker/statemachine-server-start.d.ts +1 -1
- package/dist/langium/statemachine/worker/statemachine-server-start.d.ts.map +1 -1
- package/dist/langium/statemachine/worker/statemachine-server-start.js.map +1 -1
- package/dist/multi/config.js.map +1 -1
- package/dist/multi/twoLanguageClients.d.ts.map +1 -1
- package/dist/multi/twoLanguageClients.js +3 -2
- package/dist/multi/twoLanguageClients.js.map +1 -1
- package/dist/python/client/config.d.ts +2 -2
- package/dist/python/client/config.d.ts.map +1 -1
- package/dist/python/client/config.js.map +1 -1
- package/dist/python/client/main.js.map +1 -1
- package/dist/python/client/reactPython.js +3 -4
- package/dist/python/client/reactPython.js.map +1 -1
- package/dist/python/server/direct.js.map +1 -1
- package/dist/python/server/main.d.ts.map +1 -1
- package/dist/python/server/main.js +2 -3
- package/dist/python/server/main.js.map +1 -1
- package/dist/ts/{wrapperTs.d.ts → clientTs.d.ts} +1 -1
- package/dist/ts/clientTs.d.ts.map +1 -0
- package/dist/ts/clientTs.js +178 -0
- package/dist/ts/clientTs.js.map +1 -0
- package/ghp_langium_extended.html +1 -3
- package/ghp_react_statemachine.html +1 -4
- package/ghp_tsExtHost.html +1 -1
- package/index.html +10 -22
- package/package.json +41 -41
- package/src/appPlayground/common.ts +0 -3
- package/src/appPlayground/config.ts +3 -10
- package/src/appPlayground/reactMain.tsx +1 -2
- package/src/browser/main.ts +3 -2
- package/src/clangd/worker/workerRemoteMessageChannelFs.ts +2 -3
- package/src/common/client/extendedClient.ts +1 -1
- package/src/common/client/utils.ts +1 -2
- package/src/common/node/server-commons.ts +1 -8
- package/src/debugger/common/definitions.ts +1 -2
- package/src/eclipse.jdt.ls/server/main.ts +1 -2
- package/src/groovy/server/main.ts +1 -2
- package/src/json/client/classic.ts +1 -1
- package/src/json/server/main.ts +4 -5
- package/src/langium/langium-dsl/main.ts +1 -1
- package/src/langium/statemachine/config/langium-config.json +1 -1
- package/src/langium/statemachine/config/{wrapperStatemachineConfig.ts → statemachineConfig.ts} +2 -2
- package/src/langium/statemachine/launcher.ts +2 -2
- package/src/langium/statemachine/ls/generated/ast.ts +1 -1
- package/src/langium/statemachine/ls/generated/grammar.ts +1 -1
- package/src/langium/statemachine/ls/generated/module.ts +1 -1
- package/src/langium/statemachine/main-react.tsx +49 -53
- package/src/langium/statemachine/main.ts +5 -4
- package/src/multi/twoLanguageClients.ts +3 -2
- package/src/python/client/config.ts +2 -2
- package/src/python/server/main.ts +2 -3
- package/src/ts/clientTs.ts +196 -0
- package/tsExtHost.html +1 -1
- package/dist/langium/langium-dsl/config/extendedConfig.d.ts.map +0 -1
- package/dist/langium/langium-dsl/config/extendedConfig.js.map +0 -1
- package/dist/langium/statemachine/config/wrapperStatemachineConfig.d.ts.map +0 -1
- package/dist/langium/statemachine/config/wrapperStatemachineConfig.js.map +0 -1
- package/dist/ts/wrapperTs.d.ts.map +0 -1
- package/dist/ts/wrapperTs.js +0 -122
- package/dist/ts/wrapperTs.js.map +0 -1
- package/src/ts/wrapperTs.ts +0 -131
- /package/src/langium/langium-dsl/config/{extendedConfig.ts → langiumDslConfig.ts} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reactPython.js","sourceRoot":"","sources":["../../../src/python/client/reactPython.tsx"],"names":[],"mappings":"AAAA;;;+FAG+F;AAE/F,OAAO,EAA4C,MAAM,yCAAyC,CAAC;AACnG,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAErE,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,QAAQ,MAAM,kBAAkB,CAAC;AACxC,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AACjC,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AACvE,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAEpD,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,IAAI,EAAE;
|
|
1
|
+
{"version":3,"file":"reactPython.js","sourceRoot":"","sources":["../../../src/python/client/reactPython.tsx"],"names":[],"mappings":"AAAA;;;+FAG+F;AAE/F,OAAO,EAA4C,MAAM,yCAAyC,CAAC;AACnG,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAErE,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,QAAQ,MAAM,kBAAkB,CAAC;AACxC,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AACjC,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AACvE,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAEpD,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,IAAI,EAAE,CAAC;IACtC,MAAM,SAAS,GAAG,qBAAqB,EAAE,CAAC;IAE1C,MAAM,mBAAmB,GAAG,KAAK,EAAE,UAAkC,EAAE,EAAE,CAAC;QACtE,MAAM,MAAM,GAAG,UAAU,CAAC,0BAA0B,CAAC,oBAAoB,CAAwC,CAAC;QAClH,MAAM,CAAC,eAAe,EAAE,CAAC;QAEzB,MAAM,UAAU,GAAG,UAAU,CAAC,0BAA0B,CAAC,oBAAoB,CAAoD,CAAC;QAClI,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC3B,kBAAkB,CAAC,MAAM,UAAU,CAAC,MAAM,EAAE,EAAE,SAAS,CAAC,YAAY,CAAC,CAAC;QAC1E,CAAC;QAED,MAAM,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,yBAAyB,CAAC,CAAC;QAChE,MAAM,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,SAAS,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAE,CAAC,GAAG,CAAC,CAAC;IAAA,CAC5F,CAAC;IAEF,MAAM,IAAI,GAAG,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,cAAc,CAAC,YAAY,CAAE,CAAC,CAAC;IACzE,MAAM,GAAG,GAAG,GAAG,EAAE,CAAC;QACd,OAAO,CACH,6BAAK,KAAK,EAAE,EAAE,iBAAiB,EAAE,SAAS,EAAE,IACxC,oBAAC,qBAAqB,IAClB,eAAe,EAAE,SAAS,CAAC,eAAe,EAC1C,eAAe,EAAE,SAAS,CAAC,eAAe,EAC1C,oBAAoB,EAAE,SAAS,CAAC,oBAAoB,EACpD,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,EAC3B,mBAAmB,EAAE,mBAAmB,EACxC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC;gBACZ,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAAA,CACpB,GAAI,CACP,CACT,CAAC;IAAA,CACL,CAAC;IACF,IAAI,CAAC,MAAM,CAAC,oBAAC,GAAG,OAAG,CAAC,CAAC;AAAA,CACxB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"direct.js","sourceRoot":"","sources":["../../../src/python/server/direct.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAEhG,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAExE,MAAM,OAAO,GAAG,OAAO,CAAC,iBAAiB,CAAC,
|
|
1
|
+
{"version":3,"file":"direct.js","sourceRoot":"","sources":["../../../src/python/server/direct.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAEhG,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAExE,MAAM,OAAO,GAAG,OAAO,CAAC,iBAAiB,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAC5D,MAAM,WAAW,GAAG,gEAAgE,CAAC;AACrF,eAAe,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../../src/python/server/main.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../../src/python/server/main.ts"],"names":[],"mappings":"AASA,eAAO,MAAM,eAAe,gDA8B3B,CAAC"}
|
|
@@ -2,17 +2,16 @@
|
|
|
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 { resolve } from 'node:path';
|
|
6
5
|
import { IncomingMessage } from 'node:http';
|
|
6
|
+
import { resolve } from 'node:path';
|
|
7
7
|
import { runLanguageServer } from '../../common/node/language-server-runner.js';
|
|
8
|
-
import { LanguageName } from '../../common/node/server-commons.js';
|
|
9
8
|
export const runPythonServer = (baseDir, relativeDir) => {
|
|
10
9
|
const processRunPath = resolve(baseDir, relativeDir);
|
|
11
10
|
runLanguageServer({
|
|
12
11
|
serverName: 'PYRIGHT',
|
|
13
12
|
pathName: '/pyright',
|
|
14
13
|
serverPort: 30001,
|
|
15
|
-
runCommand:
|
|
14
|
+
runCommand: 'node',
|
|
16
15
|
runCommandArgs: [
|
|
17
16
|
processRunPath,
|
|
18
17
|
'--stdio'
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.js","sourceRoot":"","sources":["../../../src/python/server/main.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAEhG,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"main.js","sourceRoot":"","sources":["../../../src/python/server/main.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAEhG,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,iBAAiB,EAAE,MAAM,6CAA6C,CAAC;AAEhF,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,OAAe,EAAE,WAAmB,EAAE,EAAE,CAAC;IACrE,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IACrD,iBAAiB,CAAC;QACd,UAAU,EAAE,SAAS;QACrB,QAAQ,EAAE,UAAU;QACpB,UAAU,EAAE,KAAK;QACjB,UAAU,EAAE,MAAM;QAClB,cAAc,EAAE;YACZ,cAAc;YACd,SAAS;SACZ;QACD,eAAe,EAAE;YACb,QAAQ,EAAE,IAAI;YACd,iBAAiB,EAAE,KAAK;YACxB,cAAc,EAAE,IAAI;YACpB,YAAY,EAAE,CACV,UAAqE,EACrE,QAAQ,EACV,EAAE,CAAC;gBACD,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,GAAG,UAAU,CAAC,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,CAAC;gBAC7E,MAAM,SAAS,GAAG,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;gBAC9D,IAAI,SAAS,KAAK,UAAU,EAAE,CAAC;oBAC3B,QAAQ,CAAC,IAAI,CAAC,CAAC;gBACnB,CAAC;qBAAM,CAAC;oBACJ,QAAQ,CAAC,KAAK,CAAC,CAAC;gBACpB,CAAC;YAAA,CACJ;SACJ;QACD,WAAW,EAAE,IAAI;KACpB,CAAC,CAAC;AAAA,CACN,CAAC"}
|
|
@@ -2,4 +2,4 @@ import '@codingame/monaco-vscode-javascript-default-extension';
|
|
|
2
2
|
import '@codingame/monaco-vscode-typescript-basics-default-extension';
|
|
3
3
|
import '@codingame/monaco-vscode-typescript-language-features-default-extension';
|
|
4
4
|
export declare const runTsWrapper: () => Promise<void>;
|
|
5
|
-
//# sourceMappingURL=
|
|
5
|
+
//# sourceMappingURL=clientTs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"clientTs.d.ts","sourceRoot":"","sources":["../../src/ts/clientTs.ts"],"names":[],"mappings":"AAOA,OAAO,uDAAuD,CAAC;AAE/D,OAAO,8DAA8D,CAAC;AACtE,OAAO,yEAAyE,CAAC;AAOjF,eAAO,MAAM,YAAY,qBAiLxB,CAAC"}
|
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
/* --------------------------------------------------------------------------------------------
|
|
2
|
+
* Copyright (c) 2024 TypeFox and others.
|
|
3
|
+
* Licensed under the MIT License. See LICENSE in the package root for license information.
|
|
4
|
+
* ------------------------------------------------------------------------------------------ */
|
|
5
|
+
import { LogLevel } from '@codingame/monaco-vscode-api';
|
|
6
|
+
import { InMemoryFileSystemProvider, registerFileSystemOverlay } from '@codingame/monaco-vscode-files-service-override';
|
|
7
|
+
import '@codingame/monaco-vscode-javascript-default-extension';
|
|
8
|
+
import getKeybindingsServiceOverride from '@codingame/monaco-vscode-keybindings-service-override';
|
|
9
|
+
import '@codingame/monaco-vscode-typescript-basics-default-extension';
|
|
10
|
+
import '@codingame/monaco-vscode-typescript-language-features-default-extension';
|
|
11
|
+
import { EditorApp } from 'monaco-languageclient/editorApp';
|
|
12
|
+
import { MonacoVscodeApiWrapper } from 'monaco-languageclient/vscodeApiWrapper';
|
|
13
|
+
import { configureDefaultWorkerFactory } from 'monaco-languageclient/workerFactory';
|
|
14
|
+
import * as vscode from 'vscode';
|
|
15
|
+
import { createDefaultWorkspaceContent, disableElement } from '../common/client/utils.js';
|
|
16
|
+
export const runTsWrapper = async () => {
|
|
17
|
+
disableElement('button-diff', true);
|
|
18
|
+
const code = `const takesString = (x: string) => {};
|
|
19
|
+
|
|
20
|
+
// you should see an error marker in the next line
|
|
21
|
+
takesString(0);`;
|
|
22
|
+
const codeOriginal = `const takesNumber = (x: number) => {};
|
|
23
|
+
|
|
24
|
+
// you should see an error marker in the next line
|
|
25
|
+
takesNumber(0);`;
|
|
26
|
+
const textEncoder = new TextEncoder();
|
|
27
|
+
const options = {
|
|
28
|
+
atomic: false,
|
|
29
|
+
unlock: false,
|
|
30
|
+
create: true,
|
|
31
|
+
overwrite: true
|
|
32
|
+
};
|
|
33
|
+
const workspaceUri = vscode.Uri.file('/workspace');
|
|
34
|
+
const workspaceFileUri = vscode.Uri.file('/workspace.code-workspace');
|
|
35
|
+
const codeUri = vscode.Uri.file('/workspace/hello.ts');
|
|
36
|
+
const codeOriginalUri = vscode.Uri.file('/workspace/goodbye.ts');
|
|
37
|
+
const fileSystemProvider = new InMemoryFileSystemProvider();
|
|
38
|
+
await fileSystemProvider.mkdir(workspaceUri);
|
|
39
|
+
await fileSystemProvider.writeFile(codeUri, textEncoder.encode(code), options);
|
|
40
|
+
await fileSystemProvider.writeFile(codeOriginalUri, textEncoder.encode(codeOriginal), options);
|
|
41
|
+
await fileSystemProvider.writeFile(workspaceFileUri, textEncoder.encode(createDefaultWorkspaceContent('/workspace')), options);
|
|
42
|
+
registerFileSystemOverlay(1, fileSystemProvider);
|
|
43
|
+
let currentOriginalCode = codeOriginal;
|
|
44
|
+
let currentOriginalCodeUri = codeOriginalUri;
|
|
45
|
+
let currentCode = code;
|
|
46
|
+
let currentCodeUri = codeUri;
|
|
47
|
+
let swapCode = false;
|
|
48
|
+
let diffEditor = false;
|
|
49
|
+
const htmlContainer = document.getElementById('monaco-editor-root');
|
|
50
|
+
const vscodeApiConfig = {
|
|
51
|
+
$type: 'extended',
|
|
52
|
+
viewsConfig: {
|
|
53
|
+
$type: 'EditorService',
|
|
54
|
+
htmlContainer
|
|
55
|
+
},
|
|
56
|
+
logLevel: LogLevel.Debug,
|
|
57
|
+
serviceOverrides: {
|
|
58
|
+
...getKeybindingsServiceOverride()
|
|
59
|
+
},
|
|
60
|
+
advanced: {
|
|
61
|
+
enableExtHostWorker: true,
|
|
62
|
+
},
|
|
63
|
+
userConfiguration: {
|
|
64
|
+
json: JSON.stringify({
|
|
65
|
+
'workbench.colorTheme': 'Default Dark Modern',
|
|
66
|
+
'editor.wordBasedSuggestions': 'off',
|
|
67
|
+
'typescript.tsserver.web.projectWideIntellisense.enabled': true,
|
|
68
|
+
'typescript.tsserver.web.projectWideIntellisense.suppressSemanticErrors': false,
|
|
69
|
+
'diffEditor.renderSideBySide': false,
|
|
70
|
+
'editor.guides.bracketPairsHorizontal': true,
|
|
71
|
+
'editor.experimental.asyncTokenization': true
|
|
72
|
+
})
|
|
73
|
+
},
|
|
74
|
+
workspaceConfig: {
|
|
75
|
+
enableWorkspaceTrust: true,
|
|
76
|
+
workspaceProvider: {
|
|
77
|
+
trusted: true,
|
|
78
|
+
async open() {
|
|
79
|
+
window.open(window.location.href);
|
|
80
|
+
return true;
|
|
81
|
+
},
|
|
82
|
+
workspace: {
|
|
83
|
+
workspaceUri: workspaceFileUri
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
},
|
|
87
|
+
monacoWorkerFactory: configureDefaultWorkerFactory
|
|
88
|
+
};
|
|
89
|
+
// perform global monaco-vscode-api init
|
|
90
|
+
const apiWrapper = new MonacoVscodeApiWrapper(vscodeApiConfig);
|
|
91
|
+
await apiWrapper.start();
|
|
92
|
+
let editorApp = undefined;
|
|
93
|
+
const createEditorAppConfig = (useDiffEditor) => {
|
|
94
|
+
return {
|
|
95
|
+
codeResources: {
|
|
96
|
+
modified: {
|
|
97
|
+
text: currentCode,
|
|
98
|
+
uri: currentCodeUri.path
|
|
99
|
+
},
|
|
100
|
+
original: {
|
|
101
|
+
text: currentOriginalCode,
|
|
102
|
+
uri: currentOriginalCodeUri.path,
|
|
103
|
+
}
|
|
104
|
+
},
|
|
105
|
+
useDiffEditor: useDiffEditor
|
|
106
|
+
};
|
|
107
|
+
};
|
|
108
|
+
const swapCurrentCode = () => {
|
|
109
|
+
swapCode = !swapCode;
|
|
110
|
+
if (swapCode) {
|
|
111
|
+
currentCode = codeOriginal;
|
|
112
|
+
currentCodeUri = codeOriginalUri;
|
|
113
|
+
currentOriginalCode = code;
|
|
114
|
+
currentOriginalCodeUri = codeUri;
|
|
115
|
+
}
|
|
116
|
+
else {
|
|
117
|
+
currentCode = code;
|
|
118
|
+
currentCodeUri = codeUri;
|
|
119
|
+
currentOriginalCode = codeOriginal;
|
|
120
|
+
currentOriginalCodeUri = codeOriginalUri;
|
|
121
|
+
}
|
|
122
|
+
};
|
|
123
|
+
const updateEditorCodeResources = async (editorApp) => {
|
|
124
|
+
await editorApp.updateCodeResources({
|
|
125
|
+
modified: {
|
|
126
|
+
text: currentCode,
|
|
127
|
+
uri: currentCodeUri.path
|
|
128
|
+
},
|
|
129
|
+
original: {
|
|
130
|
+
text: currentOriginalCode,
|
|
131
|
+
uri: currentOriginalCodeUri.path
|
|
132
|
+
}
|
|
133
|
+
});
|
|
134
|
+
};
|
|
135
|
+
try {
|
|
136
|
+
document.querySelector('#button-start')?.addEventListener('click', async () => {
|
|
137
|
+
disableElement('button-start', true);
|
|
138
|
+
disableElement('button-diff', false);
|
|
139
|
+
editorApp = new EditorApp(createEditorAppConfig(diffEditor));
|
|
140
|
+
await editorApp.start(htmlContainer);
|
|
141
|
+
await vscode.workspace.openTextDocument(codeUri);
|
|
142
|
+
await vscode.workspace.openTextDocument(codeOriginalUri);
|
|
143
|
+
vscode.commands.getCommands().then((x) => {
|
|
144
|
+
console.log(`Found ${x.length} commands`);
|
|
145
|
+
const finding = x.find((elem) => elem === 'actions.find');
|
|
146
|
+
console.log(`Found command: ${finding}`);
|
|
147
|
+
});
|
|
148
|
+
editorApp.getEditor()?.focus();
|
|
149
|
+
await vscode.commands.executeCommand('actions.find');
|
|
150
|
+
await updateEditorCodeResources(editorApp);
|
|
151
|
+
});
|
|
152
|
+
document.querySelector('#button-swap-code')?.addEventListener('click', async () => {
|
|
153
|
+
swapCurrentCode();
|
|
154
|
+
if (editorApp !== undefined) {
|
|
155
|
+
await updateEditorCodeResources(editorApp);
|
|
156
|
+
}
|
|
157
|
+
});
|
|
158
|
+
document.querySelector('#button-diff')?.addEventListener('click', async () => {
|
|
159
|
+
diffEditor = !diffEditor;
|
|
160
|
+
const editorAppConfig = createEditorAppConfig(diffEditor);
|
|
161
|
+
if (editorApp !== undefined) {
|
|
162
|
+
await editorApp.dispose();
|
|
163
|
+
}
|
|
164
|
+
editorApp = new EditorApp(editorAppConfig);
|
|
165
|
+
await editorApp.start(htmlContainer);
|
|
166
|
+
await updateEditorCodeResources(editorApp);
|
|
167
|
+
});
|
|
168
|
+
document.querySelector('#button-dispose')?.addEventListener('click', async () => {
|
|
169
|
+
disableElement('button-start', false);
|
|
170
|
+
disableElement('button-diff', true);
|
|
171
|
+
await editorApp?.dispose();
|
|
172
|
+
});
|
|
173
|
+
}
|
|
174
|
+
catch (e) {
|
|
175
|
+
console.error(e);
|
|
176
|
+
}
|
|
177
|
+
};
|
|
178
|
+
//# sourceMappingURL=clientTs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"clientTs.js","sourceRoot":"","sources":["../../src/ts/clientTs.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,16 +6,14 @@
|
|
|
6
6
|
<meta charset="UTF-8" />
|
|
7
7
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
8
8
|
<link rel="stylesheet" href="style.css">
|
|
9
|
+
<link rel="stylesheet" href="./resources/styles/views.editorOnly.css">
|
|
9
10
|
</head>
|
|
10
11
|
|
|
11
12
|
<body>
|
|
12
13
|
<div class="exampleHeadelineDiv">
|
|
13
14
|
<b class="exampleHeadeline">Langium Grammar DSL (Extended Mode)</b> - [<a href="./index.html">Back to Index</a>]
|
|
14
15
|
<br>
|
|
15
|
-
<button type="button" id="button-start">Start</button>
|
|
16
|
-
<button type="button" id="button-dispose">Dispose</button>
|
|
17
16
|
</div>
|
|
18
|
-
<div id="monaco-editor-root" style="height: 80vh; border: 1px solid grey"></div>
|
|
19
17
|
<script type="module">
|
|
20
18
|
import { runLangiumGrammarDsl } from './src/langium/langium-dsl/main.ts';
|
|
21
19
|
|
|
@@ -12,15 +12,12 @@
|
|
|
12
12
|
<div class="exampleHeadelineDiv">
|
|
13
13
|
<b class="exampleHeadeline">React: Langium Statemachine Language Client & Language Server (Worker)</b> - [<a href="./index.html">Back to Index</a>]
|
|
14
14
|
<br>
|
|
15
|
-
<button type="button" id="button-start">Start</button>
|
|
16
|
-
<label>Enable Strict mode:</label><input type="checkbox" id="checkbox-strictmode" />
|
|
17
|
-
<button type="button" id="button-dispose">Dispose</button>
|
|
18
15
|
</div>
|
|
19
16
|
<div id="react-root"></div>
|
|
20
17
|
<script type="module">
|
|
21
18
|
import { runStatemachineReact } from './src/langium/statemachine/main-react.tsx';
|
|
22
19
|
|
|
23
|
-
runStatemachineReact();
|
|
20
|
+
runStatemachineReact(true);
|
|
24
21
|
</script>
|
|
25
22
|
</body>
|
|
26
23
|
|
package/ghp_tsExtHost.html
CHANGED
package/index.html
CHANGED
|
@@ -14,15 +14,13 @@
|
|
|
14
14
|
|
|
15
15
|
This page contains all examples not requiring a backend.
|
|
16
16
|
|
|
17
|
-
<h2>Monaco Editor Wrapper</h2>
|
|
18
|
-
|
|
19
17
|
<h3>Langium</h3>
|
|
20
18
|
|
|
21
|
-
<a href="./ghp_langium_extended.html">
|
|
19
|
+
Langium Grammar DSL (Language Server in Worker): [ <a href="./ghp_langium_extended.html">Example Page</a> ]
|
|
22
20
|
<br>
|
|
23
|
-
<a href="./ghp_statemachine.html">
|
|
21
|
+
Langium Statemachine (Language Server in Worker): [ <a href="./ghp_statemachine.html">Example Page | <a href="./ghp_react_statemachine.html">React Example Page</a> ]
|
|
24
22
|
<br>
|
|
25
|
-
|
|
23
|
+
-> Localized Versions: [
|
|
26
24
|
<a href="./ghp_statemachine.html?locale=cs">cs</a> -
|
|
27
25
|
<a href="./ghp_statemachine.html?locale=de">de</a> -
|
|
28
26
|
<a href="./ghp_statemachine.html?locale=es">es</a> -
|
|
@@ -36,30 +34,20 @@
|
|
|
36
34
|
<a href="./ghp_statemachine.html?locale=ru">ru</a> -
|
|
37
35
|
<a href="./ghp_statemachine.html?locale=tr">tr</a> -
|
|
38
36
|
<a href="./ghp_statemachine.html?locale=zh-hans">zh-hans</a> -
|
|
39
|
-
<a href="./ghp_statemachine.html?locale=zh-hant">zh-hant</a>
|
|
37
|
+
<a href="./ghp_statemachine.html?locale=zh-hant">zh-hant</a> ]
|
|
40
38
|
<br>
|
|
41
39
|
|
|
40
|
+
<h3>JSON</h3>
|
|
41
|
+
Pure Browser Implementation: [ <a href="./ghp_browser.html">Example Page</a> ]
|
|
42
|
+
|
|
42
43
|
<h3>Cpp / Clangd</h3>
|
|
43
|
-
<a href="./ghp_clangd.html">
|
|
44
|
-
<br>
|
|
44
|
+
Cpp (Language Server in Worker/Wasm): [ <a href="./ghp_clangd.html">Example Page</a> ]
|
|
45
45
|
|
|
46
46
|
<h3>Application Playground</h3>
|
|
47
|
-
<a href="./ghp_appPlayground.html">
|
|
48
|
-
<br>
|
|
49
|
-
|
|
50
|
-
<h3>JSON</h3>
|
|
51
|
-
<a href="./ghp_browser.html">Language Client Pure Browser Example</a>
|
|
52
|
-
<br>
|
|
47
|
+
Application Playground (incl. Open Collaboration Tools): [ <a href="./ghp_appPlayground.html">Example Page</a> | <a href="./ghp_react_appPlayground.html">React Example Page</a> ]
|
|
53
48
|
|
|
54
49
|
<h3>TypeScript</h3>
|
|
55
|
-
<a href="./ghp_tsExtHost.html">
|
|
56
|
-
<br>
|
|
57
|
-
|
|
58
|
-
<h2>Monaco Editor React</h2>
|
|
59
|
-
<a href="./ghp_react_appPlayground.html">React: Application Playground</a>
|
|
60
|
-
<br>
|
|
61
|
-
<a href="./ghp_react_statemachine.html">React: Langium Statemachine Language Client & Language Server (Worker)</a>
|
|
62
|
-
<br>
|
|
50
|
+
TypeScript Extension Host Worker: [ <a href="./ghp_tsExtHost.html">Example Page</a> ]
|
|
63
51
|
</div>
|
|
64
52
|
</body>
|
|
65
53
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "monaco-languageclient-examples",
|
|
3
|
-
"version": "2025.9.
|
|
3
|
+
"version": "2025.9.2",
|
|
4
4
|
"description": "Monaco Language client examples",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "TypeFox GmbH",
|
|
@@ -82,49 +82,49 @@
|
|
|
82
82
|
"LICENSE"
|
|
83
83
|
],
|
|
84
84
|
"dependencies": {
|
|
85
|
-
"@codingame/monaco-vscode-configuration-service-override": "^21.
|
|
86
|
-
"@codingame/monaco-vscode-cpp-default-extension": "^21.
|
|
87
|
-
"@codingame/monaco-vscode-debug-service-override": "^21.
|
|
88
|
-
"@codingame/monaco-vscode-editor-api": "^21.
|
|
89
|
-
"@codingame/monaco-vscode-environment-service-override": "^21.
|
|
90
|
-
"@codingame/monaco-vscode-explorer-service-override": "^21.
|
|
91
|
-
"@codingame/monaco-vscode-files-service-override": "^21.
|
|
92
|
-
"@codingame/monaco-vscode-groovy-default-extension": "^21.
|
|
93
|
-
"@codingame/monaco-vscode-java-default-extension": "^21.
|
|
94
|
-
"@codingame/monaco-vscode-javascript-default-extension": "^21.
|
|
95
|
-
"@codingame/monaco-vscode-json-default-extension": "^21.
|
|
96
|
-
"@codingame/monaco-vscode-keybindings-service-override": "^21.
|
|
97
|
-
"@codingame/monaco-vscode-lifecycle-service-override": "^21.
|
|
98
|
-
"@codingame/monaco-vscode-localization-service-override": "^21.
|
|
99
|
-
"@codingame/monaco-vscode-preferences-service-override": "^21.
|
|
100
|
-
"@codingame/monaco-vscode-python-default-extension": "^21.
|
|
101
|
-
"@codingame/monaco-vscode-remote-agent-service-override": "^21.
|
|
102
|
-
"@codingame/monaco-vscode-search-result-default-extension": "^21.
|
|
103
|
-
"@codingame/monaco-vscode-search-service-override": "^21.
|
|
104
|
-
"@codingame/monaco-vscode-secret-storage-service-override": "^21.
|
|
105
|
-
"@codingame/monaco-vscode-standalone-json-language-features": "^21.
|
|
106
|
-
"@codingame/monaco-vscode-standalone-typescript-language-features": "^21.
|
|
107
|
-
"@codingame/monaco-vscode-testing-service-override": "^21.
|
|
108
|
-
"@codingame/monaco-vscode-storage-service-override": "^21.
|
|
109
|
-
"@codingame/monaco-vscode-textmate-service-override": "^21.
|
|
110
|
-
"@codingame/monaco-vscode-theme-defaults-default-extension": "^21.
|
|
111
|
-
"@codingame/monaco-vscode-theme-service-override": "^21.
|
|
112
|
-
"@codingame/monaco-vscode-typescript-basics-default-extension": "^21.
|
|
113
|
-
"@codingame/monaco-vscode-typescript-language-features-default-extension": "^21.
|
|
114
|
-
"@codingame/monaco-vscode-views-service-override": "^21.
|
|
115
|
-
"@codingame/monaco-vscode-outline-service-override": "^21.
|
|
116
|
-
"@typefox/monaco-editor-react": "~7.
|
|
85
|
+
"@codingame/monaco-vscode-configuration-service-override": "^21.3.2",
|
|
86
|
+
"@codingame/monaco-vscode-cpp-default-extension": "^21.3.2",
|
|
87
|
+
"@codingame/monaco-vscode-debug-service-override": "^21.3.2",
|
|
88
|
+
"@codingame/monaco-vscode-editor-api": "^21.3.2",
|
|
89
|
+
"@codingame/monaco-vscode-environment-service-override": "^21.3.2",
|
|
90
|
+
"@codingame/monaco-vscode-explorer-service-override": "^21.3.2",
|
|
91
|
+
"@codingame/monaco-vscode-files-service-override": "^21.3.2",
|
|
92
|
+
"@codingame/monaco-vscode-groovy-default-extension": "^21.3.2",
|
|
93
|
+
"@codingame/monaco-vscode-java-default-extension": "^21.3.2",
|
|
94
|
+
"@codingame/monaco-vscode-javascript-default-extension": "^21.3.2",
|
|
95
|
+
"@codingame/monaco-vscode-json-default-extension": "^21.3.2",
|
|
96
|
+
"@codingame/monaco-vscode-keybindings-service-override": "^21.3.2",
|
|
97
|
+
"@codingame/monaco-vscode-lifecycle-service-override": "^21.3.2",
|
|
98
|
+
"@codingame/monaco-vscode-localization-service-override": "^21.3.2",
|
|
99
|
+
"@codingame/monaco-vscode-preferences-service-override": "^21.3.2",
|
|
100
|
+
"@codingame/monaco-vscode-python-default-extension": "^21.3.2",
|
|
101
|
+
"@codingame/monaco-vscode-remote-agent-service-override": "^21.3.2",
|
|
102
|
+
"@codingame/monaco-vscode-search-result-default-extension": "^21.3.2",
|
|
103
|
+
"@codingame/monaco-vscode-search-service-override": "^21.3.2",
|
|
104
|
+
"@codingame/monaco-vscode-secret-storage-service-override": "^21.3.2",
|
|
105
|
+
"@codingame/monaco-vscode-standalone-json-language-features": "^21.3.2",
|
|
106
|
+
"@codingame/monaco-vscode-standalone-typescript-language-features": "^21.3.2",
|
|
107
|
+
"@codingame/monaco-vscode-testing-service-override": "^21.3.2",
|
|
108
|
+
"@codingame/monaco-vscode-storage-service-override": "^21.3.2",
|
|
109
|
+
"@codingame/monaco-vscode-textmate-service-override": "^21.3.2",
|
|
110
|
+
"@codingame/monaco-vscode-theme-defaults-default-extension": "^21.3.2",
|
|
111
|
+
"@codingame/monaco-vscode-theme-service-override": "^21.3.2",
|
|
112
|
+
"@codingame/monaco-vscode-typescript-basics-default-extension": "^21.3.2",
|
|
113
|
+
"@codingame/monaco-vscode-typescript-language-features-default-extension": "^21.3.2",
|
|
114
|
+
"@codingame/monaco-vscode-views-service-override": "^21.3.2",
|
|
115
|
+
"@codingame/monaco-vscode-outline-service-override": "^21.3.2",
|
|
116
|
+
"@typefox/monaco-editor-react": "~7.1.0",
|
|
117
117
|
"cors": "~2.8.5",
|
|
118
118
|
"express": "~5.1.0",
|
|
119
119
|
"jszip": "~3.10.1",
|
|
120
|
-
"langium": "~4.0
|
|
121
|
-
"monaco-languageclient": "~10.
|
|
120
|
+
"langium": "~4.1.0",
|
|
121
|
+
"monaco-languageclient": "~10.1.0",
|
|
122
122
|
"pyright": "~1.1.404",
|
|
123
123
|
"react": "~19.1.1",
|
|
124
124
|
"react-dom": "~19.1.1",
|
|
125
125
|
"request-light": "~0.8.0",
|
|
126
|
-
"vscode": "npm:@codingame/monaco-vscode-extension-api@^21.
|
|
127
|
-
"vscode-json-languageservice": "~5.6.
|
|
126
|
+
"vscode": "npm:@codingame/monaco-vscode-extension-api@^21.3.2",
|
|
127
|
+
"vscode-json-languageservice": "~5.6.2",
|
|
128
128
|
"vscode-languageclient": "~9.0.1",
|
|
129
129
|
"vscode-languageserver": "~9.0.1",
|
|
130
130
|
"vscode-uri": "~3.1.0",
|
|
@@ -137,21 +137,21 @@
|
|
|
137
137
|
"@types/emscripten": "~1.41.2",
|
|
138
138
|
"@types/express": "~5.0.3",
|
|
139
139
|
"@types/ws": "~8.18.1",
|
|
140
|
-
"langium-cli": "~4.
|
|
140
|
+
"langium-cli": "~4.1.0",
|
|
141
141
|
"mini-coi": "~0.4.2",
|
|
142
|
-
"ts-node": "~10.9.1",
|
|
143
142
|
"vite-plugin-static-copy": "~3.1.2",
|
|
144
143
|
"vscode-languageserver-types": "~3.17.5"
|
|
145
144
|
},
|
|
146
145
|
"scripts": {
|
|
147
146
|
"clean": "shx rm -fr dist *.tsbuildinfo ./resources/vsix",
|
|
148
|
-
"compile": "
|
|
147
|
+
"compile": "tsgo --build tsconfig.src.json",
|
|
149
148
|
"resources:download": "tsx ./resources/scripts/downloadResources.ts",
|
|
150
149
|
"build:msg": "echo Building main examples:",
|
|
151
150
|
"build": "npm run build:msg && npm run clean && npm run resources:download && npm run extract:docker && npm run compile",
|
|
152
151
|
"start:server:json": "tsx src/json/server/direct.ts",
|
|
153
152
|
"start:server:python": "tsx src/python/server/direct.ts",
|
|
154
|
-
"langium:generate": "langium generate --file ./src/langium/statemachine/config/langium-config.json",
|
|
153
|
+
"langium:generate:statemachine": "langium generate --file ./src/langium/statemachine/config/langium-config.json",
|
|
154
|
+
"langium:generate": "npm run langium:generate:statemachine",
|
|
155
155
|
"extract:docker": "tsx ./resources/clangd/scripts/extractDockerFiles.ts",
|
|
156
156
|
"production:clean": "shx rm -fr ./production",
|
|
157
157
|
"production:copy:mini-coi": "mini-coi --service-worker production/mini-coi.js",
|
|
@@ -12,9 +12,6 @@ export const configurePostStart = async (apiWrapper: MonacoVscodeApiWrapper, con
|
|
|
12
12
|
const result = apiWrapper.getExtensionRegisterResult('mlc-app-playground') as RegisterLocalProcessExtensionResult;
|
|
13
13
|
result.setAsDefaultApi();
|
|
14
14
|
|
|
15
|
-
// WA: Force show explorer and not search
|
|
16
|
-
await vscode.commands.executeCommand('workbench.view.explorer');
|
|
17
|
-
|
|
18
15
|
await Promise.all([
|
|
19
16
|
await vscode.workspace.openTextDocument(configResult.helloTsUri),
|
|
20
17
|
await vscode.workspace.openTextDocument(configResult.testerTsUri)
|
|
@@ -27,9 +27,8 @@ import '@codingame/monaco-vscode-typescript-language-features-default-extension'
|
|
|
27
27
|
|
|
28
28
|
import '../../resources/vsix/open-collaboration-tools.vsix';
|
|
29
29
|
|
|
30
|
-
import type { EditorAppConfig } from 'monaco-languageclient/editorApp';
|
|
31
30
|
import { createDefaultLocaleConfiguration } from 'monaco-languageclient/vscodeApiLocales';
|
|
32
|
-
import { defaultHtmlAugmentationInstructions, defaultViewsInit, type
|
|
31
|
+
import { defaultHtmlAugmentationInstructions, defaultViewsInit, type MonacoVscodeApiConfig } from 'monaco-languageclient/vscodeApiWrapper';
|
|
33
32
|
import { configureDefaultWorkerFactory } from 'monaco-languageclient/workerFactory';
|
|
34
33
|
import helloTsCode from '../../resources/appPlayground/hello.ts?raw';
|
|
35
34
|
import testerTsCode from '../../resources/appPlayground/tester.ts?raw';
|
|
@@ -37,13 +36,12 @@ import { createDefaultWorkspaceContent } from '../common/client/utils.js';
|
|
|
37
36
|
|
|
38
37
|
export type ConfigResult = {
|
|
39
38
|
vscodeApiConfig: MonacoVscodeApiConfig;
|
|
40
|
-
editorAppConfig: EditorAppConfig
|
|
41
39
|
workspaceFileUri: vscode.Uri;
|
|
42
40
|
helloTsUri: vscode.Uri;
|
|
43
41
|
testerTsUri: vscode.Uri;
|
|
44
42
|
};
|
|
45
43
|
|
|
46
|
-
export const configure = async (htmlContainer
|
|
44
|
+
export const configure = async (htmlContainer?: HTMLElement): Promise<ConfigResult> => {
|
|
47
45
|
const workspaceFileUri = vscode.Uri.file('/workspace.code-workspace');
|
|
48
46
|
|
|
49
47
|
const vscodeApiConfig: MonacoVscodeApiConfig = {
|
|
@@ -103,7 +101,7 @@ export const configure = async (htmlContainer: HtmlContainerConfig): Promise<Con
|
|
|
103
101
|
'typescript.tsserver.web.projectWideIntellisense.suppressSemanticErrors': false,
|
|
104
102
|
'editor.guides.bracketPairsHorizontal': true,
|
|
105
103
|
'oct.serverUrl': 'https://api.open-collab.tools/',
|
|
106
|
-
'editor.experimental.asyncTokenization':
|
|
104
|
+
'editor.experimental.asyncTokenization': true
|
|
107
105
|
})
|
|
108
106
|
},
|
|
109
107
|
extensions: [{
|
|
@@ -122,10 +120,6 @@ export const configure = async (htmlContainer: HtmlContainerConfig): Promise<Con
|
|
|
122
120
|
monacoWorkerFactory: configureDefaultWorkerFactory
|
|
123
121
|
};
|
|
124
122
|
|
|
125
|
-
const editorAppConfig: EditorAppConfig = {
|
|
126
|
-
id: 'AAP'
|
|
127
|
-
};
|
|
128
|
-
|
|
129
123
|
const workspaceUri = vscode.Uri.file('/workspace');
|
|
130
124
|
const helloTsUri = vscode.Uri.file('/workspace/hello.ts');
|
|
131
125
|
const testerTsUri = vscode.Uri.file('/workspace/tester.ts');
|
|
@@ -146,7 +140,6 @@ export const configure = async (htmlContainer: HtmlContainerConfig): Promise<Con
|
|
|
146
140
|
|
|
147
141
|
return {
|
|
148
142
|
vscodeApiConfig,
|
|
149
|
-
editorAppConfig,
|
|
150
143
|
workspaceFileUri,
|
|
151
144
|
helloTsUri,
|
|
152
145
|
testerTsUri
|
|
@@ -11,14 +11,13 @@ import { configurePostStart } from './common.js';
|
|
|
11
11
|
|
|
12
12
|
export const runApplicationPlaygroundReact = async () => {
|
|
13
13
|
|
|
14
|
-
const configResult = await configure(
|
|
14
|
+
const configResult = await configure();
|
|
15
15
|
const root = ReactDOM.createRoot(document.getElementById('react-root')!);
|
|
16
16
|
const App = () => {
|
|
17
17
|
return (
|
|
18
18
|
<div style={{ 'backgroundColor': '#1f1f1f' }}>
|
|
19
19
|
<MonacoEditorReactComp
|
|
20
20
|
vscodeApiConfig={configResult.vscodeApiConfig}
|
|
21
|
-
editorAppConfig={configResult.editorAppConfig}
|
|
22
21
|
onVscodeApiInitDone={async (apiWrapper) => {
|
|
23
22
|
await configurePostStart(apiWrapper, configResult);
|
|
24
23
|
}}
|
package/src/browser/main.ts
CHANGED
|
@@ -28,11 +28,12 @@ export const runBrowserEditor = async () => {
|
|
|
28
28
|
}`;
|
|
29
29
|
const codeUri = '/workspace/model.json';
|
|
30
30
|
|
|
31
|
+
const htmlContainer = document.getElementById('monaco-editor-root')!;
|
|
31
32
|
const vscodeApiConfig: MonacoVscodeApiConfig = {
|
|
32
33
|
$type: 'extended',
|
|
33
34
|
viewsConfig: {
|
|
34
35
|
$type: 'EditorService',
|
|
35
|
-
htmlContainer
|
|
36
|
+
htmlContainer
|
|
36
37
|
},
|
|
37
38
|
logLevel: LogLevel.Debug,
|
|
38
39
|
serviceOverrides: {
|
|
@@ -159,7 +160,7 @@ export const runBrowserEditor = async () => {
|
|
|
159
160
|
diagnosticCollection.clear();
|
|
160
161
|
};
|
|
161
162
|
|
|
162
|
-
await editorApp.start(
|
|
163
|
+
await editorApp.start(htmlContainer);
|
|
163
164
|
|
|
164
165
|
editorApp.getTextModels().modified?.onDidChangeContent(() => {
|
|
165
166
|
validate();
|
|
@@ -3,8 +3,7 @@
|
|
|
3
3
|
* Licensed under the MIT License. See LICENSE in the package root for license information.
|
|
4
4
|
* ------------------------------------------------------------------------------------------ */
|
|
5
5
|
|
|
6
|
-
import type { DirectoryListingRequest, DirectoryListingRequestResult, FileReadRequest, FileReadRequestResult, FileSystemEndpoint, FileUpdate, FileUpdateResult, StatsRequest, StatsRequestResult } from 'monaco-languageclient/fs';
|
|
7
|
-
import { EndpointType } from 'monaco-languageclient/fs';
|
|
6
|
+
import type { DirectoryListingRequest, DirectoryListingRequestResult, EndpointType, FileReadRequest, FileReadRequestResult, FileSystemEndpoint, FileUpdate, FileUpdateResult, StatsRequest, StatsRequestResult } from 'monaco-languageclient/fs';
|
|
8
7
|
import { ComChannelEndpoint, type ComRouter, RawPayload, WorkerMessage } from 'wtd-core';
|
|
9
8
|
|
|
10
9
|
class FileHandlerWorker implements ComRouter {
|
|
@@ -44,7 +43,7 @@ export class WorkerRemoteMessageChannelFs implements FileSystemEndpoint {
|
|
|
44
43
|
}
|
|
45
44
|
|
|
46
45
|
getEndpointType(): EndpointType {
|
|
47
|
-
return
|
|
46
|
+
return 'DRIVER';
|
|
48
47
|
}
|
|
49
48
|
|
|
50
49
|
async init() {
|
|
@@ -96,7 +96,7 @@ export const runExtendedClient = async (lsConfig: ExampleLsConfig, helloCode: st
|
|
|
96
96
|
|
|
97
97
|
try {
|
|
98
98
|
document.querySelector('#button-start')?.addEventListener('click', async () => {
|
|
99
|
-
await editorApp.start(
|
|
99
|
+
await editorApp.start(htmlContainer);
|
|
100
100
|
await lcWrapper.start();
|
|
101
101
|
|
|
102
102
|
// open files, so the LS can pick it up
|