monaco-languageclient-examples 2025.8.5 → 2025.9.1-next.0

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.
Files changed (106) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/README.md +0 -1
  3. package/dist/appPlayground/config.d.ts +2 -2
  4. package/dist/appPlayground/config.d.ts.map +1 -1
  5. package/dist/appPlayground/config.js +4 -5
  6. package/dist/appPlayground/config.js.map +1 -1
  7. package/dist/appPlayground/main.js +1 -1
  8. package/dist/appPlayground/main.js.map +1 -1
  9. package/dist/appPlayground/reactMain.js +1 -1
  10. package/dist/appPlayground/reactMain.js.map +1 -1
  11. package/dist/browser/main.d.ts.map +1 -1
  12. package/dist/browser/main.js +6 -5
  13. package/dist/browser/main.js.map +1 -1
  14. package/dist/clangd/client/config.d.ts.map +1 -1
  15. package/dist/clangd/client/config.js +4 -6
  16. package/dist/clangd/client/config.js.map +1 -1
  17. package/dist/clangd/client/main.js +1 -1
  18. package/dist/clangd/client/main.js.map +1 -1
  19. package/dist/common/client/extendedClient.d.ts +1 -1
  20. package/dist/common/client/extendedClient.d.ts.map +1 -1
  21. package/dist/common/client/extendedClient.js +14 -6
  22. package/dist/common/client/extendedClient.js.map +1 -1
  23. package/dist/debugger/common/definitions.d.ts +2 -1
  24. package/dist/debugger/common/definitions.d.ts.map +1 -1
  25. package/dist/debugger/common/definitions.js.map +1 -1
  26. package/dist/eclipse.jdt.ls/config.js +1 -1
  27. package/dist/eclipse.jdt.ls/config.js.map +1 -1
  28. package/dist/groovy/config.js +1 -1
  29. package/dist/groovy/config.js.map +1 -1
  30. package/dist/json/client/classic.d.ts +4 -0
  31. package/dist/json/client/classic.d.ts.map +1 -0
  32. package/dist/{bare/client.js → json/client/classic.js} +43 -31
  33. package/dist/json/client/classic.js.map +1 -0
  34. package/dist/json/client/config.js +1 -1
  35. package/dist/json/client/config.js.map +1 -1
  36. package/dist/json/client/{client.d.ts → extended.d.ts} +1 -1
  37. package/dist/json/client/extended.d.ts.map +1 -0
  38. package/dist/json/client/{client.js → extended.js} +5 -2
  39. package/dist/json/client/extended.js.map +1 -0
  40. package/dist/langium/langium-dsl/config/extendedConfig.d.ts.map +1 -1
  41. package/dist/langium/langium-dsl/config/extendedConfig.js +4 -5
  42. package/dist/langium/langium-dsl/config/extendedConfig.js.map +1 -1
  43. package/dist/langium/langium-dsl/main.js +1 -1
  44. package/dist/langium/langium-dsl/main.js.map +1 -1
  45. package/dist/langium/statemachine/config/wrapperStatemachineConfig.d.ts +2 -1
  46. package/dist/langium/statemachine/config/wrapperStatemachineConfig.d.ts.map +1 -1
  47. package/dist/langium/statemachine/config/wrapperStatemachineConfig.js +5 -2
  48. package/dist/langium/statemachine/config/wrapperStatemachineConfig.js.map +1 -1
  49. package/dist/langium/statemachine/ls/generated/ast.d.ts +5 -5
  50. package/dist/langium/statemachine/main-react.d.ts.map +1 -1
  51. package/dist/langium/statemachine/main-react.js +2 -7
  52. package/dist/langium/statemachine/main-react.js.map +1 -1
  53. package/dist/langium/statemachine/main.d.ts.map +1 -1
  54. package/dist/langium/statemachine/main.js +5 -6
  55. package/dist/langium/statemachine/main.js.map +1 -1
  56. package/dist/multi/config.d.ts.map +1 -1
  57. package/dist/multi/config.js +2 -1
  58. package/dist/multi/config.js.map +1 -1
  59. package/dist/multi/twoLanguageClients.d.ts.map +1 -1
  60. package/dist/multi/twoLanguageClients.js +7 -6
  61. package/dist/multi/twoLanguageClients.js.map +1 -1
  62. package/dist/python/client/config.d.ts +2 -2
  63. package/dist/python/client/config.d.ts.map +1 -1
  64. package/dist/python/client/config.js +4 -6
  65. package/dist/python/client/config.js.map +1 -1
  66. package/dist/python/client/main.d.ts.map +1 -1
  67. package/dist/python/client/main.js +2 -3
  68. package/dist/python/client/main.js.map +1 -1
  69. package/dist/python/client/reactPython.d.ts.map +1 -1
  70. package/dist/python/client/reactPython.js +1 -6
  71. package/dist/python/client/reactPython.js.map +1 -1
  72. package/dist/ts/wrapperTs.d.ts.map +1 -1
  73. package/dist/ts/wrapperTs.js +6 -3
  74. package/dist/ts/wrapperTs.js.map +1 -1
  75. package/json.html +1 -1
  76. package/{bare.html → json_classic.html} +1 -1
  77. package/package.json +41 -41
  78. package/src/appPlayground/config.ts +5 -6
  79. package/src/appPlayground/main.ts +1 -1
  80. package/src/appPlayground/reactMain.tsx +1 -1
  81. package/src/browser/main.ts +6 -5
  82. package/src/clangd/client/config.ts +4 -6
  83. package/src/clangd/client/main.ts +1 -1
  84. package/src/common/client/extendedClient.ts +15 -7
  85. package/src/debugger/common/definitions.ts +2 -1
  86. package/src/eclipse.jdt.ls/config.ts +1 -1
  87. package/src/groovy/config.ts +1 -1
  88. package/src/{bare/client.ts → json/client/classic.ts} +44 -31
  89. package/src/json/client/config.ts +1 -1
  90. package/src/json/client/{client.ts → extended.ts} +4 -1
  91. package/src/langium/langium-dsl/config/extendedConfig.ts +4 -5
  92. package/src/langium/langium-dsl/main.ts +1 -1
  93. package/src/langium/statemachine/config/wrapperStatemachineConfig.ts +7 -4
  94. package/src/langium/statemachine/main-react.tsx +2 -7
  95. package/src/langium/statemachine/main.ts +5 -6
  96. package/src/multi/config.ts +2 -1
  97. package/src/multi/twoLanguageClients.ts +9 -8
  98. package/src/python/client/config.ts +7 -9
  99. package/src/python/client/main.ts +2 -4
  100. package/src/python/client/reactPython.tsx +1 -7
  101. package/src/ts/wrapperTs.ts +6 -3
  102. package/dist/bare/client.d.ts +0 -3
  103. package/dist/bare/client.d.ts.map +0 -1
  104. package/dist/bare/client.js.map +0 -1
  105. package/dist/json/client/client.d.ts.map +0 -1
  106. package/dist/json/client/client.js.map +0 -1
