@nubase/terminal 0.0.0-stage → 0.1.1

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 (119) hide show
  1. package/bin/nubase.js +11 -0
  2. package/out/main/index.js +3240 -0
  3. package/out/preload/index.cjs +23 -0
  4. package/out/renderer/assets/BinaryPreviews-Dvmgctgl.js +262 -0
  5. package/out/renderer/assets/CodeEditor-BKx61p9c.js +2034 -0
  6. package/out/renderer/assets/DocumentPreviews-BA1gL-ZJ.js +66 -0
  7. package/out/renderer/assets/DocxPreview-CiY-SNbh.js +6955 -0
  8. package/out/renderer/assets/ImagePreview-DpnKfbxj.js +120 -0
  9. package/out/renderer/assets/PdfPreview-6oeuYaqY.js +24399 -0
  10. package/out/renderer/assets/PdfPreview-BT-DZbCt.css +6483 -0
  11. package/out/renderer/assets/SpreadsheetPreviews-B4Qby88A.js +23987 -0
  12. package/out/renderer/assets/abap-Cel38df4.js +1317 -0
  13. package/out/renderer/assets/apex-DzOmV_zF.js +355 -0
  14. package/out/renderer/assets/azcli-Xvapx-7p.js +56 -0
  15. package/out/renderer/assets/bat-BGMSIlWY.js +126 -0
  16. package/out/renderer/assets/bicep-CcpV5qxk.js +228 -0
  17. package/out/renderer/assets/cameligo-BfMDXVEx.js +233 -0
  18. package/out/renderer/assets/clojure-DFgIAJGu.js +801 -0
  19. package/out/renderer/assets/codicon-DF1abBS2.ttf +0 -0
  20. package/out/renderer/assets/coffee-Db4q5aZ8.js +308 -0
  21. package/out/renderer/assets/cpp-CEvPJv6f.js +450 -0
  22. package/out/renderer/assets/csharp-CVoBr97X.js +405 -0
  23. package/out/renderer/assets/csp-Cgzd5gxo.js +49 -0
  24. package/out/renderer/assets/css-D3M-RRVi.js +287 -0
  25. package/out/renderer/assets/css.worker-AXSlELAq.js +50031 -0
  26. package/out/renderer/assets/cssMode-CrMQfSUN.js +101 -0
  27. package/out/renderer/assets/cursor-editorTextHighlight-kG3uUOwL.svg +8 -0
  28. package/out/renderer/assets/cypher-DJJgZ_3Q.js +326 -0
  29. package/out/renderer/assets/dart-Bkg7I-Qe.js +341 -0
  30. package/out/renderer/assets/dockerfile-B1r36HyK.js +194 -0
  31. package/out/renderer/assets/ecl-C1Ji6tZG.js +531 -0
  32. package/out/renderer/assets/editor-CXfYqUZ6.css +4816 -0
  33. package/out/renderer/assets/editor.api-zF37fz_e.js +127071 -0
  34. package/out/renderer/assets/elixir-D_-n8lGJ.js +526 -0
  35. package/out/renderer/assets/fileTypes-nBt-Y6NI.js +56306 -0
  36. package/out/renderer/assets/flow9-CCdkJPNN.js +179 -0
  37. package/out/renderer/assets/freemarker2-CBlvIP9I.js +733 -0
  38. package/out/renderer/assets/fsharp-D5KoOpm3.js +248 -0
  39. package/out/renderer/assets/go-B7BFdMAL.js +264 -0
  40. package/out/renderer/assets/graphql-BqIezLde.js +177 -0
  41. package/out/renderer/assets/handlebars-CG4DAk5_.js +414 -0
  42. package/out/renderer/assets/hcl-C1GQCKC0.js +222 -0
  43. package/out/renderer/assets/html-C-_R4s2w.js +335 -0
  44. package/out/renderer/assets/html.worker-vQ8gO4kF.js +30584 -0
  45. package/out/renderer/assets/htmlMode-mGTQJ-lr.js +125 -0
  46. package/out/renderer/assets/index-CQHlaLTi.js +46080 -0
  47. package/out/renderer/assets/index-DBYJcRdn.css +3124 -0
  48. package/out/renderer/assets/ini-DDFxEGYN.js +97 -0
  49. package/out/renderer/assets/java-BqvgSBNj.js +272 -0
  50. package/out/renderer/assets/javascript-BuIet4p-.js +69 -0
  51. package/out/renderer/assets/json.worker-DBhrCMTN.js +23259 -0
  52. package/out/renderer/assets/jsonMode-OAArikPQ.js +769 -0
  53. package/out/renderer/assets/julia-D30HQT3I.js +688 -0
  54. package/out/renderer/assets/kotlin-Bql4-FwM.js +303 -0
  55. package/out/renderer/assets/less-D_rhcFqZ.js +245 -0
  56. package/out/renderer/assets/lexon-CjhVPeai.js +188 -0
  57. package/out/renderer/assets/liquid-DJNDWhYP.js +277 -0
  58. package/out/renderer/assets/lspLanguageFeatures-BIH0_3rO.css +24 -0
  59. package/out/renderer/assets/lspLanguageFeatures-Bvh4jxNk.js +2583 -0
  60. package/out/renderer/assets/lua-HQuy0vuU.js +203 -0
  61. package/out/renderer/assets/m3-CIJ7obE2.js +287 -0
  62. package/out/renderer/assets/markdown-I0GroHKS.js +265 -0
  63. package/out/renderer/assets/mdx-B4We-zdi.js +330 -0
  64. package/out/renderer/assets/mips-DY_Z1uin.js +190 -0
  65. package/out/renderer/assets/msdax-YkUW9rXl.js +416 -0
  66. package/out/renderer/assets/mysql-CIm9uV8f.js +921 -0
  67. package/out/renderer/assets/objective-c-JkhNEfNv.js +233 -0
  68. package/out/renderer/assets/pascal-Dvq-PxOC.js +289 -0
  69. package/out/renderer/assets/pascaligo-A9tZTvdV.js +204 -0
  70. package/out/renderer/assets/pdf_viewer-8SNFor7s.js +7639 -0
  71. package/out/renderer/assets/perl-C2Ujz2HB.js +720 -0
  72. package/out/renderer/assets/pgsql-BHB-cYm3.js +879 -0
  73. package/out/renderer/assets/php-DkNik5Vk.js +548 -0
  74. package/out/renderer/assets/pla-DQ-RrdDE.js +149 -0
  75. package/out/renderer/assets/postiats-f1cpw-r_.js +702 -0
  76. package/out/renderer/assets/powerquery-CwYp-rYn.js +940 -0
  77. package/out/renderer/assets/powershell-DNVb682q.js +252 -0
  78. package/out/renderer/assets/protobuf-C73bXEb8.js +663 -0
  79. package/out/renderer/assets/pug-BxvM69yY.js +419 -0
  80. package/out/renderer/assets/python-Hlw9kU7X.js +389 -0
  81. package/out/renderer/assets/qsharp-BCs2AvEL.js +335 -0
  82. package/out/renderer/assets/r-B7wnzr1V.js +282 -0
  83. package/out/renderer/assets/razor-BswxUzye.js +615 -0
  84. package/out/renderer/assets/redis-BQXcxMfX.js +324 -0
  85. package/out/renderer/assets/redshift-2dZdIUPH.js +838 -0
  86. package/out/renderer/assets/restructuredtext-CVT2zSWP.js +290 -0
  87. package/out/renderer/assets/ruby-DjmMI5Dp.js +612 -0
  88. package/out/renderer/assets/rust-BhSCZj0F.js +382 -0
  89. package/out/renderer/assets/sb-DaUIZery.js +146 -0
  90. package/out/renderer/assets/scala-CYIN7D7O.js +589 -0
  91. package/out/renderer/assets/scheme-DanUmhC2.js +173 -0
  92. package/out/renderer/assets/scss-BVILLTDt.js +420 -0
  93. package/out/renderer/assets/shell-Bpairu2a.js +293 -0
  94. package/out/renderer/assets/solidity-OLm4MSRm.js +1395 -0
  95. package/out/renderer/assets/sophia-DJz2Vk1M.js +234 -0
  96. package/out/renderer/assets/sparql-Bk5uRAQt.js +237 -0
  97. package/out/renderer/assets/sql-DQBN9zz5.js +858 -0
  98. package/out/renderer/assets/st-50mV4H0S.js +657 -0
  99. package/out/renderer/assets/swift-Yc0Q28XL.js +376 -0
  100. package/out/renderer/assets/systemverilog-Du7vdcmu.js +616 -0
  101. package/out/renderer/assets/tcl-DG7u3TBj.js +312 -0
  102. package/out/renderer/assets/toggleHighContrast-CKRp-vZ7.css +3691 -0
  103. package/out/renderer/assets/toggleHighContrast-NyS1pk1Z.js +51247 -0
  104. package/out/renderer/assets/twig-C49MsNA9.js +438 -0
  105. package/out/renderer/assets/typescript-F2yeVXIn.js +382 -0
  106. package/out/renderer/assets/typespec-DA1dz9gQ.js +245 -0
  107. package/out/renderer/assets/useAsync-Bi56CNnI.js +30 -0
  108. package/out/renderer/assets/vb-BDNIgfQk.js +447 -0
  109. package/out/renderer/assets/wgsl-j-0nJ_62.js +457 -0
  110. package/out/renderer/assets/xml-BfG5_Ah8.js +131 -0
  111. package/out/renderer/assets/yaml-7gp9FQUG.js +224 -0
  112. package/out/renderer/index.html +14 -0
  113. package/package.json +66 -4
  114. package/resources/skills/nubase-extension-authoring/SKILL.md +273 -0
  115. package/resources/templates/extension/package.json.template +13 -0
  116. package/resources/templates/extension/src/host.ts.template +12 -0
  117. package/resources/templates/extension/src/ui.tsx.template +26 -0
  118. package/resources/templates/extension/tsconfig.json.template +4 -0
  119. package/README.md +0 -3
