@inspectr/ui 1.8.0 → 1.8.2

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 (90) hide show
  1. package/dist/abap-Bs8kvjsq.js +1398 -0
  2. package/dist/apex-Dspwrl5m.js +326 -0
  3. package/dist/azcli-k1BiOau1.js +68 -0
  4. package/dist/bat-BIP72KWc.js +100 -0
  5. package/dist/bicep-VhQeYhS3.js +102 -0
  6. package/dist/cameligo-DnuAXtHg.js +174 -0
  7. package/dist/clojure-BAuDPsal.js +761 -0
  8. package/dist/coffee-BV06qSnj.js +232 -0
  9. package/dist/cpp-Cz8Jeyrf.js +389 -0
  10. package/dist/csharp-F6hhlXFb.js +326 -0
  11. package/dist/csp-KzlEHCyI.js +53 -0
  12. package/dist/css-e4FKntZ3.js +187 -0
  13. package/dist/cssMode-CCxwJWiv.js +1571 -0
  14. package/dist/cypher-CpvDGKRr.js +263 -0
  15. package/dist/dart-DdHeFWR0.js +281 -0
  16. package/dist/dockerfile-aoNXDcio.js +130 -0
  17. package/dist/ecl-C4Q0DYuA.js +456 -0
  18. package/dist/editor.main-CP-oXbVe.js +110802 -0
  19. package/dist/elixir-C9X42b0T.js +569 -0
  20. package/dist/flow9-Bff42pfB.js +142 -0
  21. package/dist/freemarker2-BZveqxNO.js +989 -0
  22. package/dist/fsharp-C6vPAsHG.js +217 -0
  23. package/dist/go-DEr8zx9f.js +218 -0
  24. package/dist/graphql-BiNBBRFh.js +151 -0
  25. package/dist/handlebars-DFLvXTZ8.js +419 -0
  26. package/dist/hcl-2T9lKuFg.js +183 -0
  27. package/dist/html-DxXqfwFE.js +308 -0
  28. package/dist/htmlMode-C9gIo-LK.js +1581 -0
  29. package/dist/ini-CZGtssYM.js +71 -0
  30. package/dist/inspectr-ui.es.js +14597 -14415
  31. package/dist/inspectr-ui.umd.js +1180 -125
  32. package/dist/java-B260NeH3.js +232 -0
  33. package/dist/javascript-CYYD6pGr.js +70 -0
  34. package/dist/jsonMode-jVbIoPc6.js +1996 -0
  35. package/dist/julia-kuNLM9c5.js +511 -0
  36. package/dist/kotlin-Bz6kAefA.js +253 -0
  37. package/dist/less-AZUtS89I.js +162 -0
  38. package/dist/lexon-BcmgnyRb.js +157 -0
  39. package/dist/liquid-PYsubg5u.js +240 -0
  40. package/dist/lua-Dz1RbATg.js +162 -0
  41. package/dist/m3-CIMooLFn.js +210 -0
  42. package/dist/markdown-C1BsCK9P.js +229 -0
  43. package/dist/mdx-DRJsmowz.js +165 -0
  44. package/dist/mips-BovsnfLQ.js +198 -0
  45. package/dist/msdax-CiRB2ZB-.js +375 -0
  46. package/dist/mysql-BwdpPE19.js +878 -0
  47. package/dist/objective-c-D4nfHfso.js +183 -0
  48. package/dist/pascal--j5-PYtz.js +251 -0
  49. package/dist/pascaligo-C7TcJxNL.js +164 -0
  50. package/dist/perl-BzEWqUb5.js +626 -0
  51. package/dist/pgsql-B_KZ0mGX.js +851 -0
  52. package/dist/php-A19QHzQV.js +500 -0
  53. package/dist/pla-COeKY1hA.js +137 -0
  54. package/dist/postiats-BfMp7zJL.js +907 -0
  55. package/dist/powerquery-B0TS_5Gb.js +890 -0
  56. package/dist/powershell-5jSbKdYB.js +239 -0
  57. package/dist/protobuf-YgnOutn3.js +420 -0
  58. package/dist/pug-DLej6kn5.js +402 -0
  59. package/dist/python-M8MItOfu.js +301 -0
  60. package/dist/qsharp-AhjqtSHB.js +301 -0
  61. package/dist/r-D-F4P80w.js +243 -0
  62. package/dist/razor-CkROrZip.js +550 -0
  63. package/dist/redis-hwwIlMnV.js +302 -0
  64. package/dist/redshift-Bcm_kjEG.js +809 -0
  65. package/dist/restructuredtext-CrdzfPP-.js +174 -0
  66. package/dist/ruby-QC2UNm1s.js +511 -0
  67. package/dist/rust-5aqiQ3L5.js +343 -0
  68. package/dist/sb-B1g1ZfLJ.js +115 -0
  69. package/dist/scala-C2U4R5Gb.js +370 -0
  70. package/dist/scheme-DeFRbslr.js +108 -0
  71. package/dist/scss-RSTCiCmI.js +262 -0
  72. package/dist/shell-BpF-iNu8.js +221 -0
  73. package/dist/solidity-C00r2mbQ.js +1367 -0
  74. package/dist/sophia-DVW5ZKDB.js +199 -0
  75. package/dist/sparql-B0nmpxeX.js +201 -0
  76. package/dist/sql-CJwKPERn.js +853 -0
  77. package/dist/st-DPlKG5DT.js +416 -0
  78. package/dist/swift-YZBAbVHV.js +309 -0
  79. package/dist/systemverilog-CDQSaH63.js +576 -0
  80. package/dist/tcl-Dlu8sp6Q.js +232 -0
  81. package/dist/tsMode-D1me_v4f.js +886 -0
  82. package/dist/twig-C5TO7-kw.js +392 -0
  83. package/dist/typescript-D8U3Pc3R.js +343 -0
  84. package/dist/typespec-BsmjDEu7.js +117 -0
  85. package/dist/ui.css +1 -1
  86. package/dist/vb-ChHvIDrk.js +372 -0
  87. package/dist/wgsl-XEp1ju8c.js +439 -0
  88. package/dist/xml-CTIvZv70.js +95 -0
  89. package/dist/yaml-BgbINe9U.js +206 -0
  90. package/package.json +3 -1