@@ -24,7 +24,10 @@ export const runTsWrapper = async () => {
24
24
  const htmlContainer = document.getElementById('monaco-editor-root');
25
25
  const vscodeApiConfig = {
26
26
  $type: 'extended',
27
- htmlContainer,
27
+ viewsConfig: {
28
+ $type: 'EditorService',
29
+ htmlContainer
30
+ },
28
31
  logLevel: LogLevel.Debug,
29
32
  serviceOverrides: {
30
33
  ...getKeybindingsServiceOverride()
@@ -47,7 +50,6 @@ export const runTsWrapper = async () => {
47
50
  monacoWorkerFactory: configureDefaultWorkerFactory
48
51
  };
49
52
  const editorAppConfig = {
50
- $type: vscodeApiConfig.$type,
51
53
  codeResources: {
52
54
  modified: {
53
55
  text: code,
@@ -59,8 +61,9 @@ export const runTsWrapper = async () => {
59
61
  }
60
62
  }
61
63
  };
64
+ // perform global monaco-vscode-api init
62
65
  const apiWrapper = new MonacoVscodeApiWrapper(vscodeApiConfig);
63
- await apiWrapper.init();
66
+ await apiWrapper.start();
64
67
  const editorApp = new EditorApp(editorAppConfig);
65
68
  disableElement('button-swap-code', true);
66
69
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"wrapperTs.js","sourceRoot":"","sources":["../../src/ts/wrapperTs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wrapperTs.js","sourceRoot":"","sources":["../../src/ts/wrapperTs.ts"],"names":[],"mappings":"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"}
package/json.html CHANGED
@@ -17,7 +17,7 @@
17
17
  </div>
18
18
  <div id="monaco-editor-root" style="height: 80vh;"></div>
19
19
  <script type="module">
20
- import { runJsonWrapper } from './src/json/client/client.ts';
20
+ import { runJsonWrapper } from './src/json/client/extended.ts';
21
21
 
22
22
  runJsonWrapper();
23
23
  </script>
@@ -15,7 +15,7 @@
15
15
  </div>
16
16
  <div id="monaco-editor-root" style="width:800px;height:600px;border:1px solid grey"></div>
17
17
  <script type="module">
18
- import { runClient } from "./src/bare/client.ts";
18
+ import { runClient } from "./src/json/client/classic.ts";
19
19
 
20
20
  runClient();
21
21
  </script>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "monaco-languageclient-examples",
3
- "version": "2025.8.5",
3
+ "version": "2025.9.1-next.0",
4
4
  "description": "Monaco Language client examples",
5
5
  "author": {
6
6
  "name": "TypeFox GmbH",
@@ -29,8 +29,8 @@
29
29
  "default": "./dist/node.js"
30
30
  },
31
31
  "./json-client": {
32
- "types": "./dist/json/client/client.d.ts",
33
- "default": "./dist/json/client/client.js"
32
+ "types": "./dist/json/client/extended.d.ts",
33
+ "default": "./dist/json/client/extended.js"
34
34
  },
35
35
  "./python-client": {
36
36
  "types": "./dist/python/client/main.d.ts",
@@ -54,7 +54,7 @@
54
54
  "dist/node"
55
55
  ],
56
56
  "json-client": [
57
- "dist/json/client/client"
57
+ "dist/json/client/extended"
58
58
  ],
59
59
  "worker/langium": [
60
60
  "dist/langium/langium-dsl/worker/langium-server"
@@ -69,7 +69,7 @@
69
69
  "npm": ">=10.2.3"
70
70
  },
71
71
  "volta": {
72
- "node": "22.18.0",
72
+ "node": "22.19.0",
73
73
  "npm": "10.9.3"
74
74
  },
75
75
  "files": [
@@ -82,48 +82,48 @@
82
82
  "LICENSE"
83
83
  ],
84
84
  "dependencies": {
85
- "@codingame/monaco-vscode-configuration-service-override": "~20.2.1",
86
- "@codingame/monaco-vscode-cpp-default-extension": "~20.2.1",
87
- "@codingame/monaco-vscode-debug-service-override": "~20.2.1",
88
- "@codingame/monaco-vscode-editor-api": "~20.2.1",
89
- "@codingame/monaco-vscode-environment-service-override": "~20.2.1",
90
- "@codingame/monaco-vscode-explorer-service-override": "~20.2.1",
91
- "@codingame/monaco-vscode-files-service-override": "~20.2.1",
92
- "@codingame/monaco-vscode-groovy-default-extension": "~20.2.1",
93
- "@codingame/monaco-vscode-java-default-extension": "~20.2.1",
94
- "@codingame/monaco-vscode-javascript-default-extension": "~20.2.1",
95
- "@codingame/monaco-vscode-json-default-extension": "~20.2.1",
96
- "@codingame/monaco-vscode-keybindings-service-override": "~20.2.1",
97
- "@codingame/monaco-vscode-lifecycle-service-override": "~20.2.1",
98
- "@codingame/monaco-vscode-localization-service-override": "~20.2.1",
99
- "@codingame/monaco-vscode-preferences-service-override": "~20.2.1",
100
- "@codingame/monaco-vscode-python-default-extension": "~20.2.1",
101
- "@codingame/monaco-vscode-remote-agent-service-override": "~20.2.1",
102
- "@codingame/monaco-vscode-search-result-default-extension": "~20.2.1",
103
- "@codingame/monaco-vscode-search-service-override": "~20.2.1",
104
- "@codingame/monaco-vscode-secret-storage-service-override": "~20.2.1",
105
- "@codingame/monaco-vscode-standalone-json-language-features": "~20.2.1",
106
- "@codingame/monaco-vscode-standalone-typescript-language-features": "~20.2.1",
107
- "@codingame/monaco-vscode-testing-service-override": "~20.2.1",
108
- "@codingame/monaco-vscode-storage-service-override": "~20.2.1",
109
- "@codingame/monaco-vscode-textmate-service-override": "~20.2.1",
110
- "@codingame/monaco-vscode-theme-defaults-default-extension": "~20.2.1",
111
- "@codingame/monaco-vscode-theme-service-override": "~20.2.1",
112
- "@codingame/monaco-vscode-typescript-basics-default-extension": "~20.2.1",
113
- "@codingame/monaco-vscode-typescript-language-features-default-extension": "~20.2.1",
114
- "@codingame/monaco-vscode-views-service-override": "~20.2.1",
115
- "@codingame/monaco-vscode-outline-service-override": "~20.2.1",
116
- "@typefox/monaco-editor-react": "~7.0.0-next.1",
85
+ "@codingame/monaco-vscode-configuration-service-override": "^21.0.1",
86
+ "@codingame/monaco-vscode-cpp-default-extension": "^21.0.1",
87
+ "@codingame/monaco-vscode-debug-service-override": "^21.0.1",
88
+ "@codingame/monaco-vscode-editor-api": "^21.0.1",
89
+ "@codingame/monaco-vscode-environment-service-override": "^21.0.1",
90
+ "@codingame/monaco-vscode-explorer-service-override": "^21.0.1",
91
+ "@codingame/monaco-vscode-files-service-override": "^21.0.1",
92
+ "@codingame/monaco-vscode-groovy-default-extension": "^21.0.1",
93
+ "@codingame/monaco-vscode-java-default-extension": "^21.0.1",
94
+ "@codingame/monaco-vscode-javascript-default-extension": "^21.0.1",
95
+ "@codingame/monaco-vscode-json-default-extension": "^21.0.1",
96
+ "@codingame/monaco-vscode-keybindings-service-override": "^21.0.1",
97
+ "@codingame/monaco-vscode-lifecycle-service-override": "^21.0.1",
98
+ "@codingame/monaco-vscode-localization-service-override": "^21.0.1",
99
+ "@codingame/monaco-vscode-preferences-service-override": "^21.0.1",
100
+ "@codingame/monaco-vscode-python-default-extension": "^21.0.1",
101
+ "@codingame/monaco-vscode-remote-agent-service-override": "^21.0.1",
102
+ "@codingame/monaco-vscode-search-result-default-extension": "^21.0.1",
103
+ "@codingame/monaco-vscode-search-service-override": "^21.0.1",
104
+ "@codingame/monaco-vscode-secret-storage-service-override": "^21.0.1",
105
+ "@codingame/monaco-vscode-standalone-json-language-features": "^21.0.1",
106
+ "@codingame/monaco-vscode-standalone-typescript-language-features": "^21.0.1",
107
+ "@codingame/monaco-vscode-testing-service-override": "^21.0.1",
108
+ "@codingame/monaco-vscode-storage-service-override": "^21.0.1",
109
+ "@codingame/monaco-vscode-textmate-service-override": "^21.0.1",
110
+ "@codingame/monaco-vscode-theme-defaults-default-extension": "^21.0.1",
111
+ "@codingame/monaco-vscode-theme-service-override": "^21.0.1",
112
+ "@codingame/monaco-vscode-typescript-basics-default-extension": "^21.0.1",
113
+ "@codingame/monaco-vscode-typescript-language-features-default-extension": "^21.0.1",
114
+ "@codingame/monaco-vscode-views-service-override": "^21.0.1",
115
+ "@codingame/monaco-vscode-outline-service-override": "^21.0.1",
116
+ "@typefox/monaco-editor-react": "~7.0.0-next.2",
117
117
  "cors": "~2.8.5",
118
118
  "express": "~5.1.0",
119
119
  "jszip": "~3.10.1",
120
- "langium": "~4.0.0",
121
- "monaco-languageclient": "~10.0.0-next.1",
120
+ "langium": "~4.0.3",
121
+ "monaco-languageclient": "~10.0.0-next.2",
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@~20.2.1",
126
+ "vscode": "npm:@codingame/monaco-vscode-extension-api@^21.0.1",
127
127
  "vscode-json-languageservice": "~5.6.1",
128
128
  "vscode-languageclient": "~9.0.1",
129
129
  "vscode-languageserver": "~9.0.1",
@@ -134,7 +134,7 @@
134
134
  },
135
135
  "devDependencies": {
136
136
  "@types/cors": "~2.8.19",
137
- "@types/emscripten": "~1.40.1",
137
+ "@types/emscripten": "~1.41.2",
138
138
  "@types/express": "~5.0.3",
139
139
  "@types/ws": "~8.18.1",
140
140
  "langium-cli": "~4.0.0",
@@ -27,9 +27,9 @@ import '@codingame/monaco-vscode-typescript-language-features-default-extension'
27
27
 
28
28
  import '../../resources/vsix/open-collaboration-tools.vsix';
29
29
 
30
- import { defaultHtmlAugmentationInstructions, defaultViewsInit, type MonacoVscodeApiConfig } from 'monaco-languageclient/vscodeApiWrapper';
31
30
  import type { EditorAppConfig } from 'monaco-languageclient/editorApp';
32
31
  import { createDefaultLocaleConfiguration } from 'monaco-languageclient/vscodeApiLocales';
32
+ import { defaultHtmlAugmentationInstructions, defaultViewsInit, type HtmlContainerConfig, type MonacoVscodeApiConfig } from 'monaco-languageclient/vscodeApiWrapper';
33
33
  import { configureDefaultWorkerFactory } from 'monaco-languageclient/workerFactory';
34
34
  import helloTsCode from '../../resources/appPlayground/hello.ts?raw';
35
35
  import testerTsCode from '../../resources/appPlayground/tester.ts?raw';
@@ -43,13 +43,12 @@ export type ConfigResult = {
43
43
  testerTsUri: vscode.Uri;
44
44
  };
45
45
 
46
- export const configure = async (htmlContainer?: HTMLElement): Promise<ConfigResult> => {
46
+ export const configure = async (htmlContainer: HtmlContainerConfig): Promise<ConfigResult> => {
47
47
  const workspaceFileUri = vscode.Uri.file('/workspace.code-workspace');
48
48
 
49
49
  const vscodeApiConfig: MonacoVscodeApiConfig = {
50
50
  $type: 'extended',
51
51
  logLevel: LogLevel.Debug,
52
- htmlContainer,
53
52
  serviceOverrides: {
54
53
  ...getKeybindingsServiceOverride(),
55
54
  ...getLifecycleServiceOverride(),
@@ -66,7 +65,8 @@ export const configure = async (htmlContainer?: HTMLElement): Promise<ConfigResu
66
65
  ...getOutlineServiceOverride()
67
66
  },
68
67
  viewsConfig: {
69
- viewServiceType: 'ViewsService',
68
+ $type: 'ViewsService',
69
+ htmlContainer,
70
70
  htmlAugmentationInstructions: defaultHtmlAugmentationInstructions,
71
71
  viewsInitFunc: defaultViewsInit
72
72
  },
@@ -123,8 +123,7 @@ export const configure = async (htmlContainer?: HTMLElement): Promise<ConfigResu
123
123
  };
124
124
 
125
125
  const editorAppConfig: EditorAppConfig = {
126
- $type: vscodeApiConfig.$type,
127
- id: 'AAP',
126
+ id: 'AAP'
128
127
  };
129
128
 
130
129
  const workspaceUri = vscode.Uri.file('/workspace');
@@ -15,7 +15,7 @@ export const runApplicationPlayground = async () => {
15
15
 
16
16
  // perform global init
17
17
  const apiWrapper = new MonacoVscodeApiWrapper(configResult.vscodeApiConfig);
18
- await apiWrapper.init();
18
+ await apiWrapper.start();
19
19
 
20
20
  await configurePostStart(apiWrapper, configResult);
21
21
  };
@@ -11,7 +11,7 @@ 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('ReactPlaceholder');
15
15
  const root = ReactDOM.createRoot(document.getElementById('react-root')!);
16
16
  const App = () => {
17
17
  return (
@@ -21,7 +21,6 @@ export const runBrowserEditor = async () => {
21
21
  const protocolConverter = createProtocolConverter(undefined, true, true);
22
22
 
23
23
  let mainVscodeDocument: vscode.TextDocument | undefined;
24
- const htmlContainer = document.getElementById('monaco-editor-root')!;
25
24
  const languageId = 'json';
26
25
  const code = `{
27
26
  "$schema": "http://json.schemastore.org/coffeelint",
@@ -31,7 +30,10 @@ export const runBrowserEditor = async () => {
31
30
 
32
31
  const vscodeApiConfig: MonacoVscodeApiConfig = {
33
32
  $type: 'extended',
34
- htmlContainer,
33
+ viewsConfig: {
34
+ $type: 'EditorService',
35
+ htmlContainer: document.getElementById('monaco-editor-root')!
36
+ },
35
37
  logLevel: LogLevel.Debug,
36
38
  serviceOverrides: {
37
39
  ...getKeybindingsServiceOverride(),
@@ -47,7 +49,6 @@ export const runBrowserEditor = async () => {
47
49
  monacoWorkerFactory: configureDefaultWorkerFactory
48
50
  };
49
51
  const editorAppConfig: EditorAppConfig = {
50
- $type: vscodeApiConfig.$type,
51
52
  codeResources: {
52
53
  modified: {
53
54
  text: code,
@@ -56,7 +57,7 @@ export const runBrowserEditor = async () => {
56
57
  }
57
58
  };
58
59
  const apiWrapper = new MonacoVscodeApiWrapper(vscodeApiConfig);
59
- await apiWrapper.init();
60
+ await apiWrapper.start();
60
61
 
61
62
  const editorApp = new EditorApp(editorAppConfig);
62
63
 
@@ -158,7 +159,7 @@ export const runBrowserEditor = async () => {
158
159
  diagnosticCollection.clear();
159
160
  };
160
161
 
161
- await editorApp.start(htmlContainer);
162
+ await editorApp.start(apiWrapper.getHtmlContainer());
162
163
 
163
164
  editorApp.getTextModels().modified?.onDidChangeContent(() => {
164
165
  validate();
@@ -35,7 +35,6 @@ export const createClangdAppConfig = async (config: {
35
35
  }): Promise<ClangdAppConfig> => {
36
36
  const vscodeApiConfig: MonacoVscodeApiConfig = {
37
37
  $type: 'extended',
38
- htmlContainer: config.htmlContainer,
39
38
  logLevel: LogLevel.Debug,
40
39
  serviceOverrides: {
41
40
  ...getKeybindingsServiceOverride(),
@@ -49,7 +48,8 @@ export const createClangdAppConfig = async (config: {
49
48
  ...getSecretStorageServiceOverride()
50
49
  },
51
50
  viewsConfig: {
52
- viewServiceType: 'ViewsService',
51
+ $type: 'ViewsService',
52
+ htmlContainer: config.htmlContainer,
53
53
  htmlAugmentationInstructions: defaultHtmlAugmentationInstructions,
54
54
  viewsInitFunc: defaultViewsInit
55
55
  },
@@ -102,7 +102,7 @@ export const createClangdAppConfig = async (config: {
102
102
  };
103
103
 
104
104
  const languageClientConfig: LanguageClientConfig = {
105
- name: 'Clangd WASM Language Server',
105
+ languageId: 'cpp',
106
106
  connection: {
107
107
  options: {
108
108
  $type: 'WorkerDirect',
@@ -125,9 +125,7 @@ export const createClangdAppConfig = async (config: {
125
125
  }
126
126
  };
127
127
 
128
- const editorAppConfig: EditorAppConfig = {
129
- $type: vscodeApiConfig.$type
130
- };
128
+ const editorAppConfig: EditorAppConfig = {};
131
129
 
132
130
  return {
133
131
  vscodeApiConfig,
@@ -41,7 +41,7 @@ export const runClangdWrapper = async () => {
41
41
 
42
42
  // perform global init
43
43
  const apiWrapper = new MonacoVscodeApiWrapper(appConfig.vscodeApiConfig);
44
- await apiWrapper.init();
44
+ await apiWrapper.start();
45
45
 
46
46
  const lcWrapper = new LanguageClientWrapper(appConfig.languageClientConfig);
47
47
 
@@ -13,9 +13,10 @@ import { EditorApp, type EditorAppConfig } from 'monaco-languageclient/editorApp
13
13
  import { configureDefaultWorkerFactory } from 'monaco-languageclient/workerFactory';
14
14
  import { LanguageClientWrapper, type LanguageClientConfig } from 'monaco-languageclient/lcwrapper';
15
15
  import { MonacoVscodeApiWrapper, type MonacoVscodeApiConfig } from 'monaco-languageclient/vscodeApiWrapper';
16
+ import { LangiumMonarchContent } from '../../langium/langium-dsl/config/langium.monarch.js';
16
17
 
17
18
  export const runExtendedClient = async (lsConfig: ExampleLsConfig, helloCode: string) => {
18
- const helloUri = vscode.Uri.file(`${lsConfig.basePath}/workspace/hello.${lsConfig.documentSelector}`);
19
+ const helloUri = vscode.Uri.file(`${lsConfig.basePath}/workspace/hello.${lsConfig.languageId}`);
19
20
  const fileSystemProvider = new RegisteredFileSystemProvider(false);
20
21
  fileSystemProvider.registerFile(new RegisteredMemoryFile(helloUri, helloCode));
21
22
  registerFileSystemOverlay(1, fileSystemProvider);
@@ -23,7 +24,10 @@ export const runExtendedClient = async (lsConfig: ExampleLsConfig, helloCode: st
23
24
  const htmlContainer = document.getElementById('monaco-editor-root')!;
24
25
  const vscodeApiConfig: MonacoVscodeApiConfig = {
25
26
  $type: 'extended',
26
- htmlContainer,
27
+ viewsConfig: {
28
+ $type: 'EditorService',
29
+ htmlContainer
30
+ },
27
31
  logLevel: LogLevel.Debug,
28
32
  serviceOverrides: {
29
33
  ...getKeybindingsServiceOverride(),
@@ -41,6 +45,7 @@ export const runExtendedClient = async (lsConfig: ExampleLsConfig, helloCode: st
41
45
  };
42
46
 
43
47
  const languageClientConfig: LanguageClientConfig = {
48
+ languageId: lsConfig.languageId,
44
49
  connection: {
45
50
  options: {
46
51
  $type: 'WebSocketUrl',
@@ -60,7 +65,7 @@ export const runExtendedClient = async (lsConfig: ExampleLsConfig, helloCode: st
60
65
  },
61
66
  },
62
67
  clientOptions: {
63
- documentSelector: [lsConfig.documentSelector],
68
+ documentSelector: [lsConfig.languageId],
64
69
  workspaceFolder: {
65
70
  index: 0,
66
71
  name: 'workspace',
@@ -70,25 +75,28 @@ export const runExtendedClient = async (lsConfig: ExampleLsConfig, helloCode: st
70
75
  };
71
76
 
72
77
  const editorAppConfig: EditorAppConfig = {
73
- $type: vscodeApiConfig.$type,
74
78
  codeResources: {
75
79
  modified: {
76
80
  text: helloCode,
77
81
  uri: helloUri.path
78
82
  }
83
+ },
84
+ languageDef: {
85
+ monarchLanguage: LangiumMonarchContent,
86
+ languageExtensionConfig: { id: 'langium' }
79
87
  }
80
88
  };
81
89
 
82
90
  // perform global init
83
91
  const apiWrapper = new MonacoVscodeApiWrapper(vscodeApiConfig);
84
- await apiWrapper.init();
92
+ await apiWrapper.start();
85
93
 
86
94
  const lcWrapper = new LanguageClientWrapper(languageClientConfig, apiWrapper.getLogger());
87
95
  const editorApp = new EditorApp(editorAppConfig);
88
96
 
89
97
  try {
90
98
  document.querySelector('#button-start')?.addEventListener('click', async () => {
91
- await editorApp.start(htmlContainer);
99
+ await editorApp.start(apiWrapper.getHtmlContainer());
92
100
  await lcWrapper.start();
93
101
 
94
102
  // open files, so the LS can pick it up
@@ -107,5 +115,5 @@ export type ExampleLsConfig = {
107
115
  port: number;
108
116
  path: string;
109
117
  basePath: string;
110
- documentSelector: string;
118
+ languageId: string;
111
119
  };
@@ -4,6 +4,7 @@
4
4
  * ------------------------------------------------------------------------------------------ */
5
5
 
6
6
  import { RegisteredMemoryFile } from '@codingame/monaco-vscode-files-service-override';
7
+ import type { HtmlContainerConfig } from 'monaco-languageclient/vscodeApiWrapper';
7
8
  import { Uri } from 'vscode';
8
9
 
9
10
  export type FileDefinition = {
@@ -26,7 +27,7 @@ export type ConfigParams = {
26
27
  homeDir: string;
27
28
  workspaceRoot: string;
28
29
  workspaceFile: Uri;
29
- htmlContainer?: HTMLElement;
30
+ htmlContainer: HtmlContainerConfig;
30
31
  protocol: 'ws' | 'wss';
31
32
  hostname: string;
32
33
  port: number;
@@ -9,5 +9,5 @@ export const eclipseJdtLsConfig: ExampleLsConfig = {
9
9
  port: 30003,
10
10
  path: '/jdtls',
11
11
  basePath: '/home/mlc/packages/examples/resources/eclipse.jdt.ls',
12
- documentSelector: 'java'
12
+ languageId: 'java'
13
13
  };
@@ -9,5 +9,5 @@ export const groovyConfig: ExampleLsConfig = {
9
9
  port: 30002,
10
10
  path: '/groovy',
11
11
  basePath: '/home/gradle/mlc/packages/examples/resources/groovy',
12
- documentSelector: 'groovy'
12
+ languageId: 'groovy'
13
13
  };
@@ -4,58 +4,61 @@
4
4
  * ------------------------------------------------------------------------------------------ */
5
5
 
6
6
  import { LogLevel } from '@codingame/monaco-vscode-api';
7
- import * as monaco from '@codingame/monaco-vscode-editor-api';
8
- import getTextmateServiceOverride from '@codingame/monaco-vscode-textmate-service-override';
9
- import getThemeServiceOverride from '@codingame/monaco-vscode-theme-service-override';
10
- import { MonacoVscodeApiWrapper, type MonacoVscodeApiConfig } from 'monaco-languageclient/vscodeApiWrapper';
11
- // monaco-editor does not supply json highlighting with the json worker,
12
- // that's why we use the textmate extension from VSCode
13
- import '@codingame/monaco-vscode-json-default-extension';
14
- import { configureDefaultWorkerFactory } from 'monaco-languageclient/workerFactory';
7
+ import type { Logger } from 'monaco-languageclient/common';
8
+ import { EditorApp, type EditorAppConfig } from 'monaco-languageclient/editorApp';
15
9
  import { LanguageClientWrapper, type LanguageClientConfig } from 'monaco-languageclient/lcwrapper';
10
+ import { MonacoVscodeApiWrapper, type MonacoVscodeApiConfig } from 'monaco-languageclient/vscodeApiWrapper';
11
+ import { defineDefaultWorkerLoaders, useWorkerFactory } from 'monaco-languageclient/workerFactory';
16
12
 
17
13
  export const runClient = async () => {
18
14
  const htmlContainer = document.getElementById('monaco-editor-root')!;
19
15
  const vscodeApiConfig: MonacoVscodeApiConfig = {
20
16
  $type: 'classic',
21
- logLevel: LogLevel.Debug,
22
- serviceOverrides: {
23
- ...getTextmateServiceOverride(),
24
- ...getThemeServiceOverride()
17
+ viewsConfig: {
18
+ $type: 'EditorService',
19
+ htmlContainer
25
20
  },
21
+ logLevel: LogLevel.Debug,
26
22
  userConfiguration: {
27
23
  json: JSON.stringify({
28
24
  'editor.experimental.asyncTokenization': true
29
25
  })
30
26
  },
31
- monacoWorkerFactory: configureDefaultWorkerFactory
27
+ monacoWorkerFactory: configureClassicWorkerFactory
32
28
  };
33
29
 
34
30
  const apiWrapper = new MonacoVscodeApiWrapper(vscodeApiConfig);
35
- await apiWrapper.init();
31
+ await apiWrapper.start();
36
32
 
37
- // register the JSON language with Monaco
38
- monaco.languages.register({
39
- id: 'json',
40
- extensions: ['.json', '.jsonc'],
41
- aliases: ['JSON', 'json'],
42
- mimetypes: ['application/json']
43
- });
44
-
45
- // create monaco editor
46
- monaco.editor.create(htmlContainer, {
47
- value: `{
33
+ const languageId = 'json';
34
+ const code = `{
48
35
  "$schema": "http://json.schemastore.org/coffeelint",
49
36
  "line_endings": "unix"
50
- }`,
51
- language: 'json',
52
- automaticLayout: true,
53
- wordBasedSuggestions: 'off'
54
- });
37
+ }`;
38
+ const codeUri = '/workspace/model.json';
39
+ const editorAppConfig: EditorAppConfig = {
40
+ codeResources: {
41
+ modified: {
42
+ text: code,
43
+ uri: codeUri
44
+ }
45
+ },
46
+ languageDef: {
47
+ languageExtensionConfig: {
48
+ id: languageId,
49
+ extensions: ['.json', '.jsonc'],
50
+ aliases: ['JSON', 'json'],
51
+ mimetypes: ['application/json']
52
+ }
53
+ }
54
+ };
55
+ const editorApp = new EditorApp(editorAppConfig);
56
+ await editorApp.start(apiWrapper.getHtmlContainer());
55
57
 
56
58
  const languageClientConfig: LanguageClientConfig = {
59
+ languageId,
57
60
  clientOptions: {
58
- documentSelector: ['json']
61
+ documentSelector: [languageId]
59
62
  },
60
63
  connection: {
61
64
  options: {
@@ -70,3 +73,13 @@ export const runClient = async () => {
70
73
  );
71
74
  await languageClientWrapper.start();
72
75
  };
76
+
77
+ export const configureClassicWorkerFactory = (logger?: Logger) => {
78
+ const defaultworkerLoaders = defineDefaultWorkerLoaders();
79
+ // remove textmate worker as it is not compatible with classic mode
80
+ defaultworkerLoaders.TextMateWorker = undefined;
81
+ useWorkerFactory({
82
+ workerLoaders: defaultworkerLoaders,
83
+ logger
84
+ });
85
+ };
@@ -9,5 +9,5 @@ export const jsontLsConfig: ExampleLsConfig = {
9
9
  port: 30000,
10
10
  path: '/sampleServer',
11
11
  basePath: '/home/mlc/packages/examples/resources/json',
12
- documentSelector: 'json'
12
+ languageId: 'json'
13
13
  };
@@ -5,10 +5,13 @@
5
5
 
6
6
  // this is required syntax highlighting
7
7
  import '@codingame/monaco-vscode-json-default-extension';
8
- import helloJsonCode from '../../../resources/json/workspace/hello.json?raw';
9
8
  import { runExtendedClient } from '../../common/client/extendedClient.js';
10
9
  import { jsontLsConfig } from './config.js';
11
10
 
12
11
  export const runJsonWrapper = async () => {
12
+ const helloJsonCode = `{
13
+ "$schema": "http://json.schemastore.org/coffeelint",
14
+ "line_endings": {"value": "unix"}
15
+ }`;
13
16
  await runExtendedClient(jsontLsConfig, helloJsonCode);
14
17
  };
@@ -59,9 +59,7 @@ export const setupLangiumClientExtended = async (): Promise<ExampleAppConfig> =>
59
59
  await fileSystemProvider.writeFile(langiumTypesLangiumUri, textEncoder.encode(langiumTypesLangium), options);
60
60
  registerFileSystemOverlay(1, fileSystemProvider);
61
61
 
62
- const editorAppConfig: EditorAppConfig = {
63
- $type: overallConfigType
64
- };
62
+ const editorAppConfig: EditorAppConfig = {};
65
63
 
66
64
  const innerHtml = `<div id="editorsDiv">
67
65
  <div id="editors"></div>
@@ -86,12 +84,12 @@ export const setupLangiumClientExtended = async (): Promise<ExampleAppConfig> =>
86
84
  const vscodeApiConfig: MonacoVscodeApiConfig = {
87
85
  $type: overallConfigType,
88
86
  logLevel: LogLevel.Debug,
89
- htmlContainer: document.body,
90
87
  serviceOverrides: {
91
88
  ...getKeybindingsServiceOverride()
92
89
  },
93
90
  viewsConfig: {
94
- viewServiceType: 'ViewsService',
91
+ $type: 'ViewsService',
92
+ htmlContainer: document.body,
95
93
  htmlAugmentationInstructions: (htmlElement: HTMLElement | null | undefined) => {
96
94
  const htmlContainer = document.createElement('div', { is: 'app' });
97
95
  htmlContainer.innerHTML = innerHtml;
@@ -136,6 +134,7 @@ export const setupLangiumClientExtended = async (): Promise<ExampleAppConfig> =>
136
134
  };
137
135
 
138
136
  const languageClientConfig: LanguageClientConfig = {
137
+ languageId: 'langium',
139
138
  clientOptions: {
140
139
  documentSelector: ['langium']
141
140
  },
@@ -15,7 +15,7 @@ export const runLangiumGrammarDsl = async () => {
15
15
 
16
16
  // perform global init
17
17
  const apiWrapper = new MonacoVscodeApiWrapper(appConfig.vscodeApiConfig);
18
- await apiWrapper.init();
18
+ await apiWrapper.start();
19
19
 
20
20
  // init language client
21
21
  const lcWrapper = new LanguageClientWrapper(appConfig.languageClientConfig);