monaco-languageclient-examples 2025.8.3 → 2025.8.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.
Files changed (173) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/dist/appPlayground/common.d.ts +2 -2
  3. package/dist/appPlayground/common.d.ts.map +1 -1
  4. package/dist/appPlayground/common.js +2 -3
  5. package/dist/appPlayground/common.js.map +1 -1
  6. package/dist/appPlayground/config.d.ts +4 -2
  7. package/dist/appPlayground/config.d.ts.map +1 -1
  8. package/dist/appPlayground/config.js +65 -63
  9. package/dist/appPlayground/config.js.map +1 -1
  10. package/dist/appPlayground/launcher.js +1 -1
  11. package/dist/appPlayground/launcher.js.map +1 -1
  12. package/dist/appPlayground/main.d.ts.map +1 -1
  13. package/dist/appPlayground/main.js +5 -4
  14. package/dist/appPlayground/main.js.map +1 -1
  15. package/dist/appPlayground/reactLauncher.js +1 -1
  16. package/dist/appPlayground/reactLauncher.js.map +1 -1
  17. package/dist/appPlayground/reactMain.d.ts.map +1 -1
  18. package/dist/appPlayground/reactMain.js +2 -3
  19. package/dist/appPlayground/reactMain.js.map +1 -1
  20. package/dist/bare/client.d.ts.map +1 -1
  21. package/dist/bare/client.js +12 -15
  22. package/dist/bare/client.js.map +1 -1
  23. package/dist/browser/main.d.ts +1 -0
  24. package/dist/browser/main.d.ts.map +1 -1
  25. package/dist/browser/main.js +29 -27
  26. package/dist/browser/main.js.map +1 -1
  27. package/dist/clangd/client/config.d.ts +10 -3
  28. package/dist/clangd/client/config.d.ts.map +1 -1
  29. package/dist/clangd/client/config.js +85 -85
  30. package/dist/clangd/client/config.js.map +1 -1
  31. package/dist/clangd/client/main.d.ts.map +1 -1
  32. package/dist/clangd/client/main.js +12 -9
  33. package/dist/clangd/client/main.js.map +1 -1
  34. package/dist/common/client/extendedClient.d.ts +9 -0
  35. package/dist/common/client/extendedClient.d.ts.map +1 -0
  36. package/dist/common/client/extendedClient.js +97 -0
  37. package/dist/common/client/extendedClient.js.map +1 -0
  38. package/dist/common/client/utils.d.ts +8 -1
  39. package/dist/common/client/utils.d.ts.map +1 -1
  40. package/dist/common/client/utils.js +0 -3
  41. package/dist/common/client/utils.js.map +1 -1
  42. package/dist/debugger/client/debugger.d.ts +1 -1
  43. package/dist/debugger/client/debugger.d.ts.map +1 -1
  44. package/dist/eclipse.jdt.ls/client/main.d.ts +1 -1
  45. package/dist/eclipse.jdt.ls/client/main.d.ts.map +1 -1
  46. package/dist/eclipse.jdt.ls/client/main.js +4 -74
  47. package/dist/eclipse.jdt.ls/client/main.js.map +1 -1
  48. package/dist/eclipse.jdt.ls/config.d.ts +2 -5
  49. package/dist/eclipse.jdt.ls/config.d.ts.map +1 -1
  50. package/dist/eclipse.jdt.ls/config.js +2 -1
  51. package/dist/eclipse.jdt.ls/config.js.map +1 -1
  52. package/dist/groovy/client/main.d.ts +1 -1
  53. package/dist/groovy/client/main.d.ts.map +1 -1
  54. package/dist/groovy/client/main.js +4 -63
  55. package/dist/groovy/client/main.js.map +1 -1
  56. package/dist/groovy/config.d.ts +2 -5
  57. package/dist/groovy/config.d.ts.map +1 -1
  58. package/dist/groovy/config.js +2 -1
  59. package/dist/groovy/config.js.map +1 -1
  60. package/dist/json/client/client.d.ts +3 -0
  61. package/dist/json/client/client.d.ts.map +1 -0
  62. package/dist/json/client/client.js +13 -0
  63. package/dist/json/client/client.js.map +1 -0
  64. package/dist/json/client/config.d.ts +3 -0
  65. package/dist/json/client/config.d.ts.map +1 -0
  66. package/dist/json/client/config.js +11 -0
  67. package/dist/json/client/config.js.map +1 -0
  68. package/dist/json/server/main.js.map +1 -1
  69. package/dist/langium/langium-dsl/config/extendedConfig.d.ts +2 -7
  70. package/dist/langium/langium-dsl/config/extendedConfig.d.ts.map +1 -1
  71. package/dist/langium/langium-dsl/config/extendedConfig.js +103 -49
  72. package/dist/langium/langium-dsl/config/extendedConfig.js.map +1 -1
  73. package/dist/langium/langium-dsl/config/langium.configuration.json +10 -40
  74. package/dist/langium/langium-dsl/config/langium.tmLanguage.json +1 -1
  75. package/dist/langium/langium-dsl/main.d.ts +2 -0
  76. package/dist/langium/langium-dsl/main.d.ts.map +1 -0
  77. package/dist/langium/langium-dsl/main.js +26 -0
  78. package/dist/langium/langium-dsl/main.js.map +1 -0
  79. package/dist/langium/statemachine/config/wrapperStatemachineConfig.d.ts +4 -4
  80. package/dist/langium/statemachine/config/wrapperStatemachineConfig.d.ts.map +1 -1
  81. package/dist/langium/statemachine/config/wrapperStatemachineConfig.js +40 -41
  82. package/dist/langium/statemachine/config/wrapperStatemachineConfig.js.map +1 -1
  83. package/dist/langium/statemachine/launcher.js +1 -1
  84. package/dist/langium/statemachine/launcher.js.map +1 -1
  85. package/dist/langium/statemachine/main-react.d.ts.map +1 -1
  86. package/dist/langium/statemachine/main-react.js +7 -3
  87. package/dist/langium/statemachine/main-react.js.map +1 -1
  88. package/dist/langium/statemachine/main.d.ts.map +1 -1
  89. package/dist/langium/statemachine/main.js +38 -27
  90. package/dist/langium/statemachine/main.js.map +1 -1
  91. package/dist/multi/config.d.ts +1 -1
  92. package/dist/multi/config.d.ts.map +1 -1
  93. package/dist/multi/config.js +0 -1
  94. package/dist/multi/config.js.map +1 -1
  95. package/dist/multi/twoLanguageClients.d.ts.map +1 -1
  96. package/dist/multi/twoLanguageClients.js +45 -49
  97. package/dist/multi/twoLanguageClients.js.map +1 -1
  98. package/dist/node.d.ts +0 -3
  99. package/dist/node.d.ts.map +1 -1
  100. package/dist/node.js +0 -3
  101. package/dist/node.js.map +1 -1
  102. package/dist/python/client/config.d.ts +7 -3
  103. package/dist/python/client/config.d.ts.map +1 -1
  104. package/dist/python/client/config.js +93 -97
  105. package/dist/python/client/config.js.map +1 -1
  106. package/dist/python/client/main.d.ts.map +1 -1
  107. package/dist/python/client/main.js +16 -10
  108. package/dist/python/client/main.js.map +1 -1
  109. package/dist/python/client/reactPython.d.ts.map +1 -1
  110. package/dist/python/client/reactPython.js +13 -9
  111. package/dist/python/client/reactPython.js.map +1 -1
  112. package/dist/ts/wrapperTs.d.ts.map +1 -1
  113. package/dist/ts/wrapperTs.js +50 -45
  114. package/dist/ts/wrapperTs.js.map +1 -1
  115. package/ghp_langium_extended.html +3 -3
  116. package/index.html +1 -1
  117. package/json.html +1 -1
  118. package/langium_extended.html +4 -6
  119. package/package.json +10 -11
  120. package/src/appPlayground/common.ts +3 -3
  121. package/src/appPlayground/config.ts +69 -65
  122. package/src/appPlayground/launcher.ts +2 -1
  123. package/src/appPlayground/main.ts +8 -5
  124. package/src/appPlayground/reactLauncher.ts +2 -1
  125. package/src/appPlayground/reactMain.tsx +4 -4
  126. package/src/bare/client.ts +15 -16
  127. package/src/browser/main.ts +30 -27
  128. package/src/clangd/client/config.ts +97 -87
  129. package/src/clangd/client/main.ts +14 -10
  130. package/src/common/client/extendedClient.ts +111 -0
  131. package/src/common/client/utils.ts +7 -2
  132. package/src/debugger/client/debugger.ts +1 -1
  133. package/src/eclipse.jdt.ls/client/main.ts +4 -78
  134. package/src/eclipse.jdt.ls/config.ts +6 -2
  135. package/src/groovy/client/main.ts +4 -65
  136. package/src/groovy/config.ts +6 -2
  137. package/src/json/client/client.ts +14 -0
  138. package/src/json/client/config.ts +13 -0
  139. package/src/json/server/main.ts +1 -1
  140. package/src/langium/langium-dsl/config/extendedConfig.ts +117 -54
  141. package/src/langium/langium-dsl/config/langium.configuration.json +128 -158
  142. package/src/langium/langium-dsl/config/langium.tmLanguage.json +271 -271
  143. package/src/langium/langium-dsl/main.ts +31 -0
  144. package/src/langium/statemachine/config/wrapperStatemachineConfig.ts +48 -45
  145. package/src/langium/statemachine/launcher.ts +1 -1
  146. package/src/langium/statemachine/main-react.tsx +10 -4
  147. package/src/langium/statemachine/main.ts +43 -27
  148. package/src/multi/config.ts +3 -3
  149. package/src/multi/twoLanguageClients.ts +48 -52
  150. package/src/node.ts +0 -3
  151. package/src/python/client/config.ts +101 -99
  152. package/src/python/client/main.ts +20 -11
  153. package/src/python/client/reactPython.tsx +17 -10
  154. package/src/ts/wrapperTs.ts +52 -45
  155. package/two_langauge_clients.html +0 -1
  156. package/vite.production.base.ts +0 -1
  157. package/dist/json/client/wrapperWs.d.ts +0 -5
  158. package/dist/json/client/wrapperWs.d.ts.map +0 -1
  159. package/dist/json/client/wrapperWs.js +0 -87
  160. package/dist/json/client/wrapperWs.js.map +0 -1
  161. package/dist/langium/langium-dsl/config/classicConfig.d.ts +0 -7
  162. package/dist/langium/langium-dsl/config/classicConfig.d.ts.map +0 -1
  163. package/dist/langium/langium-dsl/config/classicConfig.js +0 -66
  164. package/dist/langium/langium-dsl/config/classicConfig.js.map +0 -1
  165. package/dist/langium/langium-dsl/wrapperLangium.d.ts +0 -2
  166. package/dist/langium/langium-dsl/wrapperLangium.d.ts.map +0 -1
  167. package/dist/langium/langium-dsl/wrapperLangium.js +0 -79
  168. package/dist/langium/langium-dsl/wrapperLangium.js.map +0 -1
  169. package/ghp_langium_classic.html +0 -26
  170. package/langium_classic.html +0 -26
  171. package/src/json/client/wrapperWs.ts +0 -90
  172. package/src/langium/langium-dsl/config/classicConfig.ts +0 -72
  173. package/src/langium/langium-dsl/wrapperLangium.ts +0 -85
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "monaco-languageclient-examples",
3
- "version": "2025.8.3",
3
+ "version": "2025.8.5",
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/wrapperWs.d.ts",
33
- "default": "./dist/json/client/wrapperWs.js"
32
+ "types": "./dist/json/client/client.d.ts",
33
+ "default": "./dist/json/client/client.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/wrapperWs"
57
+ "dist/json/client/client"
58
58
  ],
