datacontract-editor 0.1.10 → 0.1.12

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 (94) hide show
  1. package/README.md +1 -3
  2. package/bin/datacontract-editor.js +73 -29
  3. package/dist/assets/editor.worker-4.7.0.js +30 -9034
  4. package/dist/assets/yaml.worker-4.7.0.js +432 -26435
  5. package/dist/datacontract-editor.css +2 -1
  6. package/dist/datacontract-editor.es.js +82727 -77765
  7. package/dist/monaco-4.7.0.js +114774 -125871
  8. package/dist/rolldown-runtime-DY7j01NX.js +30 -0
  9. package/package.json +20 -12
  10. package/dist/abap-Bs8kvjsq.js +0 -1398
  11. package/dist/apex-Dspwrl5m.js +0 -326
  12. package/dist/azcli-k1BiOau1.js +0 -68
  13. package/dist/bat-BIP72KWc.js +0 -100
  14. package/dist/bicep-VhQeYhS3.js +0 -102
  15. package/dist/cameligo-DnuAXtHg.js +0 -174
  16. package/dist/clojure-BAuDPsal.js +0 -761
  17. package/dist/coffee-BV06qSnj.js +0 -232
  18. package/dist/cpp-Cz8Jeyrf.js +0 -389
  19. package/dist/csharp-F6hhlXFb.js +0 -326
  20. package/dist/csp-KzlEHCyI.js +0 -53
  21. package/dist/css-e4FKntZ3.js +0 -187
  22. package/dist/cssMode-BNkTa2xp.js +0 -1618
  23. package/dist/cypher-CpvDGKRr.js +0 -263
  24. package/dist/dart-DdHeFWR0.js +0 -281
  25. package/dist/dockerfile-aoNXDcio.js +0 -130
  26. package/dist/ecl-C4Q0DYuA.js +0 -456
  27. package/dist/elixir-C9X42b0T.js +0 -569
  28. package/dist/flow9-Bff42pfB.js +0 -142
  29. package/dist/freemarker2-Dyfzmb5A.js +0 -989
  30. package/dist/fsharp-C6vPAsHG.js +0 -217
  31. package/dist/go-DEr8zx9f.js +0 -218
  32. package/dist/graphql-BiNBBRFh.js +0 -151
  33. package/dist/handlebars-BtDNI-uC.js +0 -419
  34. package/dist/hcl-2T9lKuFg.js +0 -183
  35. package/dist/html-Cn4TGw_o.js +0 -308
  36. package/dist/htmlMode-Bf84vbo2.js +0 -1628
  37. package/dist/ini-CZGtssYM.js +0 -71
  38. package/dist/java-B260NeH3.js +0 -232
  39. package/dist/javascript-B86Kac07.js +0 -70
  40. package/dist/jsonMode-Ckgg5lAE.js +0 -2051
  41. package/dist/julia-kuNLM9c5.js +0 -511
  42. package/dist/kotlin-Bz6kAefA.js +0 -253
  43. package/dist/less-AZUtS89I.js +0 -162
  44. package/dist/lexon-BcmgnyRb.js +0 -157
  45. package/dist/liquid-D0NPwuu_.js +0 -240
  46. package/dist/lua-Dz1RbATg.js +0 -162
  47. package/dist/m3-CIMooLFn.js +0 -210
  48. package/dist/markdown-C1BsCK9P.js +0 -229
  49. package/dist/mdx-QFRSBtVQ.js +0 -165
  50. package/dist/mips-BovsnfLQ.js +0 -198
  51. package/dist/msdax-CiRB2ZB-.js +0 -375
  52. package/dist/mysql-BwdpPE19.js +0 -878
  53. package/dist/objective-c-D4nfHfso.js +0 -183
  54. package/dist/pascal--j5-PYtz.js +0 -251
  55. package/dist/pascaligo-C7TcJxNL.js +0 -164
  56. package/dist/perl-BzEWqUb5.js +0 -626
  57. package/dist/pgsql-B_KZ0mGX.js +0 -851
  58. package/dist/php-A19QHzQV.js +0 -500
  59. package/dist/pla-COeKY1hA.js +0 -137
  60. package/dist/postiats-BfMp7zJL.js +0 -907
  61. package/dist/powerquery-B0TS_5Gb.js +0 -890
  62. package/dist/powershell-5jSbKdYB.js +0 -239
  63. package/dist/protobuf-YgnOutn3.js +0 -420
  64. package/dist/pug-DLej6kn5.js +0 -402
  65. package/dist/python-C8RW9B6A.js +0 -301
  66. package/dist/qsharp-AhjqtSHB.js +0 -301
  67. package/dist/r-D-F4P80w.js +0 -243
  68. package/dist/razor-CLZqdY_r.js +0 -550
  69. package/dist/redis-hwwIlMnV.js +0 -302
  70. package/dist/redshift-Bcm_kjEG.js +0 -809
  71. package/dist/restructuredtext-CrdzfPP-.js +0 -174
  72. package/dist/ruby-QC2UNm1s.js +0 -511
  73. package/dist/rust-5aqiQ3L5.js +0 -343
  74. package/dist/sb-B1g1ZfLJ.js +0 -115
  75. package/dist/scala-C2U4R5Gb.js +0 -370
  76. package/dist/scheme-DeFRbslr.js +0 -108
  77. package/dist/scss-RSTCiCmI.js +0 -262
  78. package/dist/shell-BpF-iNu8.js +0 -221
  79. package/dist/solidity-C00r2mbQ.js +0 -1367
  80. package/dist/sophia-DVW5ZKDB.js +0 -199
  81. package/dist/sparql-B0nmpxeX.js +0 -201
  82. package/dist/sql-CJwKPERn.js +0 -853
  83. package/dist/st-DPlKG5DT.js +0 -416
  84. package/dist/swift-YZBAbVHV.js +0 -309
  85. package/dist/systemverilog-CDQSaH63.js +0 -576
  86. package/dist/tcl-Dlu8sp6Q.js +0 -232
  87. package/dist/tsMode-yleMwhPq.js +0 -933
  88. package/dist/twig-C5TO7-kw.js +0 -392
  89. package/dist/typescript-CJBeebKU.js +0 -343
  90. package/dist/typespec-BsmjDEu7.js +0 -117
  91. package/dist/vb-ChHvIDrk.js +0 -372
  92. package/dist/wgsl-XEp1ju8c.js +0 -439
  93. package/dist/xml-vC-NMVX1.js +0 -95
  94. package/dist/yaml-Dlf2VF-T.js +0 -206
@@ -1,419 +0,0 @@
1
- import { d as l } from "./monaco-4.7.0.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
- };
@@ -1,183 +0,0 @@
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
- };