@kong-ui-public/monaco-editor 0.1.0 → 0.1.2-pr.2609.2ce4f4787.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 (100) hide show
  1. package/dist/abap-D0Neqhq6.js +1404 -0
  2. package/dist/apex-B5LhxkeG.js +332 -0
  3. package/dist/azcli-BrBH0QTU.js +74 -0
  4. package/dist/bat-BfzAov64.js +106 -0
  5. package/dist/bicep-C3bCSWel.js +108 -0
  6. package/dist/cameligo-sFL5plcd.js +180 -0
  7. package/dist/clojure-CfeExRz0.js +767 -0
  8. package/dist/coffee-Xws5K0WL.js +238 -0
  9. package/dist/cpp-CqOUEpxN.js +395 -0
  10. package/dist/csharp-DVLiBOZb.js +332 -0
  11. package/dist/csp-DVFp9bw5.js +59 -0
  12. package/dist/css-DwARn2R6.js +193 -0
  13. package/dist/cssMode-BRHW0OjB.js +1577 -0
  14. package/dist/cypher-uY0Mffat.js +269 -0
  15. package/dist/dart-D27H-mX_.js +287 -0
  16. package/dist/dockerfile-CmV85WZK.js +136 -0
  17. package/dist/ecl--fKn7yzB.js +462 -0
  18. package/dist/editor.main-BVWEsGeM.js +112170 -0
  19. package/dist/elixir-DUhH17ON.js +575 -0
  20. package/dist/flow9-B3Dx2LLe.js +148 -0
  21. package/dist/freemarker2-DrnILGvf.js +995 -0
  22. package/dist/fsharp-SyqBfUAR.js +223 -0
  23. package/dist/go-BbMR2tdT.js +224 -0
  24. package/dist/graphql-DDJE6tIl.js +157 -0
  25. package/dist/handlebars-D2vGkdp7.js +425 -0
  26. package/dist/hcl-YBvpaUqf.js +189 -0
  27. package/dist/html-D3HI-WFO.js +314 -0
  28. package/dist/htmlMode-CNpiDTvN.js +1587 -0
  29. package/dist/ini-Ct73dBtM.js +77 -0
  30. package/dist/java-C_jlkwoG.js +238 -0
  31. package/dist/javascript-DLZMP-Wa.js +76 -0
  32. package/dist/jsonMode-CEQtUpLb.js +2002 -0
  33. package/dist/julia-D8WE5U1e.js +517 -0
  34. package/dist/kotlin-Zy9aq5yB.js +259 -0
  35. package/dist/less-sZ0iHtE8.js +168 -0
  36. package/dist/lexon-CsdNL29A.js +163 -0
  37. package/dist/liquid-CnqLoV0A.js +246 -0
  38. package/dist/lua-C2YJo0zw.js +168 -0
  39. package/dist/m3-CPLP40SG.js +216 -0
  40. package/dist/markdown-B1mf5e0R.js +235 -0
  41. package/dist/mdx-C6hXTTY6.js +171 -0
  42. package/dist/mips-DA33BZX1.js +204 -0
  43. package/dist/monaco-editor.es.js +224 -14
  44. package/dist/monaco-editor.umd.js +1913 -1
  45. package/dist/msdax-CCYFIQsP.js +381 -0
  46. package/dist/mysql-hjmIjL-D.js +884 -0
  47. package/dist/objective-c-RRCpEmqC.js +189 -0
  48. package/dist/pascal-CeV8XfxB.js +257 -0
  49. package/dist/pascaligo-IEEGVJAJ.js +170 -0
  50. package/dist/perl-B5-QbHq_.js +632 -0
  51. package/dist/pgsql-s6kqEJmi.js +857 -0
  52. package/dist/php-CWWqzOo8.js +506 -0
  53. package/dist/pla-FSvb_YP_.js +143 -0
  54. package/dist/postiats-DQdscQXO.js +913 -0
  55. package/dist/powerquery-CtA5JA1I.js +896 -0
  56. package/dist/powershell-DglEq96N.js +245 -0
  57. package/dist/protobuf-BSepub3e.js +426 -0
  58. package/dist/pug-B1847F4G.js +408 -0
  59. package/dist/python-CGI_fE8F.js +307 -0
  60. package/dist/qsharp-D4i0Nqg9.js +307 -0
  61. package/dist/r-cdRigKxa.js +249 -0
  62. package/dist/razor-DNVpjohl.js +556 -0
  63. package/dist/redis-D9MFxvE8.js +308 -0
  64. package/dist/redshift-CmCnsvL-.js +815 -0
  65. package/dist/restructuredtext-CWy8J51t.js +180 -0
  66. package/dist/ruby-WP-c36m5.js +517 -0
  67. package/dist/rust-Q9FLdYpu.js +349 -0
  68. package/dist/sb-C54-JBGT.js +121 -0
  69. package/dist/scala-CzbFImc5.js +376 -0
  70. package/dist/scheme-BhfDmYN3.js +114 -0
  71. package/dist/scss-CEmiBXpS.js +268 -0
  72. package/dist/shell-Bmc1VhG0.js +227 -0
  73. package/dist/solidity-C9Q2I8Hh.js +1373 -0
  74. package/dist/sophia-jWa1UyKz.js +205 -0
  75. package/dist/sparql-CM7jctbc.js +207 -0
  76. package/dist/sql-WzihTkbg.js +859 -0
  77. package/dist/st-6y7_3aup.js +422 -0
  78. package/dist/style.css +1 -0
  79. package/dist/swift-k-0zxG_D.js +318 -0
  80. package/dist/systemverilog-Pnr5_rIP.js +582 -0
  81. package/dist/tcl-fNPXval8.js +238 -0
  82. package/dist/tsMode-CRUDJ1Gx.js +895 -0
  83. package/dist/twig-L2MkztkV.js +398 -0
  84. package/dist/types/composables/useMonacoEditor.d.ts +25 -0
  85. package/dist/types/composables/useMonacoEditor.d.ts.map +1 -0
  86. package/dist/types/constants/index.d.ts +3 -0
  87. package/dist/types/constants/index.d.ts.map +1 -0
  88. package/dist/types/index.d.ts +1 -0
  89. package/dist/types/index.d.ts.map +1 -1
  90. package/dist/types/tests/mocks/monaco-editor-api.d.ts +78 -0
  91. package/dist/types/tests/mocks/monaco-editor-api.d.ts.map +1 -0
  92. package/dist/types/types/index.d.ts +68 -1
  93. package/dist/types/types/index.d.ts.map +1 -1
  94. package/dist/typescript-C2FvJtQm.js +349 -0
  95. package/dist/typespec-Cqqo-3Pt.js +123 -0
  96. package/dist/vb-B5YC2xN9.js +378 -0
  97. package/dist/wgsl-B-_uRex7.js +445 -0
  98. package/dist/xml-e_XsfZP6.js +101 -0
  99. package/dist/yaml-DOzdDlyx.js +212 -0
  100. package/package.json +14 -8
