monaco-languageclient-examples 2025.6.2 → 2025.6.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (155) hide show
  1. package/CHANGELOG.md +4 -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.map +1 -1
  24. package/dist/browser/main.js +28 -27
  25. package/dist/browser/main.js.map +1 -1
  26. package/dist/clangd/client/config.d.ts +10 -3
  27. package/dist/clangd/client/config.d.ts.map +1 -1
  28. package/dist/clangd/client/config.js +85 -85
  29. package/dist/clangd/client/config.js.map +1 -1
  30. package/dist/clangd/client/main.d.ts.map +1 -1
  31. package/dist/clangd/client/main.js +12 -9
  32. package/dist/clangd/client/main.js.map +1 -1
  33. package/dist/common/client/extendedClient.d.ts +9 -0
  34. package/dist/common/client/extendedClient.d.ts.map +1 -0
  35. package/dist/common/client/extendedClient.js +97 -0
  36. package/dist/common/client/extendedClient.js.map +1 -0
  37. package/dist/common/client/utils.d.ts +8 -1
  38. package/dist/common/client/utils.d.ts.map +1 -1
  39. package/dist/common/client/utils.js +0 -3
  40. package/dist/common/client/utils.js.map +1 -1
  41. package/dist/debugger/client/debugger.d.ts +1 -1
  42. package/dist/debugger/client/debugger.d.ts.map +1 -1
  43. package/dist/eclipse.jdt.ls/client/main.d.ts +1 -1
  44. package/dist/eclipse.jdt.ls/client/main.d.ts.map +1 -1
  45. package/dist/eclipse.jdt.ls/client/main.js +4 -74
  46. package/dist/eclipse.jdt.ls/client/main.js.map +1 -1
  47. package/dist/eclipse.jdt.ls/config.d.ts +2 -5
  48. package/dist/eclipse.jdt.ls/config.d.ts.map +1 -1
  49. package/dist/eclipse.jdt.ls/config.js +2 -1
  50. package/dist/eclipse.jdt.ls/config.js.map +1 -1
  51. package/dist/groovy/client/main.d.ts +1 -1
  52. package/dist/groovy/client/main.d.ts.map +1 -1
  53. package/dist/groovy/client/main.js +4 -63
  54. package/dist/groovy/client/main.js.map +1 -1
  55. package/dist/groovy/config.d.ts +2 -5
  56. package/dist/groovy/config.d.ts.map +1 -1
  57. package/dist/groovy/config.js +2 -1
  58. package/dist/groovy/config.js.map +1 -1
  59. package/dist/json/client/client.d.ts +3 -0
  60. package/dist/json/client/client.d.ts.map +1 -0
  61. package/dist/json/client/client.js +13 -0
  62. package/dist/json/client/client.js.map +1 -0
  63. package/dist/json/client/config.d.ts +3 -0
  64. package/dist/json/client/config.d.ts.map +1 -0
  65. package/dist/json/client/config.js +11 -0
  66. package/dist/json/client/config.js.map +1 -0
  67. package/dist/json/server/main.js.map +1 -1
  68. package/dist/langium/langium-dsl/config/classicConfig.d.ts +2 -2
  69. package/dist/langium/langium-dsl/config/classicConfig.d.ts.map +1 -1
  70. package/dist/langium/langium-dsl/config/classicConfig.js +53 -45
  71. package/dist/langium/langium-dsl/config/classicConfig.js.map +1 -1
  72. package/dist/langium/langium-dsl/config/extendedConfig.d.ts +2 -2
  73. package/dist/langium/langium-dsl/config/extendedConfig.d.ts.map +1 -1
  74. package/dist/langium/langium-dsl/config/extendedConfig.js +40 -40
  75. package/dist/langium/langium-dsl/config/extendedConfig.js.map +1 -1
  76. package/dist/langium/langium-dsl/wrapperLangium.d.ts.map +1 -1
  77. package/dist/langium/langium-dsl/wrapperLangium.js +23 -16
  78. package/dist/langium/langium-dsl/wrapperLangium.js.map +1 -1
  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.js +2 -3
  86. package/dist/langium/statemachine/main-react.js.map +1 -1
  87. package/dist/langium/statemachine/main.d.ts.map +1 -1
  88. package/dist/langium/statemachine/main.js +38 -27
  89. package/dist/langium/statemachine/main.js.map +1 -1
  90. package/dist/multi/config.d.ts +1 -1
  91. package/dist/multi/config.d.ts.map +1 -1
  92. package/dist/multi/config.js +0 -1
  93. package/dist/multi/config.js.map +1 -1
  94. package/dist/multi/twoLanguageClients.d.ts.map +1 -1
  95. package/dist/multi/twoLanguageClients.js +45 -49
  96. package/dist/multi/twoLanguageClients.js.map +1 -1
  97. package/dist/node.d.ts +0 -3
  98. package/dist/node.d.ts.map +1 -1
  99. package/dist/node.js +3 -3
  100. package/dist/node.js.map +1 -1
  101. package/dist/python/client/config.d.ts +7 -3
  102. package/dist/python/client/config.d.ts.map +1 -1
  103. package/dist/python/client/config.js +93 -97
  104. package/dist/python/client/config.js.map +1 -1
  105. package/dist/python/client/main.d.ts.map +1 -1
  106. package/dist/python/client/main.js +16 -10
  107. package/dist/python/client/main.js.map +1 -1
  108. package/dist/python/client/reactPython.d.ts.map +1 -1
  109. package/dist/python/client/reactPython.js +8 -9
  110. package/dist/python/client/reactPython.js.map +1 -1
  111. package/dist/ts/wrapperTs.d.ts.map +1 -1
  112. package/dist/ts/wrapperTs.js +50 -45
  113. package/dist/ts/wrapperTs.js.map +1 -1
  114. package/json.html +1 -1
  115. package/package.json +41 -42
  116. package/src/appPlayground/common.ts +3 -3
  117. package/src/appPlayground/config.ts +69 -65
  118. package/src/appPlayground/launcher.ts +2 -1
  119. package/src/appPlayground/main.ts +8 -5
  120. package/src/appPlayground/reactLauncher.ts +2 -1
  121. package/src/appPlayground/reactMain.tsx +4 -4
  122. package/src/bare/client.ts +15 -16
  123. package/src/browser/main.ts +29 -27
  124. package/src/clangd/client/config.ts +97 -87
  125. package/src/clangd/client/main.ts +14 -10
  126. package/src/common/client/extendedClient.ts +111 -0
  127. package/src/common/client/utils.ts +7 -2
  128. package/src/debugger/client/debugger.ts +1 -1
  129. package/src/eclipse.jdt.ls/client/main.ts +4 -78
  130. package/src/eclipse.jdt.ls/config.ts +6 -2
  131. package/src/groovy/client/main.ts +4 -65
  132. package/src/groovy/config.ts +6 -2
  133. package/src/json/client/client.ts +14 -0
  134. package/src/json/client/config.ts +13 -0
  135. package/src/json/server/main.ts +1 -1
  136. package/src/langium/langium-dsl/config/classicConfig.ts +64 -48
  137. package/src/langium/langium-dsl/config/extendedConfig.ts +49 -42
  138. package/src/langium/langium-dsl/wrapperLangium.ts +25 -15
  139. package/src/langium/statemachine/config/wrapperStatemachineConfig.ts +48 -45
  140. package/src/langium/statemachine/launcher.ts +1 -1
  141. package/src/langium/statemachine/main-react.tsx +4 -4
  142. package/src/langium/statemachine/main.ts +43 -27
  143. package/src/multi/config.ts +3 -3
  144. package/src/multi/twoLanguageClients.ts +48 -52
  145. package/src/node.ts +3 -3
  146. package/src/python/client/config.ts +101 -99
  147. package/src/python/client/main.ts +20 -11
  148. package/src/python/client/reactPython.tsx +11 -10
  149. package/src/ts/wrapperTs.ts +52 -45
  150. package/two_langauge_clients.html +0 -1
  151. package/dist/json/client/wrapperWs.d.ts +0 -5
  152. package/dist/json/client/wrapperWs.d.ts.map +0 -1
  153. package/dist/json/client/wrapperWs.js +0 -87
  154. package/dist/json/client/wrapperWs.js.map +0 -1
  155. package/src/json/client/wrapperWs.ts +0 -90
