@nubase/terminal 0.0.0-stage → 0.1.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 (119) hide show
  1. package/bin/nubase.js +11 -0
  2. package/out/main/index.js +3218 -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,612 @@
1
+ //#region node_modules/monaco-editor/esm/vs/languages/definitions/ruby/ruby.js
2
+ var conf = {
3
+ comments: {
4
+ lineComment: "#",
5
+ blockComment: ["=begin", "=end"]
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
+ },
29
+ {
30
+ open: "'",
31
+ close: "'"
32
+ }
33
+ ],
34
+ surroundingPairs: [
35
+ {
36
+ open: "{",
37
+ close: "}"
38
+ },
39
+ {
40
+ open: "[",
41
+ close: "]"
42
+ },
43
+ {
44
+ open: "(",
45
+ close: ")"
46
+ },
47
+ {
48
+ open: "\"",
49
+ close: "\""
50
+ },
51
+ {
52
+ open: "'",
53
+ close: "'"
54
+ }
55
+ ],
56
+ indentationRules: {
57
+ increaseIndentPattern: new RegExp(`^\\s*((begin|class|(private|protected)\\s+def|def|else|elsif|ensure|for|if|module|rescue|unless|until|when|while|case)|([^#]*\\sdo\\b)|([^#]*=\\s*(case|if|unless)))\\b([^#\\{;]|("|'|/).*\\4)*(#.*)?$`),
58
+ decreaseIndentPattern: /* @__PURE__ */ new RegExp("^\\s*([}\\]]([,)]?\\s*(#|$)|\\.[a-zA-Z_]\\w*\\b)|(end|rescue|ensure|else|elsif|when)\\b)")
59
+ }
60
+ };
61
+ var language = {
62
+ tokenPostfix: ".ruby",
63
+ keywords: [
64
+ "__LINE__",
65
+ "__ENCODING__",
66
+ "__FILE__",
67
+ "BEGIN",
68
+ "END",
69
+ "alias",
70
+ "and",
71
+ "begin",
72
+ "break",
73
+ "case",
74
+ "class",
75
+ "def",
76
+ "defined?",
77
+ "do",
78
+ "else",
79
+ "elsif",
80
+ "end",
81
+ "ensure",
82
+ "for",
83
+ "false",
84
+ "if",
85
+ "in",
86
+ "module",
87
+ "next",
88
+ "nil",
89
+ "not",
90
+ "or",
91
+ "redo",
92
+ "rescue",
93
+ "retry",
94
+ "return",
95
+ "self",
96
+ "super",
97
+ "then",
98
+ "true",
99
+ "undef",
100
+ "unless",
101
+ "until",
102
+ "when",
103
+ "while",
104
+ "yield"
105
+ ],
106
+ keywordops: [
107
+ "::",
108
+ "..",
109
+ "...",
110
+ "?",
111
+ ":",
112
+ "=>"
113
+ ],
114
+ builtins: [
115
+ "require",
116
+ "public",
117
+ "private",
118
+ "include",
119
+ "extend",
120
+ "attr_reader",
121
+ "protected",
122
+ "private_class_method",
123
+ "protected_class_method",
124
+ "new"
125
+ ],
126
+ declarations: [
127
+ "module",
128
+ "class",
129
+ "def",
130
+ "case",
131
+ "do",
132
+ "begin",
133
+ "for",
134
+ "if",
135
+ "while",
136
+ "until",
137
+ "unless"
138
+ ],
139
+ linedecls: [
140
+ "def",
141
+ "case",
142
+ "do",
143
+ "begin",
144
+ "for",
145
+ "if",
146
+ "while",
147
+ "until",
148
+ "unless"
149
+ ],
150
+ operators: [
151
+ "^",
152
+ "&",
153
+ "|",
154
+ "<=>",
155
+ "==",
156
+ "===",
157
+ "!~",
158
+ "=~",
159
+ ">",
160
+ ">=",
161
+ "<",
162
+ "<=",
163
+ "<<",
164
+ ">>",
165
+ "+",
166
+ "-",
167
+ "*",
168
+ "/",
169
+ "%",
170
+ "**",
171
+ "~",
172
+ "+@",
173
+ "-@",
174
+ "[]",
175
+ "[]=",
176
+ "`",
177
+ "+=",
178
+ "-=",
179
+ "*=",
180
+ "**=",
181
+ "/=",
182
+ "^=",
183
+ "%=",
184
+ "<<=",
185
+ ">>=",
186
+ "&=",
187
+ "&&=",
188
+ "||=",
189
+ "|="
190
+ ],
191
+ brackets: [
192
+ {
193
+ open: "(",
194
+ close: ")",
195
+ token: "delimiter.parenthesis"
196
+ },
197
+ {
198
+ open: "{",
199
+ close: "}",
200
+ token: "delimiter.curly"
201
+ },
202
+ {
203
+ open: "[",
204
+ close: "]",
205
+ token: "delimiter.square"
206
+ }
207
+ ],
208
+ symbols: /[=><!~?:&|+\-*\/\^%\.]+/,
209
+ escape: /(?:[abefnrstv\\"'\n\r]|[0-7]{1,3}|x[0-9A-Fa-f]{1,2}|u[0-9A-Fa-f]{4})/,
210
+ escapes: /\\(?:C\-(@escape|.)|c(@escape|.)|@escape)/,
211
+ decpart: /\d(_?\d)*/,
212
+ decimal: /0|@decpart/,
213
+ delim: /[^a-zA-Z0-9\s\n\r]/,
214
+ heredelim: /(?:\w+|'[^']*'|"[^"]*"|`[^`]*`)/,
215
+ regexpctl: /[(){}\[\]\$\^|\-*+?\.]/,
216
+ regexpesc: /\\(?:[AzZbBdDfnrstvwWn0\\\/]|@regexpctl|c[A-Z]|x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4})?/,
217
+ tokenizer: {
218
+ root: [
219
+ [/^(\s*)([a-z_]\w*[!?=]?)/, ["white", { cases: {
220
+ "for|until|while": {
221
+ token: "keyword.$2",
222
+ next: "@dodecl.$2"
223
+ },
224
+ "@declarations": {
225
+ token: "keyword.$2",
226
+ next: "@root.$2"
227
+ },
228
+ end: {
229
+ token: "keyword.$S2",
230
+ next: "@pop"
231
+ },
232
+ "@keywords": "keyword",
233
+ "@builtins": "predefined",
234
+ "@default": "identifier"
235
+ } }]],
236
+ [/[a-z_]\w*[!?=]?/, { cases: {
237
+ "if|unless|while|until": {
238
+ token: "keyword.$0x",
239
+ next: "@modifier.$0x"
240
+ },
241
+ for: {
242
+ token: "keyword.$2",
243
+ next: "@dodecl.$2"
244
+ },
245
+ "@linedecls": {
246
+ token: "keyword.$0",
247
+ next: "@root.$0"
248
+ },
249
+ end: {
250
+ token: "keyword.$S2",
251
+ next: "@pop"
252
+ },
253
+ "@keywords": "keyword",
254
+ "@builtins": "predefined",
255
+ "@default": "identifier"
256
+ } }],
257
+ [/[A-Z][\w]*[!?=]?/, "constructor.identifier"],
258
+ [/\$[\w]*/, "global.constant"],
259
+ [/@[\w]*/, "namespace.instance.identifier"],
260
+ [/@@@[\w]*/, "namespace.class.identifier"],
261
+ [/<<[-~](@heredelim).*/, {
262
+ token: "string.heredoc.delimiter",
263
+ next: "@heredoc.$1"
264
+ }],
265
+ [/[ \t\r\n]+<<(@heredelim).*/, {
266
+ token: "string.heredoc.delimiter",
267
+ next: "@heredoc.$1"
268
+ }],
269
+ [/^<<(@heredelim).*/, {
270
+ token: "string.heredoc.delimiter",
271
+ next: "@heredoc.$1"
272
+ }],
273
+ { include: "@whitespace" },
274
+ [/"/, {
275
+ token: "string.d.delim",
276
+ next: "@dstring.d.\""
277
+ }],
278
+ [/'/, {
279
+ token: "string.sq.delim",
280
+ next: "@sstring.sq"
281
+ }],
282
+ [/%([rsqxwW]|Q?)/, {
283
+ token: "@rematch",
284
+ next: "pstring"
285
+ }],
286
+ [/`/, {
287
+ token: "string.x.delim",
288
+ next: "@dstring.x.`"
289
+ }],
290
+ [/:(\w|[$@])\w*[!?=]?/, "string.s"],
291
+ [/:"/, {
292
+ token: "string.s.delim",
293
+ next: "@dstring.s.\""
294
+ }],
295
+ [/:'/, {
296
+ token: "string.s.delim",
297
+ next: "@sstring.s"
298
+ }],
299
+ [/\/(?=(\\\/|[^\/\n])+\/)/, {
300
+ token: "regexp.delim",
301
+ next: "@regexp"
302
+ }],
303
+ [/[{}()\[\]]/, "@brackets"],
304
+ [/@symbols/, { cases: {
305
+ "@keywordops": "keyword",
306
+ "@operators": "operator",
307
+ "@default": ""
308
+ } }],
309
+ [/[;,]/, "delimiter"],
310
+ [/0[xX][0-9a-fA-F](_?[0-9a-fA-F])*/, "number.hex"],
311
+ [/0[_oO][0-7](_?[0-7])*/, "number.octal"],
312
+ [/0[bB][01](_?[01])*/, "number.binary"],
313
+ [/0[dD]@decpart/, "number"],
314
+ [/@decimal((\.@decpart)?([eE][\-+]?@decpart)?)/, { cases: {
315
+ $1: "number.float",
316
+ "@default": "number"
317
+ } }]
318
+ ],
319
+ dodecl: [
320
+ [/^/, {
321
+ token: "",
322
+ switchTo: "@root.$S2"
323
+ }],
324
+ [/[a-z_]\w*[!?=]?/, { cases: {
325
+ end: {
326
+ token: "keyword.$S2",
327
+ next: "@pop"
328
+ },
329
+ do: {
330
+ token: "keyword",
331
+ switchTo: "@root.$S2"
332
+ },
333
+ "@linedecls": {
334
+ token: "@rematch",
335
+ switchTo: "@root.$S2"
336
+ },
337
+ "@keywords": "keyword",
338
+ "@builtins": "predefined",
339
+ "@default": "identifier"
340
+ } }],
341
+ { include: "@root" }
342
+ ],
343
+ modifier: [
344
+ [
345
+ /^/,
346
+ "",
347
+ "@pop"
348
+ ],
349
+ [/[a-z_]\w*[!?=]?/, { cases: {
350
+ end: {
351
+ token: "keyword.$S2",
352
+ next: "@pop"
353
+ },
354
+ "then|else|elsif|do": {
355
+ token: "keyword",
356
+ switchTo: "@root.$S2"
357
+ },
358
+ "@linedecls": {
359
+ token: "@rematch",
360
+ switchTo: "@root.$S2"
361
+ },
362
+ "@keywords": "keyword",
363
+ "@builtins": "predefined",
364
+ "@default": "identifier"
365
+ } }],
366
+ { include: "@root" }
367
+ ],
368
+ sstring: [
369
+ [/[^\\']+/, "string.$S2"],
370
+ [/\\\\|\\'|\\$/, "string.$S2.escape"],
371
+ [/\\./, "string.$S2.invalid"],
372
+ [/'/, {
373
+ token: "string.$S2.delim",
374
+ next: "@pop"
375
+ }]
376
+ ],
377
+ dstring: [
378
+ [/[^\\`"#]+/, "string.$S2"],
379
+ [
380
+ /#/,
381
+ "string.$S2.escape",
382
+ "@interpolated"
383
+ ],
384
+ [/\\$/, "string.$S2.escape"],
385
+ [/@escapes/, "string.$S2.escape"],
386
+ [/\\./, "string.$S2.escape.invalid"],
387
+ [/[`"]/, { cases: {
388
+ "$#==$S3": {
389
+ token: "string.$S2.delim",
390
+ next: "@pop"
391
+ },
392
+ "@default": "string.$S2"
393
+ } }]
394
+ ],
395
+ heredoc: [[/^(\s*)(@heredelim)$/, { cases: {
396
+ "$2==$S2": ["string.heredoc", {
397
+ token: "string.heredoc.delimiter",
398
+ next: "@pop"
399
+ }],
400
+ "@default": ["string.heredoc", "string.heredoc"]
401
+ } }], [/.*/, "string.heredoc"]],
402
+ interpolated: [
403
+ [
404
+ /\$\w*/,
405
+ "global.constant",
406
+ "@pop"
407
+ ],
408
+ [
409
+ /@\w*/,
410
+ "namespace.class.identifier",
411
+ "@pop"
412
+ ],
413
+ [
414
+ /@@@\w*/,
415
+ "namespace.instance.identifier",
416
+ "@pop"
417
+ ],
418
+ [/[{]/, {
419
+ token: "string.escape.curly",
420
+ switchTo: "@interpolated_compound"
421
+ }],
422
+ [
423
+ "",
424
+ "",
425
+ "@pop"
426
+ ]
427
+ ],
428
+ interpolated_compound: [[/[}]/, {
429
+ token: "string.escape.curly",
430
+ next: "@pop"
431
+ }], { include: "@root" }],
432
+ pregexp: [
433
+ { include: "@whitespace" },
434
+ [/[^\(\{\[\\]/, { cases: {
435
+ "$#==$S3": {
436
+ token: "regexp.delim",
437
+ next: "@pop"
438
+ },
439
+ "$#==$S2": {
440
+ token: "regexp.delim",
441
+ next: "@push"
442
+ },
443
+ "~[)}\\]]": "@brackets.regexp.escape.control",
444
+ "~@regexpctl": "regexp.escape.control",
445
+ "@default": "regexp"
446
+ } }],
447
+ { include: "@regexcontrol" }
448
+ ],
449
+ regexp: [
450
+ { include: "@regexcontrol" },
451
+ [/[^\\\/]/, "regexp"],
452
+ [
453
+ "/[ixmp]*",
454
+ { token: "regexp.delim" },
455
+ "@pop"
456
+ ]
457
+ ],
458
+ regexcontrol: [
459
+ [/(\{)(\d+(?:,\d*)?)(\})/, [
460
+ "@brackets.regexp.escape.control",
461
+ "regexp.escape.control",
462
+ "@brackets.regexp.escape.control"
463
+ ]],
464
+ [/(\[)(\^?)/, ["@brackets.regexp.escape.control", {
465
+ token: "regexp.escape.control",
466
+ next: "@regexrange"
467
+ }]],
468
+ [/(\()(\?[:=!])/, ["@brackets.regexp.escape.control", "regexp.escape.control"]],
469
+ [/\(\?#/, {
470
+ token: "regexp.escape.control",
471
+ next: "@regexpcomment"
472
+ }],
473
+ [/[()]/, "@brackets.regexp.escape.control"],
474
+ [/@regexpctl/, "regexp.escape.control"],
475
+ [/\\$/, "regexp.escape"],
476
+ [/@regexpesc/, "regexp.escape"],
477
+ [/\\\./, "regexp.invalid"],
478
+ [
479
+ /#/,
480
+ "regexp.escape",
481
+ "@interpolated"
482
+ ]
483
+ ],
484
+ regexrange: [
485
+ [/-/, "regexp.escape.control"],
486
+ [/\^/, "regexp.invalid"],
487
+ [/\\$/, "regexp.escape"],
488
+ [/@regexpesc/, "regexp.escape"],
489
+ [/[^\]]/, "regexp"],
490
+ [
491
+ /\]/,
492
+ "@brackets.regexp.escape.control",
493
+ "@pop"
494
+ ]
495
+ ],
496
+ regexpcomment: [[/[^)]+/, "comment"], [/\)/, {
497
+ token: "regexp.escape.control",
498
+ next: "@pop"
499
+ }]],
500
+ pstring: [
501
+ [/%([qws])\(/, {
502
+ token: "string.$1.delim",
503
+ switchTo: "@qstring.$1.(.)"
504
+ }],
505
+ [/%([qws])\[/, {
506
+ token: "string.$1.delim",
507
+ switchTo: "@qstring.$1.[.]"
508
+ }],
509
+ [/%([qws])\{/, {
510
+ token: "string.$1.delim",
511
+ switchTo: "@qstring.$1.{.}"
512
+ }],
513
+ [/%([qws])</, {
514
+ token: "string.$1.delim",
515
+ switchTo: "@qstring.$1.<.>"
516
+ }],
517
+ [/%([qws])(@delim)/, {
518
+ token: "string.$1.delim",
519
+ switchTo: "@qstring.$1.$2.$2"
520
+ }],
521
+ [/%r\(/, {
522
+ token: "regexp.delim",
523
+ switchTo: "@pregexp.(.)"
524
+ }],
525
+ [/%r\[/, {
526
+ token: "regexp.delim",
527
+ switchTo: "@pregexp.[.]"
528
+ }],
529
+ [/%r\{/, {
530
+ token: "regexp.delim",
531
+ switchTo: "@pregexp.{.}"
532
+ }],
533
+ [/%r</, {
534
+ token: "regexp.delim",
535
+ switchTo: "@pregexp.<.>"
536
+ }],
537
+ [/%r(@delim)/, {
538
+ token: "regexp.delim",
539
+ switchTo: "@pregexp.$1.$1"
540
+ }],
541
+ [/%(x|W|Q?)\(/, {
542
+ token: "string.$1.delim",
543
+ switchTo: "@qqstring.$1.(.)"
544
+ }],
545
+ [/%(x|W|Q?)\[/, {
546
+ token: "string.$1.delim",
547
+ switchTo: "@qqstring.$1.[.]"
548
+ }],
549
+ [/%(x|W|Q?)\{/, {
550
+ token: "string.$1.delim",
551
+ switchTo: "@qqstring.$1.{.}"
552
+ }],
553
+ [/%(x|W|Q?)</, {
554
+ token: "string.$1.delim",
555
+ switchTo: "@qqstring.$1.<.>"
556
+ }],
557
+ [/%(x|W|Q?)(@delim)/, {
558
+ token: "string.$1.delim",
559
+ switchTo: "@qqstring.$1.$2.$2"
560
+ }],
561
+ [/%([rqwsxW]|Q?)./, {
562
+ token: "invalid",
563
+ next: "@pop"
564
+ }],
565
+ [/./, {
566
+ token: "invalid",
567
+ next: "@pop"
568
+ }]
569
+ ],
570
+ qstring: [
571
+ [/\\$/, "string.$S2.escape"],
572
+ [/\\./, "string.$S2.escape"],
573
+ [/./, { cases: {
574
+ "$#==$S4": {
575
+ token: "string.$S2.delim",
576
+ next: "@pop"
577
+ },
578
+ "$#==$S3": {
579
+ token: "string.$S2.delim",
580
+ next: "@push"
581
+ },
582
+ "@default": "string.$S2"
583
+ } }]
584
+ ],
585
+ qqstring: [[
586
+ /#/,
587
+ "string.$S2.escape",
588
+ "@interpolated"
589
+ ], { include: "@qstring" }],
590
+ whitespace: [
591
+ [/[ \t\r\n]+/, ""],
592
+ [
593
+ /^\s*=begin\b/,
594
+ "comment",
595
+ "@comment"
596
+ ],
597
+ [/#.*$/, "comment"]
598
+ ],
599
+ comment: [
600
+ [/[^=]+/, "comment"],
601
+ [/^\s*=begin\b/, "comment.invalid"],
602
+ [
603
+ /^\s*=end\b.*/,
604
+ "comment",
605
+ "@pop"
606
+ ],
607
+ [/[=]/, "comment"]
608
+ ]
609
+ }
610
+ };
611
+ //#endregion
612
+ export { conf, language };