@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,663 @@
1
+ //#region node_modules/monaco-editor/esm/vs/languages/definitions/protobuf/protobuf.js
2
+ var namedLiterals = ["true", "false"];
3
+ var conf = {
4
+ comments: {
5
+ lineComment: "//",
6
+ blockComment: ["/*", "*/"]
7
+ },
8
+ brackets: [
9
+ ["{", "}"],
10
+ ["[", "]"],
11
+ ["(", ")"],
12
+ ["<", ">"]
13
+ ],
14
+ surroundingPairs: [
15
+ {
16
+ open: "{",
17
+ close: "}"
18
+ },
19
+ {
20
+ open: "[",
21
+ close: "]"
22
+ },
23
+ {
24
+ open: "(",
25
+ close: ")"
26
+ },
27
+ {
28
+ open: "<",
29
+ close: ">"
30
+ },
31
+ {
32
+ open: "\"",
33
+ close: "\""
34
+ },
35
+ {
36
+ open: "'",
37
+ close: "'"
38
+ }
39
+ ],
40
+ autoClosingPairs: [
41
+ {
42
+ open: "{",
43
+ close: "}"
44
+ },
45
+ {
46
+ open: "[",
47
+ close: "]"
48
+ },
49
+ {
50
+ open: "(",
51
+ close: ")"
52
+ },
53
+ {
54
+ open: "<",
55
+ close: ">"
56
+ },
57
+ {
58
+ open: "\"",
59
+ close: "\"",
60
+ notIn: ["string"]
61
+ },
62
+ {
63
+ open: "'",
64
+ close: "'",
65
+ notIn: ["string"]
66
+ }
67
+ ],
68
+ autoCloseBefore: ".,=}])>' \n ",
69
+ indentationRules: {
70
+ increaseIndentPattern: /* @__PURE__ */ new RegExp("^((?!\\/\\/).)*(\\{[^}\"'`]*|\\([^)\"'`]*|\\[[^\\]\"'`]*)$"),
71
+ decreaseIndentPattern: /* @__PURE__ */ new RegExp("^((?!.*?\\/\\*).*\\*/)?\\s*[\\}\\]].*$")
72
+ }
73
+ };
74
+ var language = {
75
+ defaultToken: "",
76
+ tokenPostfix: ".proto",
77
+ brackets: [
78
+ {
79
+ open: "{",
80
+ close: "}",
81
+ token: "delimiter.curly"
82
+ },
83
+ {
84
+ open: "[",
85
+ close: "]",
86
+ token: "delimiter.square"
87
+ },
88
+ {
89
+ open: "(",
90
+ close: ")",
91
+ token: "delimiter.parenthesis"
92
+ },
93
+ {
94
+ open: "<",
95
+ close: ">",
96
+ token: "delimiter.angle"
97
+ }
98
+ ],
99
+ symbols: /[=><!~?:&|+\-*/^%]+/,
100
+ keywords: [
101
+ "syntax",
102
+ "import",
103
+ "weak",
104
+ "public",
105
+ "package",
106
+ "option",
107
+ "repeated",
108
+ "oneof",
109
+ "map",
110
+ "reserved",
111
+ "to",
112
+ "max",
113
+ "enum",
114
+ "message",
115
+ "service",
116
+ "rpc",
117
+ "stream",
118
+ "returns",
119
+ "package",
120
+ "optional",
121
+ "true",
122
+ "false"
123
+ ],
124
+ builtinTypes: [
125
+ "double",
126
+ "float",
127
+ "int32",
128
+ "int64",
129
+ "uint32",
130
+ "uint64",
131
+ "sint32",
132
+ "sint64",
133
+ "fixed32",
134
+ "fixed64",
135
+ "sfixed32",
136
+ "sfixed64",
137
+ "bool",
138
+ "string",
139
+ "bytes"
140
+ ],
141
+ operators: [
142
+ "=",
143
+ "+",
144
+ "-"
145
+ ],
146
+ namedLiterals,
147
+ escapes: `\\\\(u{[0-9A-Fa-f]+}|n|r|t|\\\\|'|\\\${)`,
148
+ identifier: /[a-zA-Z]\w*/,
149
+ fullIdentifier: /@identifier(?:\s*\.\s*@identifier)*/,
150
+ optionName: /(?:@identifier|\(\s*@fullIdentifier\s*\))(?:\s*\.\s*@identifier)*/,
151
+ messageName: /@identifier/,
152
+ enumName: /@identifier/,
153
+ messageType: /\.?\s*(?:@identifier\s*\.\s*)*@messageName/,
154
+ enumType: /\.?\s*(?:@identifier\s*\.\s*)*@enumName/,
155
+ floatLit: /[0-9]+\s*\.\s*[0-9]*(?:@exponent)?|[0-9]+@exponent|\.[0-9]+(?:@exponent)?/,
156
+ exponent: /[eE]\s*[+-]?\s*[0-9]+/,
157
+ boolLit: /true\b|false\b/,
158
+ decimalLit: /[1-9][0-9]*/,
159
+ octalLit: /0[0-7]*/,
160
+ hexLit: /0[xX][0-9a-fA-F]+/,
161
+ type: /double|float|int32|int64|uint32|uint64|sint32|sint64|fixed32|fixed64|sfixed32|sfixed64|bool|string|bytes|@messageType|@enumType/,
162
+ keyType: /int32|int64|uint32|uint64|sint32|sint64|fixed32|fixed64|sfixed32|sfixed64|bool|string/,
163
+ tokenizer: {
164
+ root: [
165
+ { include: "@whitespace" },
166
+ [/syntax/, "keyword"],
167
+ [/=/, "operators"],
168
+ [/;/, "delimiter"],
169
+ [/(")(proto3)(")/, [
170
+ "string.quote",
171
+ "string",
172
+ {
173
+ token: "string.quote",
174
+ switchTo: "@topLevel.proto3"
175
+ }
176
+ ]],
177
+ [/(")(proto2)(")/, [
178
+ "string.quote",
179
+ "string",
180
+ {
181
+ token: "string.quote",
182
+ switchTo: "@topLevel.proto2"
183
+ }
184
+ ]],
185
+ [/.*?/, {
186
+ token: "",
187
+ switchTo: "@topLevel.proto2"
188
+ }]
189
+ ],
190
+ topLevel: [
191
+ { include: "@whitespace" },
192
+ { include: "@constant" },
193
+ [/=/, "operators"],
194
+ [/[;.]/, "delimiter"],
195
+ [/@fullIdentifier/, { cases: {
196
+ option: {
197
+ token: "keyword",
198
+ next: "@option.$S2"
199
+ },
200
+ enum: {
201
+ token: "keyword",
202
+ next: "@enumDecl.$S2"
203
+ },
204
+ message: {
205
+ token: "keyword",
206
+ next: "@messageDecl.$S2"
207
+ },
208
+ service: {
209
+ token: "keyword",
210
+ next: "@serviceDecl.$S2"
211
+ },
212
+ extend: { cases: { "$S2==proto2": {
213
+ token: "keyword",
214
+ next: "@extendDecl.$S2"
215
+ } } },
216
+ "@keywords": "keyword",
217
+ "@default": "identifier"
218
+ } }]
219
+ ],
220
+ enumDecl: [
221
+ { include: "@whitespace" },
222
+ [/@identifier/, "type.identifier"],
223
+ [/{/, {
224
+ token: "@brackets",
225
+ bracket: "@open",
226
+ switchTo: "@enumBody.$S2"
227
+ }]
228
+ ],
229
+ enumBody: [
230
+ { include: "@whitespace" },
231
+ { include: "@constant" },
232
+ [/=/, "operators"],
233
+ [/;/, "delimiter"],
234
+ [
235
+ /option\b/,
236
+ "keyword",
237
+ "@option.$S2"
238
+ ],
239
+ [/@identifier/, "identifier"],
240
+ [/\[/, {
241
+ token: "@brackets",
242
+ bracket: "@open",
243
+ next: "@options.$S2"
244
+ }],
245
+ [/}/, {
246
+ token: "@brackets",
247
+ bracket: "@close",
248
+ next: "@pop"
249
+ }]
250
+ ],
251
+ messageDecl: [
252
+ { include: "@whitespace" },
253
+ [/@identifier/, "type.identifier"],
254
+ [/{/, {
255
+ token: "@brackets",
256
+ bracket: "@open",
257
+ switchTo: "@messageBody.$S2"
258
+ }]
259
+ ],
260
+ messageBody: [
261
+ { include: "@whitespace" },
262
+ { include: "@constant" },
263
+ [/=/, "operators"],
264
+ [/;/, "delimiter"],
265
+ ["(map)(s*)(<)", [
266
+ "keyword",
267
+ "white",
268
+ {
269
+ token: "@brackets",
270
+ bracket: "@open",
271
+ next: "@map.$S2"
272
+ }
273
+ ]],
274
+ [/@identifier/, { cases: {
275
+ option: {
276
+ token: "keyword",
277
+ next: "@option.$S2"
278
+ },
279
+ enum: {
280
+ token: "keyword",
281
+ next: "@enumDecl.$S2"
282
+ },
283
+ message: {
284
+ token: "keyword",
285
+ next: "@messageDecl.$S2"
286
+ },
287
+ oneof: {
288
+ token: "keyword",
289
+ next: "@oneofDecl.$S2"
290
+ },
291
+ extensions: { cases: { "$S2==proto2": {
292
+ token: "keyword",
293
+ next: "@reserved.$S2"
294
+ } } },
295
+ reserved: {
296
+ token: "keyword",
297
+ next: "@reserved.$S2"
298
+ },
299
+ "(?:repeated|optional)": {
300
+ token: "keyword",
301
+ next: "@field.$S2"
302
+ },
303
+ required: { cases: { "$S2==proto2": {
304
+ token: "keyword",
305
+ next: "@field.$S2"
306
+ } } },
307
+ "$S2==proto3": {
308
+ token: "@rematch",
309
+ next: "@field.$S2"
310
+ }
311
+ } }],
312
+ [/\[/, {
313
+ token: "@brackets",
314
+ bracket: "@open",
315
+ next: "@options.$S2"
316
+ }],
317
+ [/}/, {
318
+ token: "@brackets",
319
+ bracket: "@close",
320
+ next: "@pop"
321
+ }]
322
+ ],
323
+ extendDecl: [
324
+ { include: "@whitespace" },
325
+ [/@identifier/, "type.identifier"],
326
+ [/{/, {
327
+ token: "@brackets",
328
+ bracket: "@open",
329
+ switchTo: "@extendBody.$S2"
330
+ }]
331
+ ],
332
+ extendBody: [
333
+ { include: "@whitespace" },
334
+ { include: "@constant" },
335
+ [/;/, "delimiter"],
336
+ [
337
+ /(?:repeated|optional|required)/,
338
+ "keyword",
339
+ "@field.$S2"
340
+ ],
341
+ [/\[/, {
342
+ token: "@brackets",
343
+ bracket: "@open",
344
+ next: "@options.$S2"
345
+ }],
346
+ [/}/, {
347
+ token: "@brackets",
348
+ bracket: "@close",
349
+ next: "@pop"
350
+ }]
351
+ ],
352
+ options: [
353
+ { include: "@whitespace" },
354
+ { include: "@constant" },
355
+ [/;/, "delimiter"],
356
+ [/@optionName/, "annotation"],
357
+ [/[()]/, "annotation.brackets"],
358
+ [/=/, "operator"],
359
+ [/\]/, {
360
+ token: "@brackets",
361
+ bracket: "@close",
362
+ next: "@pop"
363
+ }]
364
+ ],
365
+ option: [
366
+ { include: "@whitespace" },
367
+ [/@optionName/, "annotation"],
368
+ [/[()]/, "annotation.brackets"],
369
+ [
370
+ /=/,
371
+ "operator",
372
+ "@pop"
373
+ ]
374
+ ],
375
+ oneofDecl: [
376
+ { include: "@whitespace" },
377
+ [/@identifier/, "identifier"],
378
+ [/{/, {
379
+ token: "@brackets",
380
+ bracket: "@open",
381
+ switchTo: "@oneofBody.$S2"
382
+ }]
383
+ ],
384
+ oneofBody: [
385
+ { include: "@whitespace" },
386
+ { include: "@constant" },
387
+ [/;/, "delimiter"],
388
+ [/(@identifier)(\s*)(=)/, [
389
+ "identifier",
390
+ "white",
391
+ "delimiter"
392
+ ]],
393
+ [/@fullIdentifier|\./, { cases: {
394
+ "@builtinTypes": "keyword",
395
+ "@default": "type.identifier"
396
+ } }],
397
+ [/\[/, {
398
+ token: "@brackets",
399
+ bracket: "@open",
400
+ next: "@options.$S2"
401
+ }],
402
+ [/}/, {
403
+ token: "@brackets",
404
+ bracket: "@close",
405
+ next: "@pop"
406
+ }]
407
+ ],
408
+ reserved: [
409
+ { include: "@whitespace" },
410
+ [/,/, "delimiter"],
411
+ [
412
+ /;/,
413
+ "delimiter",
414
+ "@pop"
415
+ ],
416
+ { include: "@constant" },
417
+ [/to\b|max\b/, "keyword"]
418
+ ],
419
+ map: [
420
+ { include: "@whitespace" },
421
+ [/@fullIdentifier|\./, { cases: {
422
+ "@builtinTypes": "keyword",
423
+ "@default": "type.identifier"
424
+ } }],
425
+ [/,/, "delimiter"],
426
+ [/>/, {
427
+ token: "@brackets",
428
+ bracket: "@close",
429
+ switchTo: "identifier"
430
+ }]
431
+ ],
432
+ field: [
433
+ { include: "@whitespace" },
434
+ ["group", { cases: { "$S2==proto2": {
435
+ token: "keyword",
436
+ switchTo: "@groupDecl.$S2"
437
+ } } }],
438
+ [/(@identifier)(\s*)(=)/, [
439
+ "identifier",
440
+ "white",
441
+ {
442
+ token: "delimiter",
443
+ next: "@pop"
444
+ }
445
+ ]],
446
+ [/@fullIdentifier|\./, { cases: {
447
+ "@builtinTypes": "keyword",
448
+ "@default": "type.identifier"
449
+ } }]
450
+ ],
451
+ groupDecl: [
452
+ { include: "@whitespace" },
453
+ [/@identifier/, "identifier"],
454
+ ["=", "operator"],
455
+ [/{/, {
456
+ token: "@brackets",
457
+ bracket: "@open",
458
+ switchTo: "@messageBody.$S2"
459
+ }],
460
+ { include: "@constant" }
461
+ ],
462
+ type: [
463
+ { include: "@whitespace" },
464
+ [
465
+ /@identifier/,
466
+ "type.identifier",
467
+ "@pop"
468
+ ],
469
+ [/./, "delimiter"]
470
+ ],
471
+ identifier: [{ include: "@whitespace" }, [
472
+ /@identifier/,
473
+ "identifier",
474
+ "@pop"
475
+ ]],
476
+ serviceDecl: [
477
+ { include: "@whitespace" },
478
+ [/@identifier/, "identifier"],
479
+ [/{/, {
480
+ token: "@brackets",
481
+ bracket: "@open",
482
+ switchTo: "@serviceBody.$S2"
483
+ }]
484
+ ],
485
+ serviceBody: [
486
+ { include: "@whitespace" },
487
+ { include: "@constant" },
488
+ [/;/, "delimiter"],
489
+ [
490
+ /option\b/,
491
+ "keyword",
492
+ "@option.$S2"
493
+ ],
494
+ [
495
+ /rpc\b/,
496
+ "keyword",
497
+ "@rpc.$S2"
498
+ ],
499
+ [/\[/, {
500
+ token: "@brackets",
501
+ bracket: "@open",
502
+ next: "@options.$S2"
503
+ }],
504
+ [/}/, {
505
+ token: "@brackets",
506
+ bracket: "@close",
507
+ next: "@pop"
508
+ }]
509
+ ],
510
+ rpc: [
511
+ { include: "@whitespace" },
512
+ [/@identifier/, "identifier"],
513
+ [/\(/, {
514
+ token: "@brackets",
515
+ bracket: "@open",
516
+ switchTo: "@request.$S2"
517
+ }],
518
+ [/{/, {
519
+ token: "@brackets",
520
+ bracket: "@open",
521
+ next: "@methodOptions.$S2"
522
+ }],
523
+ [
524
+ /;/,
525
+ "delimiter",
526
+ "@pop"
527
+ ]
528
+ ],
529
+ request: [
530
+ { include: "@whitespace" },
531
+ [/@messageType/, { cases: {
532
+ stream: {
533
+ token: "keyword",
534
+ next: "@type.$S2"
535
+ },
536
+ "@default": "type.identifier"
537
+ } }],
538
+ [/\)/, {
539
+ token: "@brackets",
540
+ bracket: "@close",
541
+ switchTo: "@returns.$S2"
542
+ }]
543
+ ],
544
+ returns: [
545
+ { include: "@whitespace" },
546
+ [/returns\b/, "keyword"],
547
+ [/\(/, {
548
+ token: "@brackets",
549
+ bracket: "@open",
550
+ switchTo: "@response.$S2"
551
+ }]
552
+ ],
553
+ response: [
554
+ { include: "@whitespace" },
555
+ [/@messageType/, { cases: {
556
+ stream: {
557
+ token: "keyword",
558
+ next: "@type.$S2"
559
+ },
560
+ "@default": "type.identifier"
561
+ } }],
562
+ [/\)/, {
563
+ token: "@brackets",
564
+ bracket: "@close",
565
+ switchTo: "@rpc.$S2"
566
+ }]
567
+ ],
568
+ methodOptions: [
569
+ { include: "@whitespace" },
570
+ { include: "@constant" },
571
+ [/;/, "delimiter"],
572
+ ["option", "keyword"],
573
+ [/@optionName/, "annotation"],
574
+ [/[()]/, "annotation.brackets"],
575
+ [/=/, "operator"],
576
+ [/}/, {
577
+ token: "@brackets",
578
+ bracket: "@close",
579
+ next: "@pop"
580
+ }]
581
+ ],
582
+ comment: [
583
+ [/[^\/*]+/, "comment"],
584
+ [
585
+ /\/\*/,
586
+ "comment",
587
+ "@push"
588
+ ],
589
+ [
590
+ "\\*/",
591
+ "comment",
592
+ "@pop"
593
+ ],
594
+ [/[\/*]/, "comment"]
595
+ ],
596
+ string: [
597
+ [/[^\\"]+/, "string"],
598
+ [/@escapes/, "string.escape"],
599
+ [/\\./, "string.escape.invalid"],
600
+ [/"/, {
601
+ token: "string.quote",
602
+ bracket: "@close",
603
+ next: "@pop"
604
+ }]
605
+ ],
606
+ stringSingle: [
607
+ [/[^\\']+/, "string"],
608
+ [/@escapes/, "string.escape"],
609
+ [/\\./, "string.escape.invalid"],
610
+ [/'/, {
611
+ token: "string.quote",
612
+ bracket: "@close",
613
+ next: "@pop"
614
+ }]
615
+ ],
616
+ constant: [
617
+ ["@boolLit", "keyword.constant"],
618
+ ["@hexLit", "number.hex"],
619
+ ["@octalLit", "number.octal"],
620
+ ["@decimalLit", "number"],
621
+ ["@floatLit", "number.float"],
622
+ [/("([^"\\]|\\.)*|'([^'\\]|\\.)*)$/, "string.invalid"],
623
+ [/"/, {
624
+ token: "string.quote",
625
+ bracket: "@open",
626
+ next: "@string"
627
+ }],
628
+ [/'/, {
629
+ token: "string.quote",
630
+ bracket: "@open",
631
+ next: "@stringSingle"
632
+ }],
633
+ [/{/, {
634
+ token: "@brackets",
635
+ bracket: "@open",
636
+ next: "@prototext"
637
+ }],
638
+ [/identifier/, "identifier"]
639
+ ],
640
+ whitespace: [
641
+ [/[ \t\r\n]+/, "white"],
642
+ [
643
+ /\/\*/,
644
+ "comment",
645
+ "@comment"
646
+ ],
647
+ [/\/\/.*$/, "comment"]
648
+ ],
649
+ prototext: [
650
+ { include: "@whitespace" },
651
+ { include: "@constant" },
652
+ [/@identifier/, "identifier"],
653
+ [/[:;]/, "delimiter"],
654
+ [/}/, {
655
+ token: "@brackets",
656
+ bracket: "@close",
657
+ next: "@pop"
658
+ }]
659
+ ]
660
+ }
661
+ };
662
+ //#endregion
663
+ export { conf, language };