59
59
  "worker/langium": [
60
60
  "dist/langium/langium-dsl/worker/langium-server"
@@ -69,8 +69,8 @@
69
69
  "npm": ">=10.2.3"
70
70
  },
71
71
  "volta": {
72
- "node": "22.16.0",
73
- "npm": "10.9.2"
72
+ "node": "22.18.0",
73
+ "npm": "10.9.3"
74
74
  },
75
75
  "files": [
76
76
  "dist",
@@ -113,13 +113,12 @@
113
113
  "@codingame/monaco-vscode-typescript-language-features-default-extension": "~20.2.1",
114
114
  "@codingame/monaco-vscode-views-service-override": "~20.2.1",
115
115
  "@codingame/monaco-vscode-outline-service-override": "~20.2.1",
116
- "@typefox/monaco-editor-react": "~6.12.0",
117
- "cors": "^2.8.5",
116
+ "@typefox/monaco-editor-react": "~7.0.0-next.1",
117
+ "cors": "~2.8.5",
118
118
  "express": "~5.1.0",
119
119
  "jszip": "~3.10.1",
120
120
  "langium": "~4.0.0",
121
- "monaco-editor-wrapper": "~6.12.0",
122
- "monaco-languageclient": "~9.11.0",
121
+ "monaco-languageclient": "~10.0.0-next.1",
123
122
  "pyright": "~1.1.404",
124
123
  "react": "~19.1.1",
125
124
  "react-dom": "~19.1.1",
@@ -134,7 +133,7 @@
134
133
  "wtd-core": "~4.0.1"
135
134
  },