@@ -0,0 +1,414 @@
1
+ import { c as languages } from "./editor.api-zF37fz_e.js";
2
+ //#region node_modules/monaco-editor/esm/vs/languages/definitions/handlebars/handlebars.js
3
+ var EMPTY_ELEMENTS = [
4
+ "area",
5
+ "base",
6
+ "br",
7
+ "col",
8
+ "embed",
9
+ "hr",
10
+ "img",
11
+ "input",
12
+ "keygen",
13
+ "link",
14
+ "menuitem",
15
+ "meta",
16
+ "param",
17
+ "source",
18
+ "track",
19
+ "wbr"
20
+ ];
21
+ var conf = {
22
+ wordPattern: /(-?\d*\.\d\w*)|([^\`\~\!\@\$\^\&\*\(\)\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\s]+)/g,
23
+ comments: { blockComment: ["{{!--", "--}}"] },
24
+ brackets: [
25
+ ["<!--", "-->"],
26
+ ["<", ">"],
27
+ ["{{", "}}"],
28
+ ["{", "}"],
29
+ ["(", ")"]
30
+ ],
31
+ autoClosingPairs: [
32
+ {
33
+ open: "{",
34
+ close: "}"
35
+ },
36
+ {
37
+ open: "[",
38
+ close: "]"
39
+ },
40
+ {
41
+ open: "(",
42
+ close: ")"
43
+ },
44
+ {
45
+ open: "\"",
46
+ close: "\""
47
+ },
48
+ {
49
+ open: "'",
50
+ close: "'"
51
+ }
52
+ ],
53
+ surroundingPairs: [
54
+ {
55
+ open: "<",
56
+ close: ">"
57
+ },
58
+ {
59
+ open: "\"",
60
+ close: "\""
61
+ },
62
+ {
63
+ open: "'",
64
+ close: "'"
65
+ }
66
+ ],
67
+ onEnterRules: [{
68
+ beforeText: new RegExp(`<(?!(?:${EMPTY_ELEMENTS.join("|")}))(\\w[\\w\\d]*)([^/>]*(?!/)>)[^<]*$`, "i"),
69
+ afterText: /^<\/(\w[\w\d]*)\s*>$/i,
70
+ action: { indentAction: languages.IndentAction.IndentOutdent }
71
+ }, {
72
+ beforeText: new RegExp(`<(?!(?:${EMPTY_ELEMENTS.join("|")}))(\\w[\\w\\d]*)([^/>]*(?!/)>)[^<]*$`, "i"),
73
+ action: { indentAction: languages.IndentAction.Indent }
74
+ }]
75
+ };
76
+ var language = {
77
+ defaultToken: "",
78
+ tokenPostfix: "",
79
+ tokenizer: {
80
+ root: [
81
+ [
82
+ /\{\{!--/,
83
+ "comment.block.start.handlebars",
84
+ "@commentBlock"
85
+ ],
86
+ [
87
+ /\{\{!/,
88
+ "comment.start.handlebars",
89
+ "@comment"
90
+ ],
91
+ [/\{\{/, {
92
+ token: "@rematch",
93
+ switchTo: "@handlebarsInSimpleState.root"
94
+ }],
95
+ [
96
+ /<!DOCTYPE/,
97
+ "metatag.html",
98
+ "@doctype"
99
+ ],
100
+ [
101
+ /<!--/,
102
+ "comment.html",
103
+ "@commentHtml"
104
+ ],
105
+ [/(<)(\w+)(\/>)/, [
106
+ "delimiter.html",
107
+ "tag.html",
108
+ "delimiter.html"
109
+ ]],
110
+ [/(<)(script)/, ["delimiter.html", {
111
+ token: "tag.html",
112
+ next: "@script"
113
+ }]],
114
+ [/(<)(style)/, ["delimiter.html", {
115
+ token: "tag.html",
116
+ next: "@style"
117
+ }]],
118
+ [/(<)([:\w]+)/, ["delimiter.html", {
119
+ token: "tag.html",
120
+ next: "@otherTag"
121
+ }]],
122
+ [/(<\/)(\w+)/, ["delimiter.html", {
123
+ token: "tag.html",
124
+ next: "@otherTag"
125
+ }]],
126
+ [/</, "delimiter.html"],
127
+ [/\{/, "delimiter.html"],
128
+ [/[^<{]+/]
129
+ ],
130
+ doctype: [
131
+ [/\{\{/, {
132
+ token: "@rematch",
133
+ switchTo: "@handlebarsInSimpleState.comment"
134
+ }],
135
+ [/[^>]+/, "metatag.content.html"],
136
+ [
137
+ />/,
138
+ "metatag.html",
139
+ "@pop"
140
+ ]
141
+ ],
142
+ comment: [[
143
+ /\}\}/,
144
+ "comment.end.handlebars",
145
+ "@pop"
146
+ ], [/./, "comment.content.handlebars"]],
147
+ commentBlock: [[
148
+ /--\}\}/,
149
+ "comment.block.end.handlebars",
150
+ "@pop"
151
+ ], [/./, "comment.content.handlebars"]],
152
+ commentHtml: [
153
+ [/\{\{/, {
154
+ token: "@rematch",
155
+ switchTo: "@handlebarsInSimpleState.comment"
156
+ }],
157
+ [
158
+ /-->/,
159
+ "comment.html",
160
+ "@pop"
161
+ ],
162
+ [/[^-]+/, "comment.content.html"],
163
+ [/./, "comment.content.html"]
164
+ ],
165
+ otherTag: [
166
+ [/\{\{/, {
167
+ token: "@rematch",
168
+ switchTo: "@handlebarsInSimpleState.otherTag"
169
+ }],
170
+ [
171
+ /\/?>/,
172
+ "delimiter.html",
173
+ "@pop"
174
+ ],
175
+ [/"([^"]*)"/, "attribute.value"],
176
+ [/'([^']*)'/, "attribute.value"],
177
+ [/[\w\-]+/, "attribute.name"],
178
+ [/=/, "delimiter"],
179
+ [/[ \t\r\n]+/]
180
+ ],
181
+ script: [
182
+ [/\{\{/, {
183
+ token: "@rematch",
184
+ switchTo: "@handlebarsInSimpleState.script"
185
+ }],
186
+ [
187
+ /type/,
188
+ "attribute.name",
189
+ "@scriptAfterType"
190
+ ],
191
+ [/"([^"]*)"/, "attribute.value"],
192
+ [/'([^']*)'/, "attribute.value"],
193
+ [/[\w\-]+/, "attribute.name"],
194
+ [/=/, "delimiter"],
195
+ [/>/, {
196
+ token: "delimiter.html",
197
+ next: "@scriptEmbedded.text/javascript",
198
+ nextEmbedded: "text/javascript"
199
+ }],
200
+ [/[ \t\r\n]+/],
201
+ [/(<\/)(script\s*)(>)/, [
202
+ "delimiter.html",
203
+ "tag.html",
204
+ {
205
+ token: "delimiter.html",
206
+ next: "@pop"
207
+ }
208
+ ]]
209
+ ],
210
+ scriptAfterType: [
211
+ [/\{\{/, {
212
+ token: "@rematch",
213
+ switchTo: "@handlebarsInSimpleState.scriptAfterType"
214
+ }],
215
+ [
216
+ /=/,
217
+ "delimiter",
218
+ "@scriptAfterTypeEquals"
219
+ ],
220
+ [/>/, {
221
+ token: "delimiter.html",
222
+ next: "@scriptEmbedded.text/javascript",
223
+ nextEmbedded: "text/javascript"
224
+ }],
225
+ [/[ \t\r\n]+/],
226
+ [/<\/script\s*>/, {
227
+ token: "@rematch",
228
+ next: "@pop"
229
+ }]
230
+ ],
231
+ scriptAfterTypeEquals: [
232
+ [/\{\{/, {
233
+ token: "@rematch",
234
+ switchTo: "@handlebarsInSimpleState.scriptAfterTypeEquals"
235
+ }],
236
+ [/"([^"]*)"/, {
237
+ token: "attribute.value",
238
+ switchTo: "@scriptWithCustomType.$1"
239
+ }],
240
+ [/'([^']*)'/, {
241
+ token: "attribute.value",
242
+ switchTo: "@scriptWithCustomType.$1"
243
+ }],
244
+ [/>/, {
245
+ token: "delimiter.html",
246
+ next: "@scriptEmbedded.text/javascript",
247
+ nextEmbedded: "text/javascript"
248
+ }],
249
+ [/[ \t\r\n]+/],
250
+ [/<\/script\s*>/, {
251
+ token: "@rematch",
252
+ next: "@pop"
253
+ }]
254
+ ],
255
+ scriptWithCustomType: [
256
+ [/\{\{/, {
257
+ token: "@rematch",
258
+ switchTo: "@handlebarsInSimpleState.scriptWithCustomType.$S2"
259
+ }],
260
+ [/>/, {
261
+ token: "delimiter.html",
262
+ next: "@scriptEmbedded.$S2",
263
+ nextEmbedded: "$S2"
264
+ }],
265
+ [/"([^"]*)"/, "attribute.value"],
266
+ [/'([^']*)'/, "attribute.value"],
267
+ [/[\w\-]+/, "attribute.name"],
268
+ [/=/, "delimiter"],
269
+ [/[ \t\r\n]+/],
270
+ [/<\/script\s*>/, {
271
+ token: "@rematch",
272
+ next: "@pop"
273
+ }]
274
+ ],
275
+ scriptEmbedded: [[/\{\{/, {
276
+ token: "@rematch",
277
+ switchTo: "@handlebarsInEmbeddedState.scriptEmbedded.$S2",
278
+ nextEmbedded: "@pop"
279
+ }], [/<\/script/, {
280
+ token: "@rematch",
281
+ next: "@pop",
282
+ nextEmbedded: "@pop"
283
+ }]],
284
+ style: [
285
+ [/\{\{/, {
286
+ token: "@rematch",
287
+ switchTo: "@handlebarsInSimpleState.style"
288
+ }],
289
+ [
290
+ /type/,
291
+ "attribute.name",
292
+ "@styleAfterType"
293
+ ],
294
+ [/"([^"]*)"/, "attribute.value"],
295
+ [/'([^']*)'/, "attribute.value"],
296
+ [/[\w\-]+/, "attribute.name"],
297
+ [/=/, "delimiter"],
298
+ [/>/, {
299
+ token: "delimiter.html",
300
+ next: "@styleEmbedded.text/css",
301
+ nextEmbedded: "text/css"
302
+ }],
303
+ [/[ \t\r\n]+/],
304
+ [/(<\/)(style\s*)(>)/, [
305
+ "delimiter.html",
306
+ "tag.html",
307
+ {
308
+ token: "delimiter.html",
309
+ next: "@pop"
310
+ }
311
+ ]]
312
+ ],
313
+ styleAfterType: [
314
+ [/\{\{/, {
315
+ token: "@rematch",
316
+ switchTo: "@handlebarsInSimpleState.styleAfterType"
317
+ }],
318
+ [
319
+ /=/,
320
+ "delimiter",
321
+ "@styleAfterTypeEquals"
322
+ ],
323
+ [/>/, {
324
+ token: "delimiter.html",
325
+ next: "@styleEmbedded.text/css",
326
+ nextEmbedded: "text/css"
327
+ }],
328
+ [/[ \t\r\n]+/],
329
+ [/<\/style\s*>/, {
330
+ token: "@rematch",
331
+ next: "@pop"
332
+ }]
333
+ ],
334
+ styleAfterTypeEquals: [
335
+ [/\{\{/, {
336
+ token: "@rematch",
337
+ switchTo: "@handlebarsInSimpleState.styleAfterTypeEquals"
338
+ }],
339
+ [/"([^"]*)"/, {
340
+ token: "attribute.value",
341
+ switchTo: "@styleWithCustomType.$1"
342
+ }],
343
+ [/'([^']*)'/, {
344
+ token: "attribute.value",
345
+ switchTo: "@styleWithCustomType.$1"
346
+ }],
347
+ [/>/, {
348
+ token: "delimiter.html",
349
+ next: "@styleEmbedded.text/css",
350
+ nextEmbedded: "text/css"
351
+ }],
352
+ [/[ \t\r\n]+/],
353
+ [/<\/style\s*>/, {
354
+ token: "@rematch",
355
+ next: "@pop"
356
+ }]
357
+ ],
358
+ styleWithCustomType: [
359
+ [/\{\{/, {
360
+ token: "@rematch",
361
+ switchTo: "@handlebarsInSimpleState.styleWithCustomType.$S2"
362
+ }],
363
+ [/>/, {
364
+ token: "delimiter.html",
365
+ next: "@styleEmbedded.$S2",
366
+ nextEmbedded: "$S2"
367
+ }],
368
+ [/"([^"]*)"/, "attribute.value"],
369
+ [/'([^']*)'/, "attribute.value"],
370
+ [/[\w\-]+/, "attribute.name"],
371
+ [/=/, "delimiter"],
372
+ [/[ \t\r\n]+/],
373
+ [/<\/style\s*>/, {
374
+ token: "@rematch",
375
+ next: "@pop"
376
+ }]
377
+ ],
378
+ styleEmbedded: [[/\{\{/, {
379
+ token: "@rematch",
380
+ switchTo: "@handlebarsInEmbeddedState.styleEmbedded.$S2",
381
+ nextEmbedded: "@pop"
382
+ }], [/<\/style/, {
383
+ token: "@rematch",
384
+ next: "@pop",
385
+ nextEmbedded: "@pop"
386
+ }]],
387
+ handlebarsInSimpleState: [
388
+ [/\{\{\{?/, "delimiter.handlebars"],
389
+ [/\}\}\}?/, {
390
+ token: "delimiter.handlebars",
391
+ switchTo: "@$S2.$S3"
392
+ }],
393
+ { include: "handlebarsRoot" }
394
+ ],
395
+ handlebarsInEmbeddedState: [
396
+ [/\{\{\{?/, "delimiter.handlebars"],
397
+ [/\}\}\}?/, {
398
+ token: "delimiter.handlebars",
399
+ switchTo: "@$S2.$S3",
400
+ nextEmbedded: "$S3"
401
+ }],
402
+ { include: "handlebarsRoot" }
403
+ ],
404
+ handlebarsRoot: [
405
+ [/"[^"]*"/, "string.handlebars"],
406
+ [/[#/][^\s}]+/, "keyword.helper.handlebars"],
407
+ [/else\b/, "keyword.helper.handlebars"],
408
+ [/[\s]+/],
409
+ [/[^}]/, "variable.parameter.handlebars"]
410
+ ]
411
+ }
412
+ };
413
+ //#endregion
414
+ export { conf, language };
@@ -0,0 +1,222 @@
1
+ //#region node_modules/monaco-editor/esm/vs/languages/definitions/hcl/hcl.js
2
+ var conf = {
3
+ comments: {
4
+ lineComment: "#",
5
+ blockComment: ["/*", "*/"]
6
+ },
7
+ brackets: [
8
+ ["{", "}"],
9
+ ["[", "]"],
10
+ ["(", ")"]
11
+ ],
12
+ autoClosingPairs: [
13
+ {
14
+ open: "{",
15
+ close: "}"
16
+ },
17
+ {
18
+ open: "[",
19
+ close: "]"
20
+ },
21
+ {
22
+ open: "(",
23
+ close: ")"
24
+ },
25
+ {
26
+ open: "\"",
27
+ close: "\"",
28
+ notIn: ["string"]
29
+ }
30
+ ],
31
+ surroundingPairs: [
32
+ {
33
+ open: "{",
34
+ close: "}"
35
+ },
36
+ {
37
+ open: "[",
38
+ close: "]"
39
+ },
40
+ {
41
+ open: "(",
42
+ close: ")"
43
+ },
44
+ {
45
+ open: "\"",
46
+ close: "\""
47
+ }
48
+ ]
49
+ };
50
+ var language = {
51
+ defaultToken: "",
52
+ tokenPostfix: ".hcl",
53
+ keywords: [
54
+ "var",
55
+ "local",
56
+ "path",
57
+ "for_each",
58
+ "any",
59
+ "string",
60
+ "number",
61
+ "bool",
62
+ "true",
63
+ "false",
64
+ "null",
65
+ "if ",
66
+ "else ",
67
+ "endif ",
68
+ "for ",
69
+ "in",
70
+ "endfor"
71
+ ],
72
+ operators: [
73
+ "=",
74
+ ">=",
75
+ "<=",
76
+ "==",
77
+ "!=",
78
+ "+",
79
+ "-",
80
+ "*",
81
+ "/",
82
+ "%",
83
+ "&&",
84
+ "||",
85
+ "!",
86
+ "<",
87
+ ">",
88
+ "?",
89
+ "...",
90
+ ":"
91
+ ],
92
+ symbols: /[=><!~?:&|+\-*\/\^%]+/,
93
+ escapes: /\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,
94
+ 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)/,
95
+ terraformMainBlocks: /(module|data|terraform|resource|provider|variable|output|locals)/,
96
+ tokenizer: {
97
+ root: [
98
+ [/^@terraformMainBlocks([ \t]*)([\w-]+|"[\w-]+"|)([ \t]*)([\w-]+|"[\w-]+"|)([ \t]*)(\{)/, [
99
+ "type",
100
+ "",
101
+ "string",
102
+ "",
103
+ "string",
104
+ "",
105
+ "@brackets"
106
+ ]],
107
+ [/(\w+[ \t]+)([ \t]*)([\w-]+|"[\w-]+"|)([ \t]*)([\w-]+|"[\w-]+"|)([ \t]*)(\{)/, [
108
+ "identifier",
109
+ "",
110
+ "string",
111
+ "",
112
+ "string",
113
+ "",
114
+ "@brackets"
115
+ ]],
116
+ [/(\w+[ \t]+)([ \t]*)([\w-]+|"[\w-]+"|)([ \t]*)([\w-]+|"[\w-]+"|)(=)(\{)/, [
117
+ "identifier",
118
+ "",
119
+ "string",
120
+ "",
121
+ "operator",
122
+ "",
123
+ "@brackets"
124
+ ]],
125
+ { include: "@terraform" }
126
+ ],
127
+ terraform: [
128
+ [/@terraformFunctions(\()/, ["type", "@brackets"]],
129
+ [/[a-zA-Z_]\w*-*/, { cases: {
130
+ "@keywords": { token: "keyword.$0" },
131
+ "@default": "variable"
132
+ } }],
133
+ { include: "@whitespace" },
134
+ { include: "@heredoc" },
135
+ [/[{}()\[\]]/, "@brackets"],
136
+ [/[<>](?!@symbols)/, "@brackets"],
137
+ [/@symbols/, { cases: {
138
+ "@operators": "operator",
139
+ "@default": ""
140
+ } }],
141
+ [/\d*\d+[eE]([\-+]?\d+)?/, "number.float"],
142
+ [/\d*\.\d+([eE][\-+]?\d+)?/, "number.float"],
143
+ [/\d[\d']*/, "number"],
144
+ [/\d/, "number"],
145
+ [/[;,.]/, "delimiter"],
146
+ [
147
+ /"/,
148
+ "string",
149
+ "@string"
150
+ ],
151
+ [/'/, "invalid"]
152
+ ],
153
+ heredoc: [[/<<[-]*\s*["]?([\w\-]+)["]?/, {
154
+ token: "string.heredoc.delimiter",
155
+ next: "@heredocBody.$1"
156
+ }]],
157
+ heredocBody: [[/([\w\-]+)$/, { cases: {
158
+ "$1==$S2": [{
159
+ token: "string.heredoc.delimiter",
160
+ next: "@popall"
161
+ }],
162
+ "@default": "string.heredoc"
163
+ } }], [/./, "string.heredoc"]],
164
+ whitespace: [
165
+ [/[ \t\r\n]+/, ""],
166
+ [
167
+ /\/\*/,
168
+ "comment",
169
+ "@comment"
170
+ ],
171
+ [/\/\/.*$/, "comment"],
172
+ [/#.*$/, "comment"]
173
+ ],
174
+ comment: [
175
+ [/[^\/*]+/, "comment"],
176
+ [
177
+ /\*\//,
178
+ "comment",
179
+ "@pop"
180
+ ],
181
+ [/[\/*]/, "comment"]
182
+ ],
183
+ string: [
184
+ [/\$\{/, {
185
+ token: "delimiter",
186
+ next: "@stringExpression"
187
+ }],
188
+ [/[^\\"\$]+/, "string"],
189
+ [/@escapes/, "string.escape"],
190
+ [/\\./, "string.escape.invalid"],
191
+ [
192
+ /"/,
193
+ "string",
194
+ "@popall"
195
+ ]
196
+ ],
197
+ stringInsideExpression: [
198
+ [/[^\\"]+/, "string"],
199
+ [/@escapes/, "string.escape"],
200
+ [/\\./, "string.escape.invalid"],
201
+ [
202
+ /"/,
203
+ "string",
204
+ "@pop"
205
+ ]
206
+ ],
207
+ stringExpression: [
208
+ [/\}/, {
209
+ token: "delimiter",
210
+ next: "@pop"
211
+ }],
212
+ [
213
+ /"/,
214
+ "string",
215
+ "@stringInsideExpression"
216
+ ],
217
+ { include: "@terraform" }
218
+ ]
219
+ }
220
+ };
221
+ //#endregion
222
+ export { conf, language };