@@ -3,14 +3,15 @@
3
3
  * Licensed under the MIT License. See LICENSE in the package root for license information.
4
4
  * ------------------------------------------------------------------------------------------ */
5
5
 
6
- import * as vscode from 'vscode';
7
- import getKeybindingsServiceOverride from '@codingame/monaco-vscode-keybindings-service-override';
6
+ import { LogLevel } from '@codingame/monaco-vscode-api';
8
7
  import '@codingame/monaco-vscode-javascript-default-extension';
8
+ import getKeybindingsServiceOverride from '@codingame/monaco-vscode-keybindings-service-override';
9
9
  import '@codingame/monaco-vscode-typescript-basics-default-extension';
10
10
  import '@codingame/monaco-vscode-typescript-language-features-default-extension';
11
- import { LogLevel } from '@codingame/monaco-vscode-api';
12
- import { MonacoEditorLanguageClientWrapper, type WrapperConfig } from 'monaco-editor-wrapper';
13
- import { configureDefaultWorkerFactory } from 'monaco-editor-wrapper/workers/workerLoaders';
11
+ import { EditorApp, type EditorAppConfig } from 'monaco-languageclient/editorApp';
12
+ import { MonacoVscodeApiWrapper, type MonacoVscodeApiConfig } from 'monaco-languageclient/vscodeApiWrapper';
13
+ import { configureDefaultWorkerFactory } from 'monaco-languageclient/workerFactory';
14
+ import * as vscode from 'vscode';
14
15
  import { disableElement } from '../common/client/utils.js';