@@ -0,0 +1,425 @@
1
+ import { m as l } from "./editor.main-BVWEsGeM.js";
2
+ /*!-----------------------------------------------------------------------------
3
+ * Copyright (c) Microsoft Corporation. All rights reserved.
4
+ * Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)
5
+ * Released under the MIT license
6
+ * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
7
+ *-----------------------------------------------------------------------------*/
8
+ var i = Object.defineProperty, s = Object.getOwnPropertyDescriptor, d = Object.getOwnPropertyNames, c = Object.prototype.hasOwnProperty, p = (t, e, r, m) => {
9
+ if (e && typeof e == "object" || typeof e == "function")
10
+ for (let n of d(e))
11
+ !c.call(t, n) && n !== r && i(t, n, { get: () => e[n], enumerable: !(m = s(e, n)) || m.enumerable });
12
+ return t;
13
+ }, h = (t, e, r) => (p(t, e, "default"), r), a = {};
14
+ h(a, l);
15
+ var o = [
16
+ "area",
17
+ "base",
18
+ "br",
19
+ "col",
20
+ "embed",
21
+ "hr",
22
+ "img",
23
+ "input",
24
+ "keygen",
25
+ "link",
26
+ "menuitem",
27
+ "meta",
28
+ "param",
29
+ "source",
30
+ "track",
31
+ "wbr"
32
+ ], u = {
33
+ wordPattern: /(-?\d*\.\d\w*)|([^\`\~\!\@\$\^\&\*\(\)\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\s]+)/g,
34
+ comments: {
35
+ blockComment: ["{{!--", "--}}"]
36
+ },
37
+ brackets: [
38
+ ["<!--", "-->"],
39
+ ["<", ">"],
40
+ ["{{", "}}"],
41
+ ["{", "}"],
42
+ ["(", ")"]
43
+ ],
44
+ autoClosingPairs: [
45
+ { open: "{", close: "}" },
46
+ { open: "[", close: "]" },
47
+ { open: "(", close: ")" },
48
+ { open: '"', close: '"' },
49
+ { open: "'", close: "'" }
50
+ ],
51
+ surroundingPairs: [
52
+ { open: "<", close: ">" },
53
+ { open: '"', close: '"' },
54
+ { open: "'", close: "'" }
55
+ ],
56
+ onEnterRules: [
57
+ {
58
+ beforeText: new RegExp(
59
+ `<(?!(?:${o.join("|")}))(\\w[\\w\\d]*)([^/>]*(?!/)>)[^<]*$`,
60
+ "i"
61
+ ),
62
+ afterText: /^<\/(\w[\w\d]*)\s*>$/i,
63
+ action: {
64
+ indentAction: a.languages.IndentAction.IndentOutdent
65
+ }
66
+ },
67
+ {
68
+ beforeText: new RegExp(
69
+ `<(?!(?:${o.join("|")}))(\\w[\\w\\d]*)([^/>]*(?!/)>)[^<]*$`,
70
+ "i"
71
+ ),
72
+ action: { indentAction: a.languages.IndentAction.Indent }
73
+ }
74
+ ]
75
+ }, y = {
76
+ defaultToken: "",
77
+ tokenPostfix: "",
78
+ // ignoreCase: true,
79
+ // The main tokenizer for our languages
80
+ tokenizer: {
81
+ root: [
82
+ [/\{\{!--/, "comment.block.start.handlebars", "@commentBlock"],
83
+ [/\{\{!/, "comment.start.handlebars", "@comment"],
84
+ [/\{\{/, { token: "@rematch", switchTo: "@handlebarsInSimpleState.root" }],
85
+ [/<!DOCTYPE/, "metatag.html", "@doctype"],
86
+ [/<!--/, "comment.html", "@commentHtml"],
87
+ [/(<)(\w+)(\/>)/, ["delimiter.html", "tag.html", "delimiter.html"]],
88
+ [/(<)(script)/, ["delimiter.html", { token: "tag.html", next: "@script" }]],
89
+ [/(<)(style)/, ["delimiter.html", { token: "tag.html", next: "@style" }]],
90
+ [/(<)([:\w]+)/, ["delimiter.html", { token: "tag.html", next: "@otherTag" }]],
91
+ [/(<\/)(\w+)/, ["delimiter.html", { token: "tag.html", next: "@otherTag" }]],
92
+ [/</, "delimiter.html"],
93
+ [/\{/, "delimiter.html"],
94
+ [/[^<{]+/]
95
+ // text
96
+ ],
97
+ doctype: [
98
+ [
99
+ /\{\{/,
100
+ {
101
+ token: "@rematch",
102
+ switchTo: "@handlebarsInSimpleState.comment"
103
+ }
104
+ ],
105
+ [/[^>]+/, "metatag.content.html"],
106
+ [/>/, "metatag.html", "@pop"]
107
+ ],
108
+ comment: [
109
+ [/\}\}/, "comment.end.handlebars", "@pop"],
110
+ [/./, "comment.content.handlebars"]
111
+ ],
112
+ commentBlock: [
113
+ [/--\}\}/, "comment.block.end.handlebars", "@pop"],
114
+ [/./, "comment.content.handlebars"]
115
+ ],
116
+ commentHtml: [
117
+ [
118
+ /\{\{/,
119
+ {
120
+ token: "@rematch",
121
+ switchTo: "@handlebarsInSimpleState.comment"
122
+ }
123
+ ],
124
+ [/-->/, "comment.html", "@pop"],
125
+ [/[^-]+/, "comment.content.html"],
126
+ [/./, "comment.content.html"]
127
+ ],
128
+ otherTag: [
129
+ [
130
+ /\{\{/,
131
+ {
132
+ token: "@rematch",
133
+ switchTo: "@handlebarsInSimpleState.otherTag"
134
+ }
135
+ ],
136
+ [/\/?>/, "delimiter.html", "@pop"],
137
+ [/"([^"]*)"/, "attribute.value"],
138
+ [/'([^']*)'/, "attribute.value"],
139
+ [/[\w\-]+/, "attribute.name"],
140
+ [/=/, "delimiter"],
141
+ [/[ \t\r\n]+/]
142
+ // whitespace
143
+ ],
144
+ // -- BEGIN <script> tags handling
145
+ // After <script
146
+ script: [
147
+ [
148
+ /\{\{/,
149
+ {
150
+ token: "@rematch",
151
+ switchTo: "@handlebarsInSimpleState.script"
152
+ }
153
+ ],
154
+ [/type/, "attribute.name", "@scriptAfterType"],
155
+ [/"([^"]*)"/, "attribute.value"],
156
+ [/'([^']*)'/, "attribute.value"],
157
+ [/[\w\-]+/, "attribute.name"],
158
+ [/=/, "delimiter"],
159
+ [
160
+ />/,
161
+ {
162
+ token: "delimiter.html",
163
+ next: "@scriptEmbedded.text/javascript",
164
+ nextEmbedded: "text/javascript"
165
+ }
166
+ ],
167
+ [/[ \t\r\n]+/],
168
+ // whitespace
169
+ [
170
+ /(<\/)(script\s*)(>)/,
171
+ ["delimiter.html", "tag.html", { token: "delimiter.html", next: "@pop" }]
172
+ ]
173
+ ],
174
+ // After <script ... type
175
+ scriptAfterType: [
176
+ [
177
+ /\{\{/,
178
+ {
179
+ token: "@rematch",
180
+ switchTo: "@handlebarsInSimpleState.scriptAfterType"
181
+ }
182
+ ],
183
+ [/=/, "delimiter", "@scriptAfterTypeEquals"],
184
+ [
185
+ />/,
186
+ {
187
+ token: "delimiter.html",
188
+ next: "@scriptEmbedded.text/javascript",
189
+ nextEmbedded: "text/javascript"
190
+ }
191
+ ],
192
+ // cover invalid e.g. <script type>
193
+ [/[ \t\r\n]+/],
194
+ // whitespace
195
+ [/<\/script\s*>/, { token: "@rematch", next: "@pop" }]
196
+ ],
197
+ // After <script ... type =
198
+ scriptAfterTypeEquals: [
199
+ [
200
+ /\{\{/,
201
+ {
202
+ token: "@rematch",
203
+ switchTo: "@handlebarsInSimpleState.scriptAfterTypeEquals"
204
+ }
205
+ ],
206
+ [
207
+ /"([^"]*)"/,
208
+ {
209
+ token: "attribute.value",
210
+ switchTo: "@scriptWithCustomType.$1"
211
+ }
212
+ ],
213
+ [
214
+ /'([^']*)'/,
215
+ {
216
+ token: "attribute.value",
217
+ switchTo: "@scriptWithCustomType.$1"
218
+ }
219
+ ],
220
+ [
221
+ />/,
222
+ {
223
+ token: "delimiter.html",
224
+ next: "@scriptEmbedded.text/javascript",
225
+ nextEmbedded: "text/javascript"
226
+ }
227
+ ],
228
+ // cover invalid e.g. <script type=>
229
+ [/[ \t\r\n]+/],
230
+ // whitespace
231
+ [/<\/script\s*>/, { token: "@rematch", next: "@pop" }]
232
+ ],
233
+ // After <script ... type = $S2
234
+ scriptWithCustomType: [
235
+ [
236
+ /\{\{/,
237
+ {
238
+ token: "@rematch",
239
+ switchTo: "@handlebarsInSimpleState.scriptWithCustomType.$S2"
240
+ }
241
+ ],
242
+ [
243
+ />/,
244
+ {
245
+ token: "delimiter.html",
246
+ next: "@scriptEmbedded.$S2",
247
+ nextEmbedded: "$S2"
248
+ }
249
+ ],
250
+ [/"([^"]*)"/, "attribute.value"],
251
+ [/'([^']*)'/, "attribute.value"],
252
+ [/[\w\-]+/, "attribute.name"],
253
+ [/=/, "delimiter"],
254
+ [/[ \t\r\n]+/],
255
+ // whitespace
256
+ [/<\/script\s*>/, { token: "@rematch", next: "@pop" }]
257
+ ],
258
+ scriptEmbedded: [
259
+ [
260
+ /\{\{/,
261
+ {
262
+ token: "@rematch",
263
+ switchTo: "@handlebarsInEmbeddedState.scriptEmbedded.$S2",
264
+ nextEmbedded: "@pop"
265
+ }
266
+ ],
267
+ [/<\/script/, { token: "@rematch", next: "@pop", nextEmbedded: "@pop" }]
268
+ ],
269
+ // -- END <script> tags handling
270
+ // -- BEGIN <style> tags handling
271
+ // After <style
272
+ style: [
273
+ [
274
+ /\{\{/,
275
+ {
276
+ token: "@rematch",
277
+ switchTo: "@handlebarsInSimpleState.style"
278
+ }
279
+ ],
280
+ [/type/, "attribute.name", "@styleAfterType"],
281
+ [/"([^"]*)"/, "attribute.value"],
282
+ [/'([^']*)'/, "attribute.value"],
283
+ [/[\w\-]+/, "attribute.name"],
284
+ [/=/, "delimiter"],
285
+ [
286
+ />/,
287
+ {
288
+ token: "delimiter.html",
289
+ next: "@styleEmbedded.text/css",
290
+ nextEmbedded: "text/css"
291
+ }
292
+ ],
293
+ [/[ \t\r\n]+/],
294
+ // whitespace
295
+ [
296
+ /(<\/)(style\s*)(>)/,
297
+ ["delimiter.html", "tag.html", { token: "delimiter.html", next: "@pop" }]
298
+ ]
299
+ ],
300
+ // After <style ... type
301
+ styleAfterType: [
302
+ [
303
+ /\{\{/,
304
+ {
305
+ token: "@rematch",
306
+ switchTo: "@handlebarsInSimpleState.styleAfterType"
307
+ }
308
+ ],
309
+ [/=/, "delimiter", "@styleAfterTypeEquals"],
310
+ [
311
+ />/,
312
+ {
313
+ token: "delimiter.html",
314
+ next: "@styleEmbedded.text/css",
315
+ nextEmbedded: "text/css"
316
+ }
317
+ ],
318
+ // cover invalid e.g. <style type>
319
+ [/[ \t\r\n]+/],
320
+ // whitespace
321
+ [/<\/style\s*>/, { token: "@rematch", next: "@pop" }]
322
+ ],
323
+ // After <style ... type =
324
+ styleAfterTypeEquals: [
325
+ [
326
+ /\{\{/,
327
+ {
328
+ token: "@rematch",
329
+ switchTo: "@handlebarsInSimpleState.styleAfterTypeEquals"
330
+ }
331
+ ],
332
+ [
333
+ /"([^"]*)"/,
334
+ {
335
+ token: "attribute.value",
336
+ switchTo: "@styleWithCustomType.$1"
337
+ }
338
+ ],
339
+ [
340
+ /'([^']*)'/,
341
+ {
342
+ token: "attribute.value",
343
+ switchTo: "@styleWithCustomType.$1"
344
+ }
345
+ ],
346
+ [
347
+ />/,
348
+ {
349
+ token: "delimiter.html",
350
+ next: "@styleEmbedded.text/css",
351
+ nextEmbedded: "text/css"
352
+ }
353
+ ],
354
+ // cover invalid e.g. <style type=>
355
+ [/[ \t\r\n]+/],
356
+ // whitespace
357
+ [/<\/style\s*>/, { token: "@rematch", next: "@pop" }]
358
+ ],
359
+ // After <style ... type = $S2
360
+ styleWithCustomType: [
361
+ [
362
+ /\{\{/,
363
+ {
364
+ token: "@rematch",
365
+ switchTo: "@handlebarsInSimpleState.styleWithCustomType.$S2"
366
+ }
367
+ ],
368
+ [
369
+ />/,
370
+ {
371
+ token: "delimiter.html",
372
+ next: "@styleEmbedded.$S2",
373
+ nextEmbedded: "$S2"
374
+ }
375
+ ],
376
+ [/"([^"]*)"/, "attribute.value"],
377
+ [/'([^']*)'/, "attribute.value"],
378
+ [/[\w\-]+/, "attribute.name"],
379
+ [/=/, "delimiter"],
380
+ [/[ \t\r\n]+/],
381
+ // whitespace
382
+ [/<\/style\s*>/, { token: "@rematch", next: "@pop" }]
383
+ ],
384
+ styleEmbedded: [
385
+ [
386
+ /\{\{/,
387
+ {
388
+ token: "@rematch",
389
+ switchTo: "@handlebarsInEmbeddedState.styleEmbedded.$S2",
390
+ nextEmbedded: "@pop"
391
+ }
392
+ ],
393
+ [/<\/style/, { token: "@rematch", next: "@pop", nextEmbedded: "@pop" }]
394
+ ],
395
+ // -- END <style> tags handling
396
+ handlebarsInSimpleState: [
397
+ [/\{\{\{?/, "delimiter.handlebars"],
398
+ [/\}\}\}?/, { token: "delimiter.handlebars", switchTo: "@$S2.$S3" }],
399
+ { include: "handlebarsRoot" }
400
+ ],
401
+ handlebarsInEmbeddedState: [
402
+ [/\{\{\{?/, "delimiter.handlebars"],
403
+ [
404
+ /\}\}\}?/,
405
+ {
406
+ token: "delimiter.handlebars",
407
+ switchTo: "@$S2.$S3",
408
+ nextEmbedded: "$S3"
409
+ }
410
+ ],
411
+ { include: "handlebarsRoot" }
412
+ ],
413
+ handlebarsRoot: [
414
+ [/"[^"]*"/, "string.handlebars"],
415
+ [/[#/][^\s}]+/, "keyword.helper.handlebars"],
416
+ [/else\b/, "keyword.helper.handlebars"],
417
+ [/[\s]+/],
418
+ [/[^}]/, "variable.parameter.handlebars"]
419
+ ]
420
+ }
421
+ };
422
+ export {
423
+ u as conf,
424
+ y as language
425
+ };
@@ -0,0 +1,189 @@
1
+ /*!-----------------------------------------------------------------------------
2
+ * Copyright (c) Microsoft Corporation. All rights reserved.
3
+ * Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)
4
+ * Released under the MIT license
5
+ * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
6
+ *-----------------------------------------------------------------------------*/
7
+ var e = {
8
+ comments: {
9
+ lineComment: "#",
10
+ blockComment: ["/*", "*/"]
11
+ },
12
+ brackets: [
13
+ ["{", "}"],
14
+ ["[", "]"],
15
+ ["(", ")"]
16
+ ],
17
+ autoClosingPairs: [
18
+ { open: "{", close: "}" },
19
+ { open: "[", close: "]" },
20
+ { open: "(", close: ")" },
21
+ { open: '"', close: '"', notIn: ["string"] }
22
+ ],
23
+ surroundingPairs: [
24
+ { open: "{", close: "}" },
25
+ { open: "[", close: "]" },
26
+ { open: "(", close: ")" },
27
+ { open: '"', close: '"' }
28
+ ]
29
+ }, t = {
30
+ defaultToken: "",
31
+ tokenPostfix: ".hcl",
32
+ keywords: [
33
+ "var",
34
+ "local",
35
+ "path",
36
+ "for_each",
37
+ "any",
38
+ "string",
39
+ "number",
40
+ "bool",
41
+ "true",
42
+ "false",
43
+ "null",
44
+ "if ",
45
+ "else ",
46
+ "endif ",
47
+ "for ",
48
+ "in",
49
+ "endfor"
50
+ ],
51
+ operators: [
52
+ "=",
53
+ ">=",
54
+ "<=",
55
+ "==",
56
+ "!=",
57
+ "+",
58
+ "-",
59
+ "*",
60
+ "/",
61
+ "%",
62
+ "&&",
63
+ "||",
64
+ "!",
65
+ "<",
66
+ ">",
67
+ "?",
68
+ "...",
69
+ ":"
70
+ ],
71
+ symbols: /[=><!~?:&|+\-*\/\^%]+/,
72
+ escapes: /\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,
73
+ terraformFunctions: /(abs|ceil|floor|log|max|min|pow|signum|chomp|format|formatlist|indent|join|lower|regex|regexall|replace|split|strrev|substr|title|trimspace|upper|chunklist|coalesce|coalescelist|compact|concat|contains|distinct|element|flatten|index|keys|length|list|lookup|map|matchkeys|merge|range|reverse|setintersection|setproduct|setunion|slice|sort|transpose|values|zipmap|base64decode|base64encode|base64gzip|csvdecode|jsondecode|jsonencode|urlencode|yamldecode|yamlencode|abspath|dirname|pathexpand|basename|file|fileexists|fileset|filebase64|templatefile|formatdate|timeadd|timestamp|base64sha256|base64sha512|bcrypt|filebase64sha256|filebase64sha512|filemd5|filemd1|filesha256|filesha512|md5|rsadecrypt|sha1|sha256|sha512|uuid|uuidv5|cidrhost|cidrnetmask|cidrsubnet|tobool|tolist|tomap|tonumber|toset|tostring)/,
74
+ terraformMainBlocks: /(module|data|terraform|resource|provider|variable|output|locals)/,
75
+ tokenizer: {
76
+ root: [
77
+ // highlight main blocks
78
+ [
79
+ /^@terraformMainBlocks([ \t]*)([\w-]+|"[\w-]+"|)([ \t]*)([\w-]+|"[\w-]+"|)([ \t]*)(\{)/,
80
+ ["type", "", "string", "", "string", "", "@brackets"]
81
+ ],
82
+ // highlight all the remaining blocks
83
+ [
84
+ /(\w+[ \t]+)([ \t]*)([\w-]+|"[\w-]+"|)([ \t]*)([\w-]+|"[\w-]+"|)([ \t]*)(\{)/,
85
+ ["identifier", "", "string", "", "string", "", "@brackets"]
86
+ ],
87
+ // highlight block
88
+ [
89
+ /(\w+[ \t]+)([ \t]*)([\w-]+|"[\w-]+"|)([ \t]*)([\w-]+|"[\w-]+"|)(=)(\{)/,
90
+ ["identifier", "", "string", "", "operator", "", "@brackets"]
91
+ ],
92
+ // terraform general highlight - shared with expressions
93
+ { include: "@terraform" }
94
+ ],
95
+ terraform: [
96
+ // highlight terraform functions
97
+ [/@terraformFunctions(\()/, ["type", "@brackets"]],
98
+ // all other words are variables or keywords
99
+ [
100
+ /[a-zA-Z_]\w*-*/,
101
+ // must work with variables such as foo-bar and also with negative numbers
102
+ {
103
+ cases: {
104
+ "@keywords": { token: "keyword.$0" },
105
+ "@default": "variable"
106
+ }
107
+ }
108
+ ],
109
+ { include: "@whitespace" },
110
+ { include: "@heredoc" },
111
+ // delimiters and operators
112
+ [/[{}()\[\]]/, "@brackets"],
113
+ [/[<>](?!@symbols)/, "@brackets"],
114
+ [
115
+ /@symbols/,
116
+ {
117
+ cases: {
118
+ "@operators": "operator",
119
+ "@default": ""
120
+ }
121
+ }
122
+ ],
123
+ // numbers
124
+ [/\d*\d+[eE]([\-+]?\d+)?/, "number.float"],
125
+ [/\d*\.\d+([eE][\-+]?\d+)?/, "number.float"],
126
+ [/\d[\d']*/, "number"],
127
+ [/\d/, "number"],
128
+ [/[;,.]/, "delimiter"],
129
+ // delimiter: after number because of .\d floats
130
+ // strings
131
+ [/"/, "string", "@string"],
132
+ // this will include expressions
133
+ [/'/, "invalid"]
134
+ ],
135
+ heredoc: [
136
+ [/<<[-]*\s*["]?([\w\-]+)["]?/, { token: "string.heredoc.delimiter", next: "@heredocBody.$1" }]
137
+ ],
138
+ heredocBody: [
139
+ [
140
+ /([\w\-]+)$/,
141
+ {
142
+ cases: {
143
+ "$1==$S2": [
144
+ {
145
+ token: "string.heredoc.delimiter",
146
+ next: "@popall"
147
+ }
148
+ ],
149
+ "@default": "string.heredoc"
150
+ }
151
+ }
152
+ ],
153
+ [/./, "string.heredoc"]
154
+ ],
155
+ whitespace: [
156
+ [/[ \t\r\n]+/, ""],
157
+ [/\/\*/, "comment", "@comment"],
158
+ [/\/\/.*$/, "comment"],
159
+ [/#.*$/, "comment"]
160
+ ],
161
+ comment: [
162
+ [/[^\/*]+/, "comment"],
163
+ [/\*\//, "comment", "@pop"],
164
+ [/[\/*]/, "comment"]
165
+ ],
166
+ string: [
167
+ [/\$\{/, { token: "delimiter", next: "@stringExpression" }],
168
+ [/[^\\"\$]+/, "string"],
169
+ [/@escapes/, "string.escape"],
170
+ [/\\./, "string.escape.invalid"],
171
+ [/"/, "string", "@popall"]
172
+ ],
173
+ stringInsideExpression: [
174
+ [/[^\\"]+/, "string"],
175
+ [/@escapes/, "string.escape"],
176
+ [/\\./, "string.escape.invalid"],
177
+ [/"/, "string", "@pop"]
178
+ ],
179
+ stringExpression: [
180
+ [/\}/, { token: "delimiter", next: "@pop" }],
181
+ [/"/, "string", "@stringInsideExpression"],
182
+ { include: "@terraform" }
183
+ ]
184
+ }
185
+ };
186
+ export {
187
+ e as conf,
188
+ t as language
189
+ };