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
@@ -1,290 +1,290 @@
1
1
  {
2
- "name": "Langium",
3
- "scopeName": "source.langium",
4
- "fileTypes": [
5
- "langium"
6
- ],
7
- "patterns": [
8
- {
9
- "include": "#regex"
10
- },
11
- {
12
- "include": "#comments"
13
- },
14
- {
15
- "name": "keyword.control.langium",
16
- "match": "\\b(current|entry|extends|fragment|grammar|hidden|import|infer|infers|interface|returns|terminal|type|with)\\b"
17
- },
18
- {
19
- "name": "constant.language.langium",
20
- "match": "\\b(?i:true|false)\\b"
21
- },
22
- {
23
- "name": "keyword.symbol.langium",
24
- "match": "(\\{|\\}|\\:|\\]|\\[|\\(|\\)|(\\??|\\+?)\\=|->|\\=>|<|>|\\,|\\*|\\+|\\@|\\||\\&|\\?|\\!|\\;)"
25
- },
26
- {
27
- "name": "string.quoted.double.langium",
28
- "begin": "\"",
29
- "end": "\"",
30
- "patterns": [
2
+ "name": "Langium",
3
+ "scopeName": "source.langium",
4
+ "fileTypes": [
5
+ "langium"
6
+ ],
7
+ "patterns": [
31
8
  {
32
- "include": "#string-character-escape"
33
- }
34
- ]
35
- },
36
- {
37
- "name": "string.quoted.single.langium",
38
- "begin": "'",
39
- "end": "'",
40
- "patterns": [
41
- {
42
- "include": "#string-character-escape"
43
- }
44
- ]
45
- }
46
- ],
47
- "repository": {
48
- "comments": {
49
- "patterns": [
50
- {
51
- "name": "comment.block.langium",
52
- "begin": "/\\*",
53
- "beginCaptures": {
54
- "0": {
55
- "name": "punctuation.definition.comment.langium"
56
- }
57
- },
58
- "end": "\\*/",
59
- "endCaptures": {
60
- "0": {
61
- "name": "punctuation.definition.comment.langium"
62
- }
63
- }
64
- },
65
- {
66
- "begin": "(^\\s+)?(?=//)",
67
- "beginCaptures": {
68
- "1": {
69
- "name": "punctuation.whitespace.comment.leading.cs"
70
- }
71
- },
72
- "end": "(?=$)",
73
- "name": "comment.line.langium"
74
- }
75
- ]
76
- },
77
- "string-character-escape": {
78
- "name": "constant.character.escape.langium",
79
- "match": "\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4}|u\\{[0-9A-Fa-f]+\\}|[0-2][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.|$)"
80
- },
81
- "regex": {
82
- "patterns": [
83
- {
84
- "name": "string.regexp.ts",
85
- "begin": "(?<!\\+\\+|--|})(?<=[=(:,\\[?+!]|^return|[^\\._$[:alnum:]]return|^case|[^\\._$[:alnum:]]case|=>|&&|\\|\\||\\*\\/)\\s*(\\/)(?![\\/*])(?=(?:[^\\/\\\\\\[\\()]|\\\\.|\\[([^\\]\\\\]|\\\\.)+\\]|\\(([^\\)\\\\]|\\\\.)+\\))+\\/([a-z]+|(?![\\/\\*])|(?=\\/\\*))(?!\\s*[a-zA-Z0-9_$]))",
86
- "beginCaptures": {
87
- "1": {
88
- "name": "punctuation.definition.string.begin.ts"
89
- }
90
- },
91
- "end": "(/)([a-z]*)",
92
- "endCaptures": {
93
- "1": {
94
- "name": "punctuation.definition.string.end.ts"
95
- },
96
- "2": {
97
- "name": "keyword.other.ts"
98
- }
99
- },
100
- "patterns": [
101
- {
102
- "include": "#regexp"
103
- }
104
- ]
9
+ "include": "#regex"
105
10
  },
106
11
  {
107
- "name": "string.regexp.ts",
108
- "begin": "((?<![_$[:alnum:])\\]]|\\+\\+|--|}|\\*\\/)|((?<=^return|[^\\._$[:alnum:]]return|^case|[^\\._$[:alnum:]]case))\\s*)\\/(?![\\/*])(?=(?:[^\\/\\\\\\[]|\\\\.|\\[([^\\]\\\\]|\\\\.)*\\])+\\/([a-z]+|(?![\\/\\*])|(?=\\/\\*))(?!\\s*[a-zA-Z0-9_$]))",
109
- "beginCaptures": {
110
- "0": {
111
- "name": "punctuation.definition.string.begin.ts"
112
- }
113
- },
114
- "end": "(/)([a-z]*)",
115
- "endCaptures": {
116
- "1": {
117
- "name": "punctuation.definition.string.end.ts"
118
- },
119
- "2": {
120
- "name": "keyword.other.ts"
121
- }
122
- },
123
- "patterns": [
124
- {
125
- "include": "#regexp"
126
- }
127
- ]
128
- }
129
- ]
130
- },
131
- "regexp": {
132
- "patterns": [
133
- {
134
- "name": "keyword.control.anchor.regexp",
135
- "match": "\\\\[bB]|\\^|\\$"
12
+ "include": "#comments"
136
13
  },
137
14
  {
138
- "match": "\\\\[1-9]\\d*|\\\\k<([a-zA-Z_$][\\w$]*)>",
139
- "captures": {
140
- "0": {
141
- "name": "keyword.other.back-reference.regexp"
142
- },
143
- "1": {
144
- "name": "variable.other.regexp"
145
- }
146
- }
15
+ "name": "keyword.control.langium",
16
+ "match": "\\b(left|right|assoc|current|entry|extends|fragment|grammar|hidden|import|infer|infers|infix|interface|returns|terminal|type|with|on)\\b"
147
17
  },
148
18
  {
149
- "name": "keyword.operator.quantifier.regexp",
150
- "match": "[?+*]|\\{(\\d+,\\d+|\\d+,|,\\d+|\\d+)\\}\\??"
19
+ "name": "constant.language.langium",
20
+ "match": "\\b(?i:true|false)\\b"
151
21
  },
152
22
  {
153
- "name": "keyword.operator.or.regexp",
154
- "match": "\\|"
23
+ "name": "keyword.symbol.langium",
24
+ "match": "(\\{|\\}|\\:|\\]|\\[|\\(|\\)|(\\??|\\+?)\\=|->|\\=>|<|>|\\,|\\*|\\+|\\@|\\||\\&|\\?|\\!|\\;)"
155
25
  },
156
26
  {
157
- "name": "meta.group.assertion.regexp",
158
- "begin": "(\\()((\\?=)|(\\?!)|(\\?<=)|(\\?<!))",
159
- "beginCaptures": {
160
- "1": {
161
- "name": "punctuation.definition.group.regexp"
162
- },
163
- "2": {
164
- "name": "punctuation.definition.group.assertion.regexp"
165
- },
166
- "3": {
167
- "name": "meta.assertion.look-ahead.regexp"
168
- },
169
- "4": {
170
- "name": "meta.assertion.negative-look-ahead.regexp"
171
- },
172
- "5": {
173
- "name": "meta.assertion.look-behind.regexp"
174
- },
175
- "6": {
176
- "name": "meta.assertion.negative-look-behind.regexp"
177
- }
178
- },
179
- "end": "(\\))",
180
- "endCaptures": {
181
- "1": {
182
- "name": "punctuation.definition.group.regexp"
183
- }
184
- },
185
- "patterns": [
186
- {
187
- "include": "#regexp"
188
- }
189
- ]
27
+ "name": "string.quoted.double.langium",
28
+ "begin": "\"",
29
+ "end": "\"",
30
+ "patterns": [
31
+ {
32
+ "include": "#string-character-escape"
33
+ }
34
+ ]
190
35
  },
191
36
  {
192
- "name": "meta.group.regexp",
193
- "begin": "\\((?:(\\?:)|(?:\\?<([a-zA-Z_$][\\w$]*)>))?",
194
- "beginCaptures": {
195
- "0": {
196
- "name": "punctuation.definition.group.regexp"
197
- },
198
- "1": {
199
- "name": "punctuation.definition.group.no-capture.regexp"
200
- },
201
- "2": {
202
- "name": "variable.other.regexp"
203
- }
204
- },
205
- "end": "\\)",
206
- "endCaptures": {
207
- "0": {
208
- "name": "punctuation.definition.group.regexp"
209
- }
210
- },
211
- "patterns": [
212
- {
213
- "include": "#regexp"
214
- }
215
- ]
216
- },
217
- {
218
- "name": "constant.other.character-class.set.regexp",
219
- "begin": "(\\[)(\\^)?",
220
- "beginCaptures": {
221
- "1": {
222
- "name": "punctuation.definition.character-class.regexp"
223
- },
224
- "2": {
225
- "name": "keyword.operator.negation.regexp"
226
- }
227
- },
228
- "end": "(\\])",
229
- "endCaptures": {
230
- "1": {
231
- "name": "punctuation.definition.character-class.regexp"
232
- }
233
- },
234
- "patterns": [
235
- {
236
- "name": "constant.other.character-class.range.regexp",
237
- "match": "(?:.|(\\\\(?:[0-7]{3}|x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4}))|(\\\\c[A-Z])|(\\\\.))\\-(?:[^\\]\\\\]|(\\\\(?:[0-7]{3}|x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4}))|(\\\\c[A-Z])|(\\\\.))",
238
- "captures": {
239
- "1": {
240
- "name": "constant.character.numeric.regexp"
241
- },
242
- "2": {
243
- "name": "constant.character.control.regexp"
244
- },
245
- "3": {
246
- "name": "constant.character.escape.backslash.regexp"
247
- },
248
- "4": {
249
- "name": "constant.character.numeric.regexp"
250
- },
251
- "5": {
252
- "name": "constant.character.control.regexp"
37
+ "name": "string.quoted.single.langium",
38
+ "begin": "'",
39
+ "end": "'",
40
+ "patterns": [
41
+ {
42
+ "include": "#string-character-escape"
43
+ }
44
+ ]
45
+ }
46
+ ],
47
+ "repository": {
48
+ "comments": {
49
+ "patterns": [
50
+ {
51
+ "name": "comment.block.langium",
52
+ "begin": "/\\*",
53
+ "beginCaptures": {
54
+ "0": {
55
+ "name": "punctuation.definition.comment.langium"
56
+ }
57
+ },
58
+ "end": "\\*/",
59
+ "endCaptures": {
60
+ "0": {
61
+ "name": "punctuation.definition.comment.langium"
62
+ }
63
+ }
253
64
  },
254
- "6": {
255
- "name": "constant.character.escape.backslash.regexp"
65
+ {
66
+ "begin": "(^\\s+)?(?=//)",
67
+ "beginCaptures": {
68
+ "1": {
69
+ "name": "punctuation.whitespace.comment.leading.cs"
70
+ }
71
+ },
72
+ "end": "(?=$)",
73
+ "name": "comment.line.langium"
256
74
  }
257
- }
258
- },
259
- {
260
- "include": "#regex-character-class"
261
- }
262
- ]
75
+ ]
263
76
  },
264
- {
265
- "include": "#regex-character-class"
266
- }
267
- ]
268
- },
269
- "regex-character-class": {
270
- "patterns": [
271
- {
272
- "name": "constant.other.character-class.regexp",
273
- "match": "\\\\[wWsSdDtrnvf]|\\."
77
+ "string-character-escape": {
78
+ "name": "constant.character.escape.langium",
79
+ "match": "\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4}|u\\{[0-9A-Fa-f]+\\}|[0-2][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.|$)"
274
80
  },
275
- {
276
- "name": "constant.character.numeric.regexp",
277
- "match": "\\\\([0-7]{3}|x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4})"
278
- },
279
- {
280
- "name": "constant.character.control.regexp",
281
- "match": "\\\\c[A-Z]"
282
- },
283
- {
284
- "name": "constant.character.escape.backslash.regexp",
285
- "match": "\\\\."
286
- }
287
- ]
81
+ "regex": {
82
+ "patterns": [
83
+ {
84
+ "name": "string.regexp.ts",
85
+ "begin": "(?<!\\+\\+|--|})(?<=[=(:,\\[?+!]|^return|[^\\._$[:alnum:]]return|^case|[^\\._$[:alnum:]]case|=>|&&|\\|\\||\\*\\/)\\s*(\\/)(?![\\/*])(?=(?:[^\\/\\\\\\[\\()]|\\\\.|\\[([^\\]\\\\]|\\\\.)+\\]|\\(([^\\)\\\\]|\\\\.)+\\))+\\/([a-z]+|(?![\\/\\*])|(?=\\/\\*))(?!\\s*[a-zA-Z0-9_$]))",
86
+ "beginCaptures": {
87
+ "1": {
88
+ "name": "punctuation.definition.string.begin.ts"
89
+ }
90
+ },
91
+ "end": "(/)([a-z]*)",
92
+ "endCaptures": {
93
+ "1": {
94
+ "name": "punctuation.definition.string.end.ts"
95
+ },
96
+ "2": {
97
+ "name": "keyword.other.ts"
98
+ }
99
+ },
100
+ "patterns": [
101
+ {
102
+ "include": "#regexp"
103
+ }
104
+ ]
105
+ },
106
+ {
107
+ "name": "string.regexp.ts",
108
+ "begin": "((?<![_$[:alnum:])\\]]|\\+\\+|--|}|\\*\\/)|((?<=^return|[^\\._$[:alnum:]]return|^case|[^\\._$[:alnum:]]case))\\s*)\\/(?![\\/*])(?=(?:[^\\/\\\\\\[]|\\\\.|\\[([^\\]\\\\]|\\\\.)*\\])+\\/([a-z]+|(?![\\/\\*])|(?=\\/\\*))(?!\\s*[a-zA-Z0-9_$]))",
109
+ "beginCaptures": {
110
+ "0": {
111
+ "name": "punctuation.definition.string.begin.ts"
112
+ }
113
+ },
114
+ "end": "(/)([a-z]*)",
115
+ "endCaptures": {
116
+ "1": {
117
+ "name": "punctuation.definition.string.end.ts"
118
+ },
119
+ "2": {
120
+ "name": "keyword.other.ts"
121
+ }
122
+ },
123
+ "patterns": [
124
+ {
125
+ "include": "#regexp"
126
+ }
127
+ ]
128
+ }
129
+ ]
130
+ },
131
+ "regexp": {
132
+ "patterns": [
133
+ {
134
+ "name": "keyword.control.anchor.regexp",
135
+ "match": "\\\\[bB]|\\^|\\$"
136
+ },
137
+ {
138
+ "match": "\\\\[1-9]\\d*|\\\\k<([a-zA-Z_$][\\w$]*)>",
139
+ "captures": {
140
+ "0": {
141
+ "name": "keyword.other.back-reference.regexp"
142
+ },
143
+ "1": {
144
+ "name": "variable.other.regexp"
145
+ }
146
+ }
147
+ },
148
+ {
149
+ "name": "keyword.operator.quantifier.regexp",
150
+ "match": "[?+*]|\\{(\\d+,\\d+|\\d+,|,\\d+|\\d+)\\}\\??"
151
+ },
152
+ {
153
+ "name": "keyword.operator.or.regexp",
154
+ "match": "\\|"
155
+ },
156
+ {
157
+ "name": "meta.group.assertion.regexp",
158
+ "begin": "(\\()((\\?=)|(\\?!)|(\\?<=)|(\\?<!))",
159
+ "beginCaptures": {
160
+ "1": {
161
+ "name": "punctuation.definition.group.regexp"
162
+ },
163
+ "2": {
164
+ "name": "punctuation.definition.group.assertion.regexp"
165
+ },
166
+ "3": {
167
+ "name": "meta.assertion.look-ahead.regexp"
168
+ },
169
+ "4": {
170
+ "name": "meta.assertion.negative-look-ahead.regexp"
171
+ },
172
+ "5": {
173
+ "name": "meta.assertion.look-behind.regexp"
174
+ },
175
+ "6": {
176
+ "name": "meta.assertion.negative-look-behind.regexp"
177
+ }
178
+ },
179
+ "end": "(\\))",
180
+ "endCaptures": {
181
+ "1": {
182
+ "name": "punctuation.definition.group.regexp"
183
+ }
184
+ },
185
+ "patterns": [
186
+ {
187
+ "include": "#regexp"
188
+ }
189
+ ]
190
+ },
191
+ {
192
+ "name": "meta.group.regexp",
193
+ "begin": "\\((?:(\\?:)|(?:\\?<([a-zA-Z_$][\\w$]*)>))?",
194
+ "beginCaptures": {
195
+ "0": {
196
+ "name": "punctuation.definition.group.regexp"
197
+ },
198
+ "1": {
199
+ "name": "punctuation.definition.group.no-capture.regexp"
200
+ },
201
+ "2": {
202
+ "name": "variable.other.regexp"
203
+ }
204
+ },
205
+ "end": "\\)",
206
+ "endCaptures": {
207
+ "0": {
208
+ "name": "punctuation.definition.group.regexp"
209
+ }
210
+ },
211
+ "patterns": [
212
+ {
213
+ "include": "#regexp"
214
+ }
215
+ ]
216
+ },
217
+ {
218
+ "name": "constant.other.character-class.set.regexp",
219
+ "begin": "(\\[)(\\^)?",
220
+ "beginCaptures": {
221
+ "1": {
222
+ "name": "punctuation.definition.character-class.regexp"
223
+ },
224
+ "2": {
225
+ "name": "keyword.operator.negation.regexp"
226
+ }
227
+ },
228
+ "end": "(\\])",
229
+ "endCaptures": {
230
+ "1": {
231
+ "name": "punctuation.definition.character-class.regexp"
232
+ }
233
+ },
234
+ "patterns": [
235
+ {
236
+ "name": "constant.other.character-class.range.regexp",
237
+ "match": "(?:.|(\\\\(?:[0-7]{3}|x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4}))|(\\\\c[A-Z])|(\\\\.))\\-(?:[^\\]\\\\]|(\\\\(?:[0-7]{3}|x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4}))|(\\\\c[A-Z])|(\\\\.))",
238
+ "captures": {
239
+ "1": {
240
+ "name": "constant.character.numeric.regexp"
241
+ },
242
+ "2": {
243
+ "name": "constant.character.control.regexp"
244
+ },
245
+ "3": {
246
+ "name": "constant.character.escape.backslash.regexp"
247
+ },
248
+ "4": {
249
+ "name": "constant.character.numeric.regexp"
250
+ },
251
+ "5": {
252
+ "name": "constant.character.control.regexp"
253
+ },
254
+ "6": {
255
+ "name": "constant.character.escape.backslash.regexp"
256
+ }
257
+ }
258
+ },
259
+ {
260
+ "include": "#regex-character-class"
261
+ }
262
+ ]
263
+ },
264
+ {
265
+ "include": "#regex-character-class"
266
+ }
267
+ ]
268
+ },
269
+ "regex-character-class": {
270
+ "patterns": [
271
+ {
272
+ "name": "constant.other.character-class.regexp",
273
+ "match": "\\\\[wWsSdDtrnvf]|\\."
274
+ },
275
+ {
276
+ "name": "constant.character.numeric.regexp",
277
+ "match": "\\\\([0-7]{3}|x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4})"
278
+ },
279
+ {
280
+ "name": "constant.character.control.regexp",
281
+ "match": "\\\\c[A-Z]"
282
+ },
283
+ {
284
+ "name": "constant.character.escape.backslash.regexp",
285
+ "match": "\\\\."
286
+ }
287
+ ]
288
+ }
288
289
  }
289
- }
290
- }
290
+ }
@@ -0,0 +1,31 @@
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 { LanguageClientWrapper } from 'monaco-languageclient/lcwrapper';
7
+ import { MonacoVscodeApiWrapper } from 'monaco-languageclient/vscodeApiWrapper';
8
+ import * as vscode from 'vscode';
9
+ import type { ExampleAppConfig } from '../../common/client/utils.js';
10
+ import { setupLangiumClientExtended } from './config/extendedConfig.js';
11
+
12
+ export const runLangiumGrammarDsl = async () => {
13
+ try {
14
+ const appConfig: ExampleAppConfig = await setupLangiumClientExtended();
15
+
16
+ // perform global init
17
+ const apiWrapper = new MonacoVscodeApiWrapper(appConfig.vscodeApiConfig);
18
+ await apiWrapper.init();
19
+
20
+ // init language client
21
+ const lcWrapper = new LanguageClientWrapper(appConfig.languageClientConfig);
22
+ await lcWrapper.start();
23
+
24
+ await vscode.workspace.openTextDocument('/workspace/langium-types.langium');
25
+ await vscode.workspace.openTextDocument('/workspace/langium-grammar.langium');
26
+ await vscode.window.showTextDocument(vscode.Uri.file('/workspace/langium-grammar.langium'));
27
+ } catch (e) {
28
+ console.error(e);
29
+ }
30
+ };
31
+