@@ -0,0 +1,419 @@
1
+ import { m as l } from "./editor.main-CP-oXbVe.js";
2
+ var i = Object.defineProperty, s = Object.getOwnPropertyDescriptor, d = Object.getOwnPropertyNames, c = Object.prototype.hasOwnProperty, p = (t, e, r, m) => {
3
+ if (e && typeof e == "object" || typeof e == "function")
4
+ for (let n of d(e))
5
+ !c.call(t, n) && n !== r && i(t, n, { get: () => e[n], enumerable: !(m = s(e, n)) || m.enumerable });
6
+ return t;
7
+ }, h = (t, e, r) => (p(t, e, "default"), r), a = {};
8
+ h(a, l);
9
+ var o = [
10
+ "area",
11
+ "base",
12
+ "br",
13
+ "col",
14
+ "embed",
15
+ "hr",
16
+ "img",
17
+ "input",
18
+ "keygen",
19
+ "link",
20
+ "menuitem",
21
+ "meta",
22
+ "param",
23
+ "source",
24
+ "track",
25
+ "wbr"
26
+ ], u = {
27
+ wordPattern: /(-?\d*\.\d\w*)|([^\`\~\!\@\$\^\&\*\(\)\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\s]+)/g,
28
+ comments: {
29
+ blockComment: ["{{!--", "--}}"]
30
+ },
31
+ brackets: [
32
+ ["<!--", "-->"],
33
+ ["<", ">"],
34
+ ["{{", "}}"],
35
+ ["{", "}"],
36
+ ["(", ")"]
37
+ ],
38
+ autoClosingPairs: [
39
+ { open: "{", close: "}" },
40
+ { open: "[", close: "]" },
41
+ { open: "(", close: ")" },
42
+ { open: '"', close: '"' },
43
+ { open: "'", close: "'" }
44
+ ],
45
+ surroundingPairs: [
46
+ { open: "<", close: ">" },
47
+ { open: '"', close: '"' },
48
+ { open: "'", close: "'" }
49
+ ],
50
+ onEnterRules: [
51
+ {
52
+ beforeText: new RegExp(
53
+ `<(?!(?:${o.join("|")}))(\\w[\\w\\d]*)([^/>]*(?!/)>)[^<]*$`,
54
+ "i"
55
+ ),
56
+ afterText: /^<\/(\w[\w\d]*)\s*>$/i,
57
+ action: {
58
+ indentAction: a.languages.IndentAction.IndentOutdent
59
+ }
60
+ },
61
+ {
62
+ beforeText: new RegExp(
63
+ `<(?!(?:${o.join("|")}))(\\w[\\w\\d]*)([^/>]*(?!/)>)[^<]*$`,
64
+ "i"
65
+ ),
66
+ action: { indentAction: a.languages.IndentAction.Indent }
67
+ }
68
+ ]
69
+ }, y = {
70
+ defaultToken: "",
71
+ tokenPostfix: "",
72
+ // ignoreCase: true,
73
+ // The main tokenizer for our languages
74
+ tokenizer: {
75
+ root: [
76
+ [/\{\{!--/, "comment.block.start.handlebars", "@commentBlock"],
77
+ [/\{\{!/, "comment.start.handlebars", "@comment"],
78
+ [/\{\{/, { token: "@rematch", switchTo: "@handlebarsInSimpleState.root" }],
79
+ [/<!DOCTYPE/, "metatag.html", "@doctype"],
80
+ [/<!--/, "comment.html", "@commentHtml"],
81
+ [/(<)(\w+)(\/>)/, ["delimiter.html", "tag.html", "delimiter.html"]],
82
+ [/(<)(script)/, ["delimiter.html", { token: "tag.html", next: "@script" }]],
83
+ [/(<)(style)/, ["delimiter.html", { token: "tag.html", next: "@style" }]],
84
+ [/(<)([:\w]+)/, ["delimiter.html", { token: "tag.html", next: "@otherTag" }]],
85
+ [/(<\/)(\w+)/, ["delimiter.html", { token: "tag.html", next: "@otherTag" }]],
86
+ [/</, "delimiter.html"],
87
+ [/\{/, "delimiter.html"],
88
+ [/[^<{]+/]
89
+ // text
90
+ ],
91
+ doctype: [
92
+ [
93
+ /\{\{/,
94
+ {
95
+ token: "@rematch",
96
+ switchTo: "@handlebarsInSimpleState.comment"
97
+ }
98
+ ],
99
+ [/[^>]+/, "metatag.content.html"],
100
+ [/>/, "metatag.html", "@pop"]
101
+ ],
102
+ comment: [
103
+ [/\}\}/, "comment.end.handlebars", "@pop"],
104
+ [/./, "comment.content.handlebars"]
105
+ ],
106
+ commentBlock: [
107
+ [/--\}\}/, "comment.block.end.handlebars", "@pop"],
108
+ [/./, "comment.content.handlebars"]
109
+ ],
110
+ commentHtml: [
111
+ [
112
+ /\{\{/,
113
+ {
114
+ token: "@rematch",
115
+ switchTo: "@handlebarsInSimpleState.comment"
116
+ }
117
+ ],
118
+ [/-->/, "comment.html", "@pop"],
119
+ [/[^-]+/, "comment.content.html"],
120
+ [/./, "comment.content.html"]
121
+ ],
122
+ otherTag: [
123
+ [
124
+ /\{\{/,
125
+ {
126
+ token: "@rematch",
127
+ switchTo: "@handlebarsInSimpleState.otherTag"
128
+ }
129
+ ],
130
+ [/\/?>/, "delimiter.html", "@pop"],
131
+ [/"([^"]*)"/, "attribute.value"],
132
+ [/'([^']*)'/, "attribute.value"],
133
+ [/[\w\-]+/, "attribute.name"],
134
+ [/=/, "delimiter"],
135
+ [/[ \t\r\n]+/]
136
+ // whitespace
137
+ ],
138
+ // -- BEGIN <script> tags handling
139
+ // After <script
140
+ script: [
141
+ [
142
+ /\{\{/,
143
+ {
144
+ token: "@rematch",
145
+ switchTo: "@handlebarsInSimpleState.script"
146
+ }
147
+ ],
148
+ [/type/, "attribute.name", "@scriptAfterType"],
149
+ [/"([^"]*)"/, "attribute.value"],
150
+ [/'([^']*)'/, "attribute.value"],
151
+ [/[\w\-]+/, "attribute.name"],
152
+ [/=/, "delimiter"],
153
+ [
154
+ />/,
155
+ {
156
+ token: "delimiter.html",
157
+ next: "@scriptEmbedded.text/javascript",
158
+ nextEmbedded: "text/javascript"
159
+ }
160
+ ],
161
+ [/[ \t\r\n]+/],
162
+ // whitespace
163
+ [
164
+ /(<\/)(script\s*)(>)/,
165
+ ["delimiter.html", "tag.html", { token: "delimiter.html", next: "@pop" }]
166
+ ]
167
+ ],
168
+ // After <script ... type
169
+ scriptAfterType: [
170
+ [
171
+ /\{\{/,
172
+ {
173
+ token: "@rematch",
174
+ switchTo: "@handlebarsInSimpleState.scriptAfterType"
175
+ }
176
+ ],
177
+ [/=/, "delimiter", "@scriptAfterTypeEquals"],
178
+ [
179
+ />/,
180
+ {
181
+ token: "delimiter.html",
182
+ next: "@scriptEmbedded.text/javascript",
183
+ nextEmbedded: "text/javascript"
184
+ }
185
+ ],
186
+ // cover invalid e.g. <script type>
187
+ [/[ \t\r\n]+/],
188
+ // whitespace
189
+ [/<\/script\s*>/, { token: "@rematch", next: "@pop" }]
190
+ ],
191
+ // After <script ... type =
192
+ scriptAfterTypeEquals: [
193
+ [
194
+ /\{\{/,
195
+ {
196
+ token: "@rematch",
197
+ switchTo: "@handlebarsInSimpleState.scriptAfterTypeEquals"
198
+ }
199
+ ],
200
+ [
201
+ /"([^"]*)"/,
202
+ {
203
+ token: "attribute.value",
204
+ switchTo: "@scriptWithCustomType.$1"
205
+ }
206
+ ],
207
+ [
208
+ /'([^']*)'/,
209
+ {
210
+ token: "attribute.value",
211
+ switchTo: "@scriptWithCustomType.$1"
212
+ }
213
+ ],
214
+ [
215
+ />/,
216
+ {
217
+ token: "delimiter.html",
218
+ next: "@scriptEmbedded.text/javascript",
219
+ nextEmbedded: "text/javascript"
220
+ }
221
+ ],
222
+ // cover invalid e.g. <script type=>
223
+ [/[ \t\r\n]+/],
224
+ // whitespace
225
+ [/<\/script\s*>/, { token: "@rematch", next: "@pop" }]
226
+ ],
227
+ // After <script ... type = $S2
228
+ scriptWithCustomType: [
229
+ [
230
+ /\{\{/,
231
+ {
232
+ token: "@rematch",
233
+ switchTo: "@handlebarsInSimpleState.scriptWithCustomType.$S2"
234
+ }
235
+ ],
236
+ [
237
+ />/,
238
+ {
239
+ token: "delimiter.html",
240
+ next: "@scriptEmbedded.$S2",
241
+ nextEmbedded: "$S2"
242
+ }
243
+ ],
244
+ [/"([^"]*)"/, "attribute.value"],
245
+ [/'([^']*)'/, "attribute.value"],
246
+ [/[\w\-]+/, "attribute.name"],
247
+ [/=/, "delimiter"],
248
+ [/[ \t\r\n]+/],
249
+ // whitespace
250
+ [/<\/script\s*>/, { token: "@rematch", next: "@pop" }]
251
+ ],
252
+ scriptEmbedded: [
253
+ [
254
+ /\{\{/,
255
+ {
256
+ token: "@rematch",
257
+ switchTo: "@handlebarsInEmbeddedState.scriptEmbedded.$S2",
258
+ nextEmbedded: "@pop"
259
+ }
260
+ ],
261
+ [/<\/script/, { token: "@rematch", next: "@pop", nextEmbedded: "@pop" }]
262
+ ],
263
+ // -- END <script> tags handling
264
+ // -- BEGIN <style> tags handling
265
+ // After <style
266
+ style: [
267
+ [
268
+ /\{\{/,
269
+ {
270
+ token: "@rematch",
271
+ switchTo: "@handlebarsInSimpleState.style"
272
+ }
273
+ ],
274
+ [/type/, "attribute.name", "@styleAfterType"],
275
+ [/"([^"]*)"/, "attribute.value"],
276
+ [/'([^']*)'/, "attribute.value"],
277
+ [/[\w\-]+/, "attribute.name"],
278
+ [/=/, "delimiter"],
279
+ [
280
+ />/,
281
+ {
282
+ token: "delimiter.html",
283
+ next: "@styleEmbedded.text/css",
284
+ nextEmbedded: "text/css"
285
+ }
286
+ ],
287
+ [/[ \t\r\n]+/],
288
+ // whitespace
289
+ [
290
+ /(<\/)(style\s*)(>)/,
291
+ ["delimiter.html", "tag.html", { token: "delimiter.html", next: "@pop" }]
292
+ ]
293
+ ],
294
+ // After <style ... type
295
+ styleAfterType: [
296
+ [
297
+ /\{\{/,
298
+ {
299
+ token: "@rematch",
300
+ switchTo: "@handlebarsInSimpleState.styleAfterType"
301
+ }
302
+ ],
303
+ [/=/, "delimiter", "@styleAfterTypeEquals"],
304
+ [
305
+ />/,
306
+ {
307
+ token: "delimiter.html",
308
+ next: "@styleEmbedded.text/css",
309
+ nextEmbedded: "text/css"
310
+ }
311
+ ],
312
+ // cover invalid e.g. <style type>
313
+ [/[ \t\r\n]+/],
314
+ // whitespace
315
+ [/<\/style\s*>/, { token: "@rematch", next: "@pop" }]
316
+ ],
317
+ // After <style ... type =
318
+ styleAfterTypeEquals: [
319
+ [
320
+ /\{\{/,
321
+ {
322
+ token: "@rematch",
323
+ switchTo: "@handlebarsInSimpleState.styleAfterTypeEquals"
324
+ }
325
+ ],
326
+ [
327
+ /"([^"]*)"/,
328
+ {
329
+ token: "attribute.value",
330
+ switchTo: "@styleWithCustomType.$1"
331
+ }
332
+ ],
333
+ [
334
+ /'([^']*)'/,
335
+ {
336
+ token: "attribute.value",
337
+ switchTo: "@styleWithCustomType.$1"
338
+ }
339
+ ],
340
+ [
341
+ />/,
342
+ {
343
+ token: "delimiter.html",
344
+ next: "@styleEmbedded.text/css",
345
+ nextEmbedded: "text/css"
346
+ }
347
+ ],
348
+ // cover invalid e.g. <style type=>
349
+ [/[ \t\r\n]+/],
350
+ // whitespace
351
+ [/<\/style\s*>/, { token: "@rematch", next: "@pop" }]
352
+ ],
353
+ // After <style ... type = $S2
354
+ styleWithCustomType: [
355
+ [
356
+ /\{\{/,
357
+ {
358
+ token: "@rematch",
359
+ switchTo: "@handlebarsInSimpleState.styleWithCustomType.$S2"
360
+ }
361
+ ],
362
+ [
363
+ />/,
364
+ {
365
+ token: "delimiter.html",
366
+ next: "@styleEmbedded.$S2",
367
+ nextEmbedded: "$S2"
368
+ }
369
+ ],
370
+ [/"([^"]*)"/, "attribute.value"],
371
+ [/'([^']*)'/, "attribute.value"],
372
+ [/[\w\-]+/, "attribute.name"],
373
+ [/=/, "delimiter"],
374
+ [/[ \t\r\n]+/],
375
+ // whitespace
376
+ [/<\/style\s*>/, { token: "@rematch", next: "@pop" }]
377
+ ],
378
+ styleEmbedded: [
379
+ [
380
+ /\{\{/,
381
+ {
382
+ token: "@rematch",
383
+ switchTo: "@handlebarsInEmbeddedState.styleEmbedded.$S2",
384
+ nextEmbedded: "@pop"
385
+ }
386
+ ],
387
+ [/<\/style/, { token: "@rematch", next: "@pop", nextEmbedded: "@pop" }]
388
+ ],
389
+ // -- END <style> tags handling
390
+ handlebarsInSimpleState: [
391
+ [/\{\{\{?/, "delimiter.handlebars"],
392
+ [/\}\}\}?/, { token: "delimiter.handlebars", switchTo: "@$S2.$S3" }],
393
+ { include: "handlebarsRoot" }
394
+ ],
395
+ handlebarsInEmbeddedState: [
396
+ [/\{\{\{?/, "delimiter.handlebars"],
397
+ [
398
+ /\}\}\}?/,
399
+ {
400
+ token: "delimiter.handlebars",
401
+ switchTo: "@$S2.$S3",
402
+ nextEmbedded: "$S3"
403
+ }
404
+ ],
405
+ { include: "handlebarsRoot" }
406
+ ],
407
+ handlebarsRoot: [
408
+ [/"[^"]*"/, "string.handlebars"],
409
+ [/[#/][^\s}]+/, "keyword.helper.handlebars"],
410
+ [/else\b/, "keyword.helper.handlebars"],
411
+ [/[\s]+/],
412
+ [/[^}]/, "variable.parameter.handlebars"]
413
+ ]
414
+ }
415
+ };
416
+ export {
417
+ u as conf,
418
+ y as language
419
+ };
@@ -0,0 +1,183 @@
1
+ var e = {
2
+ comments: {
3
+ lineComment: "#",
4
+ blockComment: ["/*", "*/"]
5
+ },
6
+ brackets: [
7
+ ["{", "}"],
8
+ ["[", "]"],
9
+ ["(", ")"]
10
+ ],
11
+ autoClosingPairs: [
12
+ { open: "{", close: "}" },
13
+ { open: "[", close: "]" },
14
+ { open: "(", close: ")" },
15
+ { open: '"', close: '"', notIn: ["string"] }
16
+ ],
17
+ surroundingPairs: [
18
+ { open: "{", close: "}" },
19
+ { open: "[", close: "]" },
20
+ { open: "(", close: ")" },
21
+ { open: '"', close: '"' }
22
+ ]
23
+ }, t = {
24
+ defaultToken: "",
25
+ tokenPostfix: ".hcl",
26
+ keywords: [
27
+ "var",
28
+ "local",
29
+ "path",
30
+ "for_each",
31
+ "any",
32
+ "string",
33
+ "number",
34
+ "bool",
35
+ "true",
36
+ "false",
37
+ "null",
38
+ "if ",
39
+ "else ",
40
+ "endif ",
41
+ "for ",
42
+ "in",
43
+ "endfor"
44
+ ],
45
+ operators: [
46
+ "=",
47
+ ">=",
48
+ "<=",
49
+ "==",
50
+ "!=",
51
+ "+",
52
+ "-",
53
+ "*",
54
+ "/",
55
+ "%",
56
+ "&&",
57
+ "||",
58
+ "!",
59
+ "<",
60
+ ">",
61
+ "?",
62
+ "...",
63
+ ":"
64
+ ],
65
+ symbols: /[=><!~?:&|+\-*\/\^%]+/,
66
+ escapes: /\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,
67
+ 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)/,
68
+ terraformMainBlocks: /(module|data|terraform|resource|provider|variable|output|locals)/,
69
+ tokenizer: {
70
+ root: [
71
+ // highlight main blocks
72
+ [
73
+ /^@terraformMainBlocks([ \t]*)([\w-]+|"[\w-]+"|)([ \t]*)([\w-]+|"[\w-]+"|)([ \t]*)(\{)/,
74
+ ["type", "", "string", "", "string", "", "@brackets"]
75
+ ],
76
+ // highlight all the remaining blocks
77
+ [
78
+ /(\w+[ \t]+)([ \t]*)([\w-]+|"[\w-]+"|)([ \t]*)([\w-]+|"[\w-]+"|)([ \t]*)(\{)/,
79
+ ["identifier", "", "string", "", "string", "", "@brackets"]
80
+ ],
81
+ // highlight block
82
+ [
83
+ /(\w+[ \t]+)([ \t]*)([\w-]+|"[\w-]+"|)([ \t]*)([\w-]+|"[\w-]+"|)(=)(\{)/,
84
+ ["identifier", "", "string", "", "operator", "", "@brackets"]
85
+ ],
86
+ // terraform general highlight - shared with expressions
87
+ { include: "@terraform" }
88
+ ],
89
+ terraform: [
90
+ // highlight terraform functions
91
+ [/@terraformFunctions(\()/, ["type", "@brackets"]],
92
+ // all other words are variables or keywords
93
+ [
94
+ /[a-zA-Z_]\w*-*/,
95
+ // must work with variables such as foo-bar and also with negative numbers
96
+ {
97
+ cases: {
98
+ "@keywords": { token: "keyword.$0" },
99
+ "@default": "variable"
100
+ }
101
+ }
102
+ ],
103
+ { include: "@whitespace" },
104
+ { include: "@heredoc" },
105
+ // delimiters and operators
106
+ [/[{}()\[\]]/, "@brackets"],
107
+ [/[<>](?!@symbols)/, "@brackets"],
108
+ [
109
+ /@symbols/,
110
+ {
111
+ cases: {
112
+ "@operators": "operator",
113
+ "@default": ""
114
+ }
115
+ }
116
+ ],
117
+ // numbers
118
+ [/\d*\d+[eE]([\-+]?\d+)?/, "number.float"],
119
+ [/\d*\.\d+([eE][\-+]?\d+)?/, "number.float"],
120
+ [/\d[\d']*/, "number"],
121
+ [/\d/, "number"],
122
+ [/[;,.]/, "delimiter"],
123
+ // delimiter: after number because of .\d floats
124
+ // strings
125
+ [/"/, "string", "@string"],
126
+ // this will include expressions
127
+ [/'/, "invalid"]
128
+ ],
129
+ heredoc: [
130
+ [/<<[-]*\s*["]?([\w\-]+)["]?/, { token: "string.heredoc.delimiter", next: "@heredocBody.$1" }]
131
+ ],
132
+ heredocBody: [
133
+ [
134
+ /([\w\-]+)$/,
135
+ {
136
+ cases: {
137
+ "$1==$S2": [
138
+ {
139
+ token: "string.heredoc.delimiter",
140
+ next: "@popall"
141
+ }
142
+ ],
143
+ "@default": "string.heredoc"
144
+ }
145
+ }
146
+ ],
147
+ [/./, "string.heredoc"]
148
+ ],
149
+ whitespace: [
150
+ [/[ \t\r\n]+/, ""],
151
+ [/\/\*/, "comment", "@comment"],
152
+ [/\/\/.*$/, "comment"],
153
+ [/#.*$/, "comment"]
154
+ ],
155
+ comment: [
156
+ [/[^\/*]+/, "comment"],
157
+ [/\*\//, "comment", "@pop"],
158
+ [/[\/*]/, "comment"]
159
+ ],
160
+ string: [
161
+ [/\$\{/, { token: "delimiter", next: "@stringExpression" }],
162
+ [/[^\\"\$]+/, "string"],
163
+ [/@escapes/, "string.escape"],
164
+ [/\\./, "string.escape.invalid"],
165
+ [/"/, "string", "@popall"]
166
+ ],
167
+ stringInsideExpression: [
168
+ [/[^\\"]+/, "string"],
169
+ [/@escapes/, "string.escape"],
170
+ [/\\./, "string.escape.invalid"],
171
+ [/"/, "string", "@pop"]
172
+ ],
173
+ stringExpression: [
174
+ [/\}/, { token: "delimiter", next: "@pop" }],
175
+ [/"/, "string", "@stringInsideExpression"],
176
+ { include: "@terraform" }
177
+ ]
178
+ }
179
+ };
180
+ export {
181
+ e as conf,
182
+ t as language
183
+ };