136
135
  "devDependencies": {
137
- "@types/cors": "^2.8.19",
136
+ "@types/cors": "~2.8.19",
138
137
  "@types/emscripten": "~1.40.1",
139
138
  "@types/express": "~5.0.3",
140
139
  "@types/ws": "~8.18.1",
@@ -5,11 +5,11 @@
5
5
 
6
6
  import * as vscode from 'vscode';
7
7
  import type { RegisterLocalProcessExtensionResult } from '@codingame/monaco-vscode-api/extensions';
8
- import { MonacoEditorLanguageClientWrapper } from 'monaco-editor-wrapper';
9
8
  import type { ConfigResult } from './config.js';
9
+ import type { MonacoVscodeApiWrapper } from 'monaco-languageclient/vscodeApiWrapper';
10
10
 
11
- export const configurePostStart = async (wrapper: MonacoEditorLanguageClientWrapper, configResult: ConfigResult) => {
12
- const result = wrapper.getExtensionRegisterResult('mlc-app-playground') as RegisterLocalProcessExtensionResult;
11
+ export const configurePostStart = async (apiWrapper: MonacoVscodeApiWrapper, configResult: ConfigResult) => {
12
+ const result = apiWrapper.getExtensionRegisterResult('mlc-app-playground') as RegisterLocalProcessExtensionResult;
13
13
  result.setAsDefaultApi();
14
14
 
15
15
  // WA: Force show explorer and not search
@@ -10,6 +10,7 @@ import { InMemoryFileSystemProvider, registerFileSystemOverlay, type IFileWriteO
10
10
  import getKeybindingsServiceOverride from '@codingame/monaco-vscode-keybindings-service-override';
11
11
  import getLifecycleServiceOverride from '@codingame/monaco-vscode-lifecycle-service-override';
12
12
  import getLocalizationServiceOverride from '@codingame/monaco-vscode-localization-service-override';
13
+ import getOutlineServiceOverride from '@codingame/monaco-vscode-outline-service-override';
13
14
  import getRemoteAgentServiceOverride from '@codingame/monaco-vscode-remote-agent-service-override';
14
15
  import getSearchServiceOverride from '@codingame/monaco-vscode-search-service-override';
15
16
  import getSecretStorageServiceOverride from '@codingame/monaco-vscode-secret-storage-service-override';
@@ -17,7 +18,6 @@ import getStorageServiceOverride from '@codingame/monaco-vscode-storage-service-
17
18
  import getBannerServiceOverride from '@codingame/monaco-vscode-view-banner-service-override';
18
19
  import getStatusBarServiceOverride from '@codingame/monaco-vscode-view-status-bar-service-override';
19
20
  import getTitleBarServiceOverride from '@codingame/monaco-vscode-view-title-bar-service-override';
20
- import getOutlineServiceOverride from '@codingame/monaco-vscode-outline-service-override';
21
21
  import * as vscode from 'vscode';
22
22
 
23
23
  // this is required syntax highlighting
@@ -27,16 +27,17 @@ 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 { WrapperConfig } from 'monaco-editor-wrapper';
31
- import { defaultHtmlAugmentationInstructions, defaultViewsInit } from 'monaco-editor-wrapper/vscode/services';
32
- import { configureDefaultWorkerFactory } from 'monaco-editor-wrapper/workers/workerLoaders';
33
- import { createDefaultLocaleConfiguration } from 'monaco-languageclient/vscode/services';
30
+ import { defaultHtmlAugmentationInstructions, defaultViewsInit, type MonacoVscodeApiConfig } from 'monaco-languageclient/vscodeApiWrapper';
31
+ import type { EditorAppConfig } from 'monaco-languageclient/editorApp';
32
+ import { createDefaultLocaleConfiguration } from 'monaco-languageclient/vscodeApiLocales';
33
+ import { configureDefaultWorkerFactory } from 'monaco-languageclient/workerFactory';
34
34
  import helloTsCode from '../../resources/appPlayground/hello.ts?raw';
35
35
  import testerTsCode from '../../resources/appPlayground/tester.ts?raw';
36
36
  import { createDefaultWorkspaceContent } from '../common/client/utils.js';
37
37
 
38
38
  export type ConfigResult = {
39
- wrapperConfig: WrapperConfig
39
+ vscodeApiConfig: MonacoVscodeApiConfig;
40
+ editorAppConfig: EditorAppConfig
40
41
  workspaceFileUri: vscode.Uri;
41
42
  helloTsUri: vscode.Uri;
42
43
  testerTsUri: vscode.Uri;
@@ -45,69 +46,65 @@ export type ConfigResult = {
45
46
  export const configure = async (htmlContainer?: HTMLElement): Promise<ConfigResult> => {
46
47
  const workspaceFileUri = vscode.Uri.file('/workspace.code-workspace');
47
48
 
48
- const wrapperConfig: WrapperConfig = {
49
+ const vscodeApiConfig: MonacoVscodeApiConfig = {
49
50
  $type: 'extended',
50
- id: 'AAP',
51
51
  logLevel: LogLevel.Debug,
52
52
  htmlContainer,
53
- vscodeApiConfig: {
54
- serviceOverrides: {
55
- ...getKeybindingsServiceOverride(),
56
- ...getLifecycleServiceOverride(),
57
- ...getLocalizationServiceOverride(createDefaultLocaleConfiguration()),
58
- ...getBannerServiceOverride(),
59
- ...getStatusBarServiceOverride(),
60
- ...getTitleBarServiceOverride(),
61
- ...getExplorerServiceOverride(),
62
- ...getRemoteAgentServiceOverride(),
63
- ...getEnvironmentServiceOverride(),
64
- ...getSecretStorageServiceOverride(),
65
- ...getStorageServiceOverride(),
66
- ...getSearchServiceOverride(),
67
- ...getOutlineServiceOverride()
68
- },
69
- enableExtHostWorker: true,
70
- viewsConfig: {
71
- viewServiceType: 'ViewsService',
72
- htmlAugmentationInstructions: defaultHtmlAugmentationInstructions,
73
- viewsInitFunc: defaultViewsInit
53
+ serviceOverrides: {
54
+ ...getKeybindingsServiceOverride(),
55
+ ...getLifecycleServiceOverride(),
56
+ ...getLocalizationServiceOverride(createDefaultLocaleConfiguration()),
57
+ ...getBannerServiceOverride(),
58
+ ...getStatusBarServiceOverride(),
59
+ ...getTitleBarServiceOverride(),
60
+ ...getExplorerServiceOverride(),
61
+ ...getRemoteAgentServiceOverride(),
62
+ ...getEnvironmentServiceOverride(),
63
+ ...getSecretStorageServiceOverride(),
64
+ ...getStorageServiceOverride(),
65
+ ...getSearchServiceOverride(),
66
+ ...getOutlineServiceOverride()
67
+ },
68
+ viewsConfig: {
69
+ viewServiceType: 'ViewsService',
70
+ htmlAugmentationInstructions: defaultHtmlAugmentationInstructions,
71
+ viewsInitFunc: defaultViewsInit
72
+ },
73
+ workspaceConfig: {
74
+ enableWorkspaceTrust: true,
75
+ windowIndicator: {
76
+ label: 'mlc-app-playground',
77
+ tooltip: '',
78
+ command: ''
74
79
  },
75
- workspaceConfig: {
76
- enableWorkspaceTrust: true,
77
- windowIndicator: {
78
- label: 'mlc-app-playground',
79
- tooltip: '',
80
- command: ''
81
- },
82
- workspaceProvider: {
83
- trusted: true,
84
- async open() {
85
- window.open(window.location.href);
86
- return true;
87
- },
88
- workspace: {
89
- workspaceUri: workspaceFileUri
90
- }
80
+ workspaceProvider: {
81
+ trusted: true,
82
+ async open() {
83
+ window.open(window.location.href);
84
+ return true;
91
85
  },
92
- configurationDefaults: {
93
- 'window.title': 'mlc-app-playground${separator}${dirty}${activeEditorShort}'
94
- },
95
- productConfiguration: {
96
- nameShort: 'mlc-app-playground',
97
- nameLong: 'mlc-app-playground'
86
+ workspace: {
87
+ workspaceUri: workspaceFileUri
98
88
  }
99
89
  },
100
- userConfiguration: {
101
- json: JSON.stringify({
102
- 'workbench.colorTheme': 'Default Dark Modern',
103
- 'editor.wordBasedSuggestions': 'off',
104
- 'typescript.tsserver.web.projectWideIntellisense.enabled': true,
105
- 'typescript.tsserver.web.projectWideIntellisense.suppressSemanticErrors': false,
106
- 'editor.guides.bracketPairsHorizontal': true,
107
- 'oct.serverUrl': 'https://api.open-collab.tools/',
108
- 'editor.experimental.asyncTokenization': false
109
- })
90
+ configurationDefaults: {
91
+ 'window.title': 'mlc-app-playground${separator}${dirty}${activeEditorShort}'
110
92
  },
93
+ productConfiguration: {
94
+ nameShort: 'mlc-app-playground',
95
+ nameLong: 'mlc-app-playground'
96
+ }
97
+ },
98
+ userConfiguration: {
99
+ json: JSON.stringify({
100
+ 'workbench.colorTheme': 'Default Dark Modern',
101
+ 'editor.wordBasedSuggestions': 'off',
102
+ 'typescript.tsserver.web.projectWideIntellisense.enabled': true,
103
+ 'typescript.tsserver.web.projectWideIntellisense.suppressSemanticErrors': false,
104
+ 'editor.guides.bracketPairsHorizontal': true,
105
+ 'oct.serverUrl': 'https://api.open-collab.tools/',
106
+ 'editor.experimental.asyncTokenization': false
107
+ })
111
108
  },
112
109
  extensions: [{
113
110
  config: {
@@ -119,9 +116,15 @@ export const configure = async (htmlContainer?: HTMLElement): Promise<ConfigResu
119
116
  }
120
117
  }
121
118
  }],
122
- editorAppConfig: {
123
- monacoWorkerFactory: configureDefaultWorkerFactory
124
- }
119
+ advanced: {
120
+ enableExtHostWorker: true,
121
+ },
122
+ monacoWorkerFactory: configureDefaultWorkerFactory
123
+ };
124
+
125
+ const editorAppConfig: EditorAppConfig = {
126
+ $type: vscodeApiConfig.$type,
127
+ id: 'AAP',
125
128
  };
126
129
 
127
130
  const workspaceUri = vscode.Uri.file('/workspace');
@@ -143,7 +146,8 @@ export const configure = async (htmlContainer?: HTMLElement): Promise<ConfigResu
143
146
  registerFileSystemOverlay(1, fileSystemProvider);
144
147
 
145
148
  return {
146
- wrapperConfig,
149
+ vscodeApiConfig,
150
+ editorAppConfig,
147
151
  workspaceFileUri,
148
152
  helloTsUri,
149
153
  testerTsUri
@@ -3,7 +3,8 @@
3
3
  * Licensed under the MIT License. See LICENSE in the package root for license information.
4
4
  * ------------------------------------------------------------------------------------------ */
5
5
 
6
- import { initLocaleLoader } from 'monaco-editor-wrapper/vscode/locale';
6
+ import { initLocaleLoader } from 'monaco-languageclient/vscodeApiLocales';
7
+
7
8
  await initLocaleLoader();
8
9
 
9
10
  const { runApplicationPlayground } = await import('./main.js');
@@ -3,16 +3,19 @@
3
3
  * Licensed under the MIT License. See LICENSE in the package root for license information.
4
4
  * ------------------------------------------------------------------------------------------ */
5
5
 
6
- import { MonacoEditorLanguageClientWrapper } from 'monaco-editor-wrapper';
7
6
  import { configure } from './config.js';
8
7
  import { configurePostStart } from './common.js';
9
8
  import { disableElement } from '../common/client/utils.js';
10
-
11
- const wrapper = new MonacoEditorLanguageClientWrapper();
9
+ import { MonacoVscodeApiWrapper } from 'monaco-languageclient/vscodeApiWrapper';
12
10
 
13
11
  export const runApplicationPlayground = async () => {
14
12
  disableElement('button-start', true);
13
+
15
14
  const configResult = await configure(document.body);
16
- await wrapper.init(configResult.wrapperConfig);
17
- await configurePostStart(wrapper, configResult);
15
+
16
+ // perform global init
17
+ const apiWrapper = new MonacoVscodeApiWrapper(configResult.vscodeApiConfig);
18
+ await apiWrapper.init();
19
+
20
+ await configurePostStart(apiWrapper, configResult);
18
21
  };
@@ -3,7 +3,8 @@
3
3
  * Licensed under the MIT License. See LICENSE in the package root for license information.
4
4
  * ------------------------------------------------------------------------------------------ */
5
5
 
6
- import { initLocaleLoader } from 'monaco-editor-wrapper/vscode/locale';
6
+ import { initLocaleLoader } from 'monaco-languageclient/vscodeApiLocales';
7
+
7
8
  await initLocaleLoader();
8
9
 
9
10
  const { runApplicationPlaygroundReact } = await import('./reactMain.js');
@@ -5,7 +5,6 @@
5
5
 
6
6
  import React from 'react';
7
7
  import ReactDOM from 'react-dom/client';
8
- import { MonacoEditorLanguageClientWrapper } from 'monaco-editor-wrapper';
9
8
  import { MonacoEditorReactComp } from '@typefox/monaco-editor-react';
10
9
  import { configure } from './config.js';
11
10
  import { configurePostStart } from './common.js';
@@ -18,9 +17,10 @@ export const runApplicationPlaygroundReact = async () => {
18
17
  return (
19
18
  <div style={{ 'backgroundColor': '#1f1f1f' }}>
20
19
  <MonacoEditorReactComp
21
- wrapperConfig={configResult.wrapperConfig}
22
- onLoad={async (wrapper: MonacoEditorLanguageClientWrapper) => {
23
- await configurePostStart(wrapper, configResult);
20
+ vscodeApiConfig={configResult.vscodeApiConfig}
21
+ editorAppConfig={configResult.editorAppConfig}
22
+ onVscodeApiInitDone={async (apiWrapper) => {
23
+ await configurePostStart(apiWrapper, configResult);
24
24
  }}
25
25
  onError={(e) => {
26
26
  console.error(e);
@@ -3,22 +3,22 @@
3
3
  * Licensed under the MIT License. See License.txt in the project root for license information.
4
4
  * ------------------------------------------------------------------------------------------ */
5
5
 
6
+ import { LogLevel } from '@codingame/monaco-vscode-api';
6
7
  import * as monaco from '@codingame/monaco-vscode-editor-api';
7
- import { initServices } from 'monaco-languageclient/vscode/services';
8
8
  import getTextmateServiceOverride from '@codingame/monaco-vscode-textmate-service-override';
9
9
  import getThemeServiceOverride from '@codingame/monaco-vscode-theme-service-override';
10
- import { LogLevel } from '@codingame/monaco-vscode-api';
10
+ import { MonacoVscodeApiWrapper, type MonacoVscodeApiConfig } from 'monaco-languageclient/vscodeApiWrapper';
11
11
  // monaco-editor does not supply json highlighting with the json worker,
12
12
  // that's why we use the textmate extension from VSCode
13
13
  import '@codingame/monaco-vscode-json-default-extension';
14
- import { ConsoleLogger } from 'monaco-languageclient/tools';
15
- import { configureDefaultWorkerFactory } from 'monaco-editor-wrapper/workers/workerLoaders';
16
- import { LanguageClientWrapper, type LanguageClientConfig } from 'monaco-editor-wrapper';
14
+ import { configureDefaultWorkerFactory } from 'monaco-languageclient/workerFactory';
15
+ import { LanguageClientWrapper, type LanguageClientConfig } from 'monaco-languageclient/lcwrapper';
17
16
 
18
17
  export const runClient = async () => {
19
- const logger = new ConsoleLogger(LogLevel.Debug);
20
18
  const htmlContainer = document.getElementById('monaco-editor-root')!;
21
- await initServices({
19
+ const vscodeApiConfig: MonacoVscodeApiConfig = {
20
+ $type: 'classic',
21
+ logLevel: LogLevel.Debug,
22
22
  serviceOverrides: {
23
23
  ...getTextmateServiceOverride(),
24
24
  ...getThemeServiceOverride()
@@ -28,9 +28,11 @@ export const runClient = async () => {
28
28
  'editor.experimental.asyncTokenization': true
29
29
  })
30
30
  },
31
- }, {
32
- logger
33
- });
31
+ monacoWorkerFactory: configureDefaultWorkerFactory
32
+ };
33
+
34
+ const apiWrapper = new MonacoVscodeApiWrapper(vscodeApiConfig);
35
+ await apiWrapper.init();
34
36
 
35
37
  // register the JSON language with Monaco
36
38
  monaco.languages.register({
@@ -40,8 +42,6 @@ export const runClient = async () => {
40
42
  mimetypes: ['application/json']
41
43
  });
42
44
 
43
- configureDefaultWorkerFactory(logger);
44
-
45
45
  // create monaco editor
46
46
  monaco.editor.create(htmlContainer, {
47
47
  value: `{
@@ -64,10 +64,9 @@ export const runClient = async () => {
64
64
  }
65
65
  }
66
66
  };
67
- const languageClientWrapper = new LanguageClientWrapper({
67
+ const languageClientWrapper = new LanguageClientWrapper(
68
68
  languageClientConfig,
69
- logger
70
- });
71
-
69
+ apiWrapper.getLogger()
70
+ );
72
71
  await languageClientWrapper.start();
73
72
  };
@@ -11,8 +11,10 @@ import { getLanguageService, TextDocument } from 'vscode-json-languageservice';
11
11
  import { createConverter as createCodeConverter } from 'vscode-languageclient/lib/common/codeConverter.js';
12
12
  import { createConverter as createProtocolConverter } from 'vscode-languageclient/lib/common/protocolConverter.js';
13
13
  import { LogLevel } from '@codingame/monaco-vscode-api';
14
- import { MonacoEditorLanguageClientWrapper, type WrapperConfig } from 'monaco-editor-wrapper';
15
- import { configureDefaultWorkerFactory } from 'monaco-editor-wrapper/workers/workerLoaders';
14
+ import '../../resources/vsix/github-vscode-theme.vsix';
15
+ import { EditorApp, type EditorAppConfig } from 'monaco-languageclient/editorApp';
16
+ import { configureDefaultWorkerFactory } from 'monaco-languageclient/workerFactory';
17
+ import { MonacoVscodeApiWrapper, type MonacoVscodeApiConfig } from 'monaco-languageclient/vscodeApiWrapper';
16
18
 
17
19
  export const runBrowserEditor = async () => {
18
20
  const codeConverter = createCodeConverter();
@@ -27,35 +29,36 @@ export const runBrowserEditor = async () => {
27
29
  }`;
28
30
  const codeUri = '/workspace/model.json';
29
31
 
30
- const wrapper = new MonacoEditorLanguageClientWrapper();
31
- const jsonClientUserConfig: WrapperConfig = {
32
+ const vscodeApiConfig: MonacoVscodeApiConfig = {
32
33
  $type: 'extended',
33
34
  htmlContainer,
34
35
  logLevel: LogLevel.Debug,
35
- vscodeApiConfig: {
36
- serviceOverrides: {
37
- ...getKeybindingsServiceOverride(),
38
- },
39
- userConfiguration: {
40
- json: JSON.stringify({
41
- 'workbench.colorTheme': 'Default Dark Modern',
42
- 'editor.guides.bracketPairsHorizontal': 'active',
43
- 'editor.lightbulb.enabled': 'On',
44
- 'editor.experimental.asyncTokenization': true
45
- })
46
- }
36
+ serviceOverrides: {
37
+ ...getKeybindingsServiceOverride(),
38
+ },
39
+ userConfiguration: {
40
+ json: JSON.stringify({
41
+ 'workbench.colorTheme': 'GitHub Dark High Contrast',
42
+ 'editor.guides.bracketPairsHorizontal': 'active',
43
+ 'editor.lightbulb.enabled': 'On',
44
+ 'editor.experimental.asyncTokenization': true
45
+ })
47
46
  },
48
- editorAppConfig: {
49
- codeResources: {
50
- modified: {
51
- text: code,
52
- uri: codeUri
53
- }
54
- },
55
- monacoWorkerFactory: configureDefaultWorkerFactory
47
+ monacoWorkerFactory: configureDefaultWorkerFactory
48
+ };
49
+ const editorAppConfig: EditorAppConfig = {
50
+ $type: vscodeApiConfig.$type,
51
+ codeResources: {
52
+ modified: {
53
+ text: code,
54
+ uri: codeUri
55
+ }
56
56
  }
57
57
  };
58
- await wrapper.init(jsonClientUserConfig);
58
+ const apiWrapper = new MonacoVscodeApiWrapper(vscodeApiConfig);
59
+ await apiWrapper.init();
60
+
61
+ const editorApp = new EditorApp(editorAppConfig);
59
62
 
60
63
  vscode.workspace.onDidOpenTextDocument((_event) => {
61
64
  mainVscodeDocument = _event;
@@ -155,9 +158,9 @@ export const runBrowserEditor = async () => {
155
158
  diagnosticCollection.clear();
156
159
  };
157
160
 
158
- await wrapper.start();
161
+ await editorApp.start(htmlContainer);
159
162
 
160
- wrapper.getTextModels()?.modified?.onDidChangeContent(() => {
163
+ editorApp.getTextModels().modified?.onDidChangeContent(() => {
161
164
  validate();
162
165
  });
163
166
  };