15
16
 
16
17
  export const runTsWrapper = async () => {
@@ -24,49 +25,55 @@ export const runTsWrapper = async () => {
24
25
  return "Goodbye";
25
26
  };`;
26
27
 
27
- const wrapperConfig: WrapperConfig = {
28
+ const htmlContainer = document.getElementById('monaco-editor-root')!;
29
+ const vscodeApiConfig: MonacoVscodeApiConfig = {
28
30
  $type: 'extended',
29
- htmlContainer: document.getElementById('monaco-editor-root')!,
31
+ htmlContainer,
30
32
  logLevel: LogLevel.Debug,
31
- vscodeApiConfig: {
32
- serviceOverrides: {
33
- ...getKeybindingsServiceOverride()
34
- },
33
+ serviceOverrides: {
34
+ ...getKeybindingsServiceOverride()
35
+ },
36
+ advanced: {
35
37
  enableExtHostWorker: true,
36
- userConfiguration: {
37
- json: JSON.stringify({
38
- 'workbench.colorTheme': 'Default Dark Modern',
39
- 'typescript.tsserver.web.projectWideIntellisense.enabled': true,
40
- 'typescript.tsserver.web.projectWideIntellisense.suppressSemanticErrors': false,
41
- 'diffEditor.renderSideBySide': false,
42
- 'editor.lightbulb.enabled': 'on',
43
- 'editor.glyphMargin': true,
44
- 'editor.guides.bracketPairsHorizontal': true,
45
- 'editor.experimental.asyncTokenization': true
46
- })
47
- }
48
38
  },
49
- editorAppConfig: {
50
- codeResources: {
51
- modified: {
52
- text: code,
53
- uri: codeUri
54
- },
55
- original: {
56
- text: codeOriginal,
57
- uri: codeOriginalUri,
58
- }
39
+ userConfiguration: {
40
+ json: JSON.stringify({
41
+ 'workbench.colorTheme': 'Default Dark Modern',
42
+ 'typescript.tsserver.web.projectWideIntellisense.enabled': true,
43
+ 'typescript.tsserver.web.projectWideIntellisense.suppressSemanticErrors': false,
44
+ 'diffEditor.renderSideBySide': false,
45
+ 'editor.lightbulb.enabled': 'on',
46
+ 'editor.glyphMargin': true,
47
+ 'editor.guides.bracketPairsHorizontal': true,
48
+ 'editor.experimental.asyncTokenization': true
49
+ })
50
+ },
51
+ monacoWorkerFactory: configureDefaultWorkerFactory
52
+ };
53
+
54
+ const editorAppConfig: EditorAppConfig = {
55
+ $type: vscodeApiConfig.$type,
56
+ codeResources: {
57
+ modified: {
58
+ text: code,
59
+ uri: codeUri
59
60
  },
60
- monacoWorkerFactory: configureDefaultWorkerFactory
61
+ original: {
62
+ text: codeOriginal,
63
+ uri: codeOriginalUri,
64
+ }
61
65
  }
62
66
  };
63
67
 
64
- const wrapper = new MonacoEditorLanguageClientWrapper();
68
+ const apiWrapper = new MonacoVscodeApiWrapper(vscodeApiConfig);
69
+ await apiWrapper.init();
70
+
71
+ const editorApp = new EditorApp(editorAppConfig);
65
72
  disableElement('button-swap-code', true);
66
73
 
67
74
  try {
68
75
  document.querySelector('#button-start')?.addEventListener('click', async () => {
69
- await wrapper.initAndStart(wrapperConfig);
76
+ await editorApp.start(htmlContainer);
70
77
 
71
78
  vscode.commands.getCommands().then((x) => {
72
79
  console.log(`Found ${x.length} commands`);
@@ -74,13 +81,13 @@ export const runTsWrapper = async () => {
74
81
  console.log(`Found command: ${finding}`);
75
82
  });
76
83
 
77
- wrapper.getEditor()?.focus();
84
+ editorApp.getEditor()?.focus();
78
85
  await vscode.commands.executeCommand('actions.find');
79
86
  });
80
87
  document.querySelector('#button-swap-code')?.addEventListener('click', () => {
81
- const codeResources = wrapper.getEditorApp()?.getConfig().codeResources;
88
+ const codeResources = editorApp.getConfig().codeResources;
82
89
  if (codeResources?.modified?.uri === codeUri) {
83
- wrapper.updateCodeResources({
90
+ editorApp.updateCodeResources({
84
91
  modified: {
85
92
  text: codeOriginal,
86
93
  uri: codeOriginalUri
@@ -91,7 +98,7 @@ export const runTsWrapper = async () => {
91
98
  }
92
99
  });
93
100
  } else {
94
- wrapper.updateCodeResources({
101
+ editorApp.updateCodeResources({
95
102
  modified: {
96
103
  text: code,
97
104
  uri: codeUri
@@ -105,14 +112,14 @@ export const runTsWrapper = async () => {
105
112
  });
106
113
  document.querySelector('#button-diff')?.addEventListener('click', async () => {
107
114
  // ensure it is boolean value and not undefined
108
- const useDiffEditor = wrapperConfig.editorAppConfig!.useDiffEditor ?? false;
109
- wrapperConfig.editorAppConfig!.useDiffEditor = !useDiffEditor;
110
- disableElement('button-swap-code', !wrapperConfig.editorAppConfig!.useDiffEditor);
115
+ const useDiffEditor = editorAppConfig.useDiffEditor ?? false;
116
+ editorAppConfig.useDiffEditor = !useDiffEditor;
117
+ disableElement('button-swap-code', !editorAppConfig.useDiffEditor);
111
118
 
112
- await wrapper.initAndStart(wrapperConfig);
119
+ await editorApp.start(htmlContainer);
113
120
  });
114
121
  document.querySelector('#button-dispose')?.addEventListener('click', async () => {
115
- await wrapper.dispose();
122
+ await editorApp.dispose();
116
123
  });
117
124
  } catch (e) {
118
125
  console.error(e);
@@ -15,7 +15,6 @@
15
15
  <button type="button" id="button-start">Start</button>
16
16
  <button type="button" id="button-dispose">Dispose</button>
17
17
  <button type="button" id="button-flip">Flip Content</button>
18
- <label>External Lanuguage Clients:</label><input type="checkbox" id="checkbox-extlc" />
19
18
  </div>
20
19
  <div id="monaco-editor-root" style="width:800px;height:600px;border:1px solid grey"></div>
21
20
  <script type="module">
@@ -1,5 +0,0 @@
1
- import '@codingame/monaco-vscode-json-default-extension';
2
- import { type WrapperConfig } from 'monaco-editor-wrapper';
3
- export declare const buildJsonClientUserConfig: (htmlContainer?: HTMLElement) => WrapperConfig;
4
- export declare const runJsonWrapper: () => void;
5
- //# sourceMappingURL=wrapperWs.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"wrapperWs.d.ts","sourceRoot":"","sources":["../../../src/json/client/wrapperWs.ts"],"names":[],"mappings":"AAOA,OAAO,iDAAiD,CAAC;AAEzD,OAAO,EAAqC,KAAK,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAQ9F,eAAO,MAAM,yBAAyB,GAAI,gBAAgB,WAAW,KAAG,aAwDvE,CAAC;AAEF,eAAO,MAAM,cAAc,YAc1B,CAAC"}
@@ -1,87 +0,0 @@
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 getKeybindingsServiceOverride from '@codingame/monaco-vscode-keybindings-service-override';
6
- // this is required syntax highlighting
7
- import '@codingame/monaco-vscode-json-default-extension';
8
- import { LogLevel } from '@codingame/monaco-vscode-api';
9
- import { MonacoEditorLanguageClientWrapper } from 'monaco-editor-wrapper';
10
- import { configureDefaultWorkerFactory } from 'monaco-editor-wrapper/workers/workerLoaders';
11
- const text = `{
12
- "$schema": "http://json.schemastore.org/coffeelint",
13
- "line_endings": {"value": "unix"}
14
- }`;
15
- export const buildJsonClientUserConfig = (htmlContainer) => {
16
- return {
17
- $type: 'extended',
18
- htmlContainer,
19
- logLevel: LogLevel.Debug,
20
- vscodeApiConfig: {
21
- serviceOverrides: {
22
- ...getKeybindingsServiceOverride(),
23
- },
24
- userConfiguration: {
25
- json: JSON.stringify({
26
- 'workbench.colorTheme': 'Default Dark Modern',
27
- 'editor.guides.bracketPairsHorizontal': 'active',
28
- 'editor.lightbulb.enabled': 'On',
29
- 'editor.wordBasedSuggestions': 'off',
30
- 'editor.experimental.asyncTokenization': true
31
- })
32
- }
33
- },
34
- editorAppConfig: {
35
- codeResources: {
36
- modified: {
37
- text,
38
- uri: '/workspace/test.json',
39
- }
40
- },
41
- monacoWorkerFactory: configureDefaultWorkerFactory
42
- },
43
- languageClientConfigs: {
44
- configs: {
45
- json: {
46
- clientOptions: {
47
- documentSelector: ['json']
48
- },
49
- connection: {
50
- options: {
51
- $type: 'WebSocketUrl',
52
- url: 'ws://localhost:30000/sampleServer',
53
- startOptions: {
54
- onCall: () => {
55
- console.log('Connected to socket.');
56
- },
57
- reportStatus: true
58
- },
59
- stopOptions: {
60
- onCall: () => {
61
- console.log('Disconnected from socket.');
62
- },
63
- reportStatus: true
64
- }
65
- }
66
- }
67
- }
68
- }
69
- }
70
- };
71
- };
72
- export const runJsonWrapper = () => {
73
- const wrapper = new MonacoEditorLanguageClientWrapper();
74
- try {
75
- document.querySelector('#button-start')?.addEventListener('click', async () => {
76
- const config = buildJsonClientUserConfig(document.getElementById('monaco-editor-root'));
77
- await wrapper.initAndStart(config);
78
- });
79
- document.querySelector('#button-dispose')?.addEventListener('click', async () => {
80
- await wrapper.dispose();
81
- });
82
- }
83
- catch (e) {
84
- console.error(e);
85
- }
86
- };
87
- //# sourceMappingURL=wrapperWs.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"wrapperWs.js","sourceRoot":"","sources":["../../../src/json/client/wrapperWs.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAEhG,OAAO,6BAA6B,MAAM,uDAAuD,CAAC;AAClG,uCAAuC;AACvC,OAAO,iDAAiD,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AACxD,OAAO,EAAE,iCAAiC,EAAsB,MAAM,uBAAuB,CAAC;AAC9F,OAAO,EAAE,6BAA6B,EAAE,MAAM,6CAA6C,CAAC;AAE5F,MAAM,IAAI,GAAG;;;EAGX,CAAC;AAEH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,aAA2B,EAAiB,EAAE;IACpF,OAAO;QACH,KAAK,EAAE,UAAU;QACjB,aAAa;QACb,QAAQ,EAAE,QAAQ,CAAC,KAAK;QACxB,eAAe,EAAE;YACb,gBAAgB,EAAE;gBACd,GAAG,6BAA6B,EAAE;aACrC;YACD,iBAAiB,EAAE;gBACf,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oBACjB,sBAAsB,EAAE,qBAAqB;oBAC7C,sCAAsC,EAAE,QAAQ;oBAChD,0BAA0B,EAAE,IAAI;oBAChC,6BAA6B,EAAE,KAAK;oBACpC,uCAAuC,EAAE,IAAI;iBAChD,CAAC;aACL;SACJ;QACD,eAAe,EAAE;YACb,aAAa,EAAE;gBACX,QAAQ,EAAE;oBACN,IAAI;oBACJ,GAAG,EAAE,sBAAsB;iBAC9B;aACJ;YACD,mBAAmB,EAAE,6BAA6B;SACrD;QACD,qBAAqB,EAAE;YACnB,OAAO,EAAE;gBACL,IAAI,EAAE;oBACF,aAAa,EAAE;wBACX,gBAAgB,EAAE,CAAC,MAAM,CAAC;qBAC7B;oBACD,UAAU,EAAE;wBACR,OAAO,EAAE;4BACL,KAAK,EAAE,cAAc;4BACrB,GAAG,EAAE,mCAAmC;4BACxC,YAAY,EAAE;gCACV,MAAM,EAAE,GAAG,EAAE;oCACT,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;gCACxC,CAAC;gCACD,YAAY,EAAE,IAAI;6BACrB;4BACD,WAAW,EAAE;gCACT,MAAM,EAAE,GAAG,EAAE;oCACT,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;gCAC7C,CAAC;gCACD,YAAY,EAAE,IAAI;6BACrB;yBACJ;qBACJ;iBACJ;aACJ;SACJ;KACJ,CAAC;AACN,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,EAAE;IAC/B,MAAM,OAAO,GAAG,IAAI,iCAAiC,EAAE,CAAC;IAExD,IAAI,CAAC;QACD,QAAQ,CAAC,aAAa,CAAC,eAAe,CAAC,EAAE,gBAAgB,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE;YAC1E,MAAM,MAAM,GAAG,yBAAyB,CAAC,QAAQ,CAAC,cAAc,CAAC,oBAAoB,CAAE,CAAC,CAAC;YACzF,MAAM,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;QACH,QAAQ,CAAC,aAAa,CAAC,iBAAiB,CAAC,EAAE,gBAAgB,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE;YAC5E,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;QAC5B,CAAC,CAAC,CAAC;IACP,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACT,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACrB,CAAC;AACL,CAAC,CAAC"}
@@ -1,90 +0,0 @@
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
-
6
- import getKeybindingsServiceOverride from '@codingame/monaco-vscode-keybindings-service-override';
7
- // this is required syntax highlighting
8
- import '@codingame/monaco-vscode-json-default-extension';
9
- import { LogLevel } from '@codingame/monaco-vscode-api';
10
- import { MonacoEditorLanguageClientWrapper, type WrapperConfig } from 'monaco-editor-wrapper';
11
- import { configureDefaultWorkerFactory } from 'monaco-editor-wrapper/workers/workerLoaders';
12
-
13
- const text = `{
14
- "$schema": "http://json.schemastore.org/coffeelint",
15
- "line_endings": {"value": "unix"}
16
- }`;
17
-
18
- export const buildJsonClientUserConfig = (htmlContainer?: HTMLElement): WrapperConfig => {
19
- return {
20
- $type: 'extended',
21
- htmlContainer,
22
- logLevel: LogLevel.Debug,
23
- vscodeApiConfig: {
24
- serviceOverrides: {
25
- ...getKeybindingsServiceOverride(),
26
- },
27
- userConfiguration: {
28
- json: JSON.stringify({
29
- 'workbench.colorTheme': 'Default Dark Modern',
30
- 'editor.guides.bracketPairsHorizontal': 'active',
31
- 'editor.lightbulb.enabled': 'On',
32
- 'editor.wordBasedSuggestions': 'off',
33
- 'editor.experimental.asyncTokenization': true
34
- })
35
- }
36
- },
37
- editorAppConfig: {
38
- codeResources: {
39
- modified: {
40
- text,
41
- uri: '/workspace/test.json',
42
- }
43
- },
44
- monacoWorkerFactory: configureDefaultWorkerFactory
45
- },
46
- languageClientConfigs: {
47
- configs: {
48
- json: {
49
- clientOptions: {
50
- documentSelector: ['json']
51
- },
52
- connection: {
53
- options: {
54
- $type: 'WebSocketUrl',
55
- url: 'ws://localhost:30000/sampleServer',
56
- startOptions: {
57
- onCall: () => {
58
- console.log('Connected to socket.');
59
- },
60
- reportStatus: true
61
- },
62
- stopOptions: {
63
- onCall: () => {
64
- console.log('Disconnected from socket.');
65
- },
66
- reportStatus: true
67
- }
68
- }
69
- }
70
- }
71
- }
72
- }
73
- };
74
- };
75
-
76
- export const runJsonWrapper = () => {
77
- const wrapper = new MonacoEditorLanguageClientWrapper();
78
-
79
- try {
80
- document.querySelector('#button-start')?.addEventListener('click', async () => {
81
- const config = buildJsonClientUserConfig(document.getElementById('monaco-editor-root')!);
82
- await wrapper.initAndStart(config);
83
- });
84
- document.querySelector('#button-dispose')?.addEventListener('click', async () => {
85
- await wrapper.dispose();
86
- });
87
- } catch (e) {
88
- console.error(e);
89
- }
90
- };