PluginProbe
Code Block Pro – Beautiful Syntax Highlighting / 1.27.2
Code Block Pro – Beautiful Syntax Highlighting v1.27.2
1.27.1 1.27.2 1.27.3 1.27.4 1.27.5 1.27.6 1.27.7 1.28.0 1.3.0 1.4.0 1.5.0 1.5.1 1.5.2 1.6.0 1.7.0 1.8.0 1.9.0 1.9.1 1.9.2 1.9.3 trunk 1.1.0 1.10.0 1.11.0 1.11.1 All 63 releases
code-block-pro / build / shiki / languages / cue.tmLanguage.json

cue.tmLanguage.json in Code Block Pro – Beautiful Syntax Highlighting 1.27.2, at build/shiki/languages/cue.tmLanguage.json

1,127 lines 32.3 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 {
2 "$schema": "https://raw.githubusercontent.com/martinring/tmlanguage/master/tmlanguage.json",
3 "name": "cue",
4 "fileTypes": ["cue"],
5 "scopeName": "source.cue",
6 "patterns": [
7 {
8 "include": "#whitespace"
9 },
10 {
11 "include": "#comment"
12 },
13 {
14 "match": "(?<![\\p{L}\\p{Nd}_\\$\\#])(package)[ \\t]+([\\p{L}\\$\\#][\\p{L}\\p{Nd}_\\$\\#]*)(?![\\p{L}\\p{Nd}_\\$\\#])",
15 "captures": {
16 "1": {
17 "name": "keyword.other.package"
18 },
19 "2": {
20 "name": "entity.name.namespace"
21 }
22 }
23 },
24 {
25 "patterns": [
26 {
27 "begin": "(?<![\\p{L}\\p{Nd}_\\$\\#])(import)[ \\t]+(\\()",
28 "beginCaptures": {
29 "1": {
30 "name": "keyword.other.import"
31 },
32 "2": {
33 "name": "punctuation.section.parens.begin"
34 }
35 },
36 "end": "\\)",
37 "endCaptures": {
38 "0": {
39 "name": "punctuation.section.parens.end"
40 }
41 },
42 "patterns": [
43 {
44 "include": "#whitespace"
45 },
46 {
47 "include": "#comment"
48 },
49 {
50 "match": "(?:([\\p{L}\\$\\#][\\p{L}\\p{Nd}_\\$\\#]*)[ \\t]+)?(\")([^:\"]+)(?:(:)([\\p{L}\\$\\#][\\p{L}\\p{Nd}_\\$\\#]*))?(\")",
51 "captures": {
52 "1": {
53 "name": "entity.name.namespace"
54 },
55 "2": {
56 "name": "punctuation.definition.string.begin"
57 },
58 "3": {
59 "name": "string.quoted.double-import"
60 },
61 "4": {
62 "name": "punctuation.colon"
63 },
64 "5": {
65 "name": "entity.name"
66 },
67 "6": {
68 "name": "punctuation.definition.string.end"
69 }
70 },
71 "name": "meta.import-spec"
72 },
73 {
74 "match": ";",
75 "name": "punctuation.separator"
76 },
77 {
78 "include": "#invalid_in_parens"
79 }
80 ],
81 "name": "meta.imports"
82 },
83 {
84 "match": "(?<![\\p{L}\\p{Nd}_\\$\\#])(import)[ \\t]+(?:([\\p{L}\\$\\#][\\p{L}\\p{Nd}_\\$\\#]*)[ \\t]+)?(\")([^:\"]+)(?:(:)([\\p{L}\\$\\#][\\p{L}\\p{Nd}_\\$\\#]*))?(\")",
85 "captures": {
86 "1": {
87 "name": "keyword.other.import"
88 },
89 "2": {
90 "name": "entity.name.namespace"
91 },
92 "3": {
93 "name": "punctuation.definition.string.begin"
94 },
95 "4": {
96 "name": "string.quoted.double-import"
97 },
98 "5": {
99 "name": "punctuation.colon"
100 },
101 "6": {
102 "name": "entity.name"
103 },
104 "7": {
105 "name": "punctuation.definition.string.end"
106 }
107 },
108 "name": "meta.import"
109 }
110 ]
111 },
112 {
113 "include": "#punctuation_comma"
114 },
115 {
116 "include": "#declaration"
117 },
118 {
119 "include": "#invalid_in_braces"
120 }
121 ],
122 "repository": {
123 "attribute_element": {
124 "patterns": [
125 {
126 "begin": "([\\p{L}\\$\\#][\\p{L}\\p{Nd}_\\$\\#]*|_[\\p{L}\\p{Nd}_\\$\\#]+)(=)",
127 "beginCaptures": {
128 "1": {
129 "name": "variable.other"
130 },
131 "2": {
132 "name": "punctuation.bind"
133 }
134 },
135 "end": "(?=[,\\)])",
136 "patterns": [
137 {
138 "include": "#attribute_string"
139 }
140 ]
141 },
142 {
143 "begin": "([\\p{L}\\$\\#][\\p{L}\\p{Nd}_\\$\\#]*|_[\\p{L}\\p{Nd}_\\$\\#]+)(\\()",
144 "beginCaptures": {
145 "1": {
146 "name": "variable.other"
147 },
148 "2": {
149 "name": "punctuation.attribute-elements.begin"
150 }
151 },
152 "end": "\\)",
153 "endCaptures": {
154 "0": {
155 "name": "punctuation.attribute-elements.end"
156 }
157 },
158 "patterns": [
159 {
160 "include": "#punctuation_comma"
161 },
162 {
163 "include": "#attribute_element"
164 }
165 ]
166 },
167 {
168 "include": "#attribute_string"
169 }
170 ]
171 },
172 "attribute_string": {
173 "patterns": [
174 {
175 "include": "#string"
176 },
177 {
178 "match": "[^\\n,\"'#=\\(\\)]+",
179 "name": "string.unquoted"
180 },
181 {
182 "match": "[^,\\)]+",
183 "name": "invalid"
184 }
185 ]
186 },
187 "comment": {
188 "patterns": [
189 {
190 "match": "(//).*$\\n?",
191 "captures": {
192 "1": {
193 "name": "punctuation.definition.comment"
194 }
195 },
196 "name": "comment.line"
197 },
198 {
199 "captures": {
200 "0": {
201 "name": "punctuation.definition.comment"
202 }
203 },
204 "begin": "/\\*",
205 "end": "\\*/",
206 "name": "comment.block"
207 }
208 ]
209 },
210 "declaration": {
211 "patterns": [
212 {
213 "begin": "(@)([\\p{L}\\$\\#][\\p{L}\\p{Nd}_\\$\\#]*|_[\\p{L}\\p{Nd}_\\$\\#]+)(\\()",
214 "beginCaptures": {
215 "1": {
216 "name": "punctuation.definition.annotation"
217 },
218 "2": {
219 "name": "variable.annotation"
220 },
221 "3": {
222 "name": "punctuation.attribute-elements.begin"
223 }
224 },
225 "end": "\\)",
226 "endCaptures": {
227 "0": {
228 "name": "punctuation.attribute-elements.end"
229 }
230 },
231 "patterns": [
232 {
233 "include": "#punctuation_comma"
234 },
235 {
236 "include": "#attribute_element"
237 }
238 ],
239 "name": "meta.annotation"
240 },
241 {
242 "match": "(?<!:)::(?!:)",
243 "name": "punctuation.isa"
244 },
245 {
246 "include": "#punctuation_colon"
247 },
248 {
249 "match": "\\?",
250 "name": "punctuation.option"
251 },
252 {
253 "match": "(?<![=!><])=(?![=~])",
254 "name": "punctuation.bind"
255 },
256 {
257 "match": "<-",
258 "name": "punctuation.arrow"
259 },
260 {
261 "include": "#expression"
262 }
263 ]
264 },
265 "expression": {
266 "patterns": [
267 {
268 "patterns": [
269 {
270 "match": "(?<![\\p{L}\\p{Nd}_\\$\\#])(for)[ \\t]+([\\p{L}\\$\\#][\\p{L}\\p{Nd}_\\$\\#]*|_[\\p{L}\\p{Nd}_\\$\\#]+)(?:[ \\t]*(,)[ \\t]*([\\p{L}\\$\\#][\\p{L}\\p{Nd}_\\$\\#]*|_[\\p{L}\\p{Nd}_\\$\\#]+))?[ \\t]+(in)(?![\\p{L}\\p{Nd}_\\$\\#])",
271 "captures": {
272 "1": {
273 "name": "keyword.control.for"
274 },
275 "2": {
276 "name": "variable.other"
277 },
278 "3": {
279 "name": "punctuation.separator"
280 },
281 "4": {
282 "name": "variable.other"
283 },
284 "5": {
285 "name": "keyword.control.in"
286 }
287 }
288 },
289 {
290 "match": "(?<![\\p{L}\\p{Nd}_\\$\\#])if(?![\\p{L}\\p{Nd}_\\$\\#])",
291 "name": "keyword.control.conditional"
292 },
293 {
294 "match": "(?<![\\p{L}\\p{Nd}_\\$\\#])(let)[ \\t]+([\\p{L}\\$\\#][\\p{L}\\p{Nd}_\\$\\#]*|_[\\p{L}\\p{Nd}_\\$\\#]+)[ \\t]*(=)(?![=])",
295 "captures": {
296 "1": {
297 "name": "keyword.control.let"
298 },
299 "2": {
300 "name": "variable.other"
301 },
302 "3": {
303 "name": "punctuation.bind"
304 }
305 }
306 }
307 ]
308 },
309 {
310 "patterns": [
311 {
312 "match": "[\\+\\-\\*]|/(?![/*])",
313 "name": "keyword.operator"
314 },
315 {
316 "match": "(?<![\\p{L}\\p{Nd}_\\$\\#])(?:div|mod|quo|rem)(?![\\p{L}\\p{Nd}_\\$\\#])",
317 "name": "keyword.operator.word"
318 },
319 {
320 "match": "=[=~]|![=~]|<=|>=|[<](?![-=])|[>](?![=])",
321 "name": "keyword.operator.comparison"
322 },
323 {
324 "match": "&{2}|\\|{2}|!(?![=~])",
325 "name": "keyword.operator.logical"
326 },
327 {
328 "match": "&(?!&)|\\|(?!\\|)",
329 "name": "keyword.operator.set"
330 }
331 ]
332 },
333 {
334 "match": "(?<!\\.)(\\.)([\\p{L}\\$\\#][\\p{L}\\p{Nd}_\\$\\#]*|_[\\p{L}\\p{Nd}_\\$\\#]+)(?![\\p{L}\\p{Nd}_\\$\\#])",
335 "captures": {
336 "1": {
337 "name": "punctuation.accessor"
338 },
339 "2": {
340 "name": "variable.other.member"
341 }
342 }
343 },
344 {
345 "patterns": [
346 {
347 "match": "(?<![\\p{L}\\p{Nd}_\\$\\#])_(?!\\|)(?![\\p{L}\\p{Nd}_\\$\\#])",
348 "name": "constant.language.top"
349 },
350 {
351 "match": "(?<![\\p{L}\\p{Nd}_\\$\\#])_\\|_(?![\\p{L}\\p{Nd}_\\$\\#])",
352 "name": "constant.language.bottom"
353 },
354 {
355 "match": "(?<![\\p{L}\\p{Nd}_\\$\\#])null(?![\\p{L}\\p{Nd}_\\$\\#])",
356 "name": "constant.language.null"
357 },
358 {
359 "match": "(?<![\\p{L}\\p{Nd}_\\$\\#])(?:true|false)(?![\\p{L}\\p{Nd}_\\$\\#])",
360 "name": "constant.language.bool"
361 },
362 {
363 "patterns": [
364 {
365 "patterns": [
366 {
367 "match": "(?<![\\p{L}\\p{Nd}_\\.])[0-9](?:_?[0-9])*\\.(?:[0-9](?:_?[0-9])*)?(?:[eE][\\+\\-]?[0-9](?:_?[0-9])*)?(?![\\p{L}\\p{Nd}_\\.])",
368 "name": "constant.numeric.float.decimal"
369 },
370 {
371 "match": "(?<![\\p{L}\\p{Nd}_\\.])[0-9](?:_?[0-9])*[eE][\\+\\-]?[0-9](?:_?[0-9])*(?![\\p{L}\\p{Nd}_\\.])",
372 "name": "constant.numeric.float.decimal"
373 },
374 {
375 "match": "(?<![\\p{L}\\p{Nd}_\\.])\\.[0-9](?:_?[0-9])*(?:[eE][\\+\\-]?[0-9](?:_?[0-9])*)?(?![\\p{L}\\p{Nd}_\\.])",
376 "name": "constant.numeric.float.decimal"
377 }
378 ]
379 },
380 {
381 "patterns": [
382 {
383 "patterns": [
384 {
385 "match": "(?<![\\p{L}\\p{Nd}_\\.])(?:0|[1-9](?:_?[0-9])*)(?:\\.[0-9](?:_?[0-9])*)?(?:[KMGTPEYZ]i?)(?![\\p{L}\\p{Nd}_\\.])",
386 "name": "constant.numeric.integer.other"
387 },
388 {
389 "match": "(?<![\\p{L}\\p{Nd}_\\.])\\.[0-9](?:_?[0-9])*(?:[KMGTPEYZ]i?)(?![\\p{L}\\p{Nd}_\\.])",
390 "name": "constant.numeric.integer.other"
391 }
392 ]
393 },
394 {
395 "match": "(?<![\\p{L}\\p{Nd}_\\.])(?:0|[1-9](?:_?[0-9])*)(?![\\p{L}\\p{Nd}_\\.])",
396 "name": "constant.numeric.integer.decimal"
397 },
398 {
399 "match": "(?<![\\p{L}\\p{Nd}_\\.])0b[0-1](?:_?[0-1])*(?![\\p{L}\\p{Nd}_\\.])",
400 "name": "constant.numeric.integer.binary"
401 },
402 {
403 "match": "(?<![\\p{L}\\p{Nd}_\\.])0[xX][0-9a-fA-F](?:_?[0-9a-fA-F])*(?![\\p{L}\\p{Nd}_\\.])",
404 "name": "constant.numeric.integer.hexadecimal"
405 },
406 {
407 "match": "(?<![\\p{L}\\p{Nd}_\\.])0o?[0-7](?:_?[0-7])*(?![\\p{L}\\p{Nd}_\\.])",
408 "name": "constant.numeric.integer.octal"
409 }
410 ]
411 }
412 ]
413 },
414 {
415 "include": "#string"
416 },
417 {
418 "match": "(?<![\\p{L}\\p{Nd}_\\$\\#])(?:bool|u?int(?:8|16|32|64|128)?|float(?:32|64)?|string|bytes|number|rune)(?![\\p{L}\\p{Nd}_\\$\\#])",
419 "name": "support.type"
420 },
421 {
422 "patterns": [
423 {
424 "begin": "(?<![\\p{L}\\p{Nd}_\\$\\#])(len|close|and|or)(\\()",
425 "beginCaptures": {
426 "1": {
427 "name": "support.function"
428 },
429 "2": {
430 "name": "punctuation.section.parens.begin"
431 }
432 },
433 "end": "\\)",
434 "endCaptures": {
435 "0": {
436 "name": "punctuation.section.parens.end"
437 }
438 },
439 "patterns": [
440 {
441 "include": "#whitespace"
442 },
443 {
444 "include": "#comment"
445 },
446 {
447 "include": "#punctuation_comma"
448 },
449 {
450 "include": "#expression"
451 },
452 {
453 "include": "#invalid_in_parens"
454 }
455 ],
456 "name": "meta.function-call"
457 },
458 {
459 "begin": "(?<![\\p{L}\\p{Nd}_\\$\\#])([\\p{L}\\$\\#][\\p{L}\\p{Nd}_\\$\\#]*)(\\.)(\\p{Lu}[\\p{L}\\p{Nd}_\\$\\#]*)(\\()",
460 "beginCaptures": {
461 "1": {
462 "name": "support.module"
463 },
464 "2": {
465 "name": "punctuation"
466 },
467 "3": {
468 "name": "support.function"
469 },
470 "4": {
471 "name": "punctuation.section.parens.begin"
472 }
473 },
474 "end": "\\)",
475 "endCaptures": {
476 "0": {
477 "name": "punctuation.section.parens.end"
478 }
479 },
480 "patterns": [
481 {
482 "include": "#whitespace"
483 },
484 {
485 "include": "#comment"
486 },
487 {
488 "include": "#punctuation_comma"
489 },
490 {
491 "include": "#expression"
492 },
493 {
494 "include": "#invalid_in_parens"
495 }
496 ],
497 "name": "meta.function-call"
498 }
499 ]
500 },
501 {
502 "match": "(?<![\\p{L}\\p{Nd}_\\$\\#])(?:[\\p{L}\\$\\#][\\p{L}\\p{Nd}_\\$\\#]*|_[\\p{L}\\p{Nd}_\\$\\#]+)(?![\\p{L}\\p{Nd}_\\$\\#])",
503 "name": "variable.other"
504 },
505 {
506 "begin": "\\{",
507 "beginCaptures": {
508 "0": {
509 "name": "punctuation.definition.struct.begin"
510 }
511 },
512 "end": "\\}",
513 "endCaptures": {
514 "0": {
515 "name": "punctuation.definition.struct.end"
516 }
517 },
518 "patterns": [
519 {
520 "include": "#whitespace"
521 },
522 {
523 "include": "#comment"
524 },
525 {
526 "include": "#punctuation_comma"
527 },
528 {
529 "include": "#punctuation_ellipsis"
530 },
531 {
532 "include": "#declaration"
533 },
534 {
535 "include": "#invalid_in_braces"
536 }
537 ],
538 "name": "meta.struct"
539 },
540 {
541 "begin": "\\[",
542 "beginCaptures": {
543 "0": {
544 "name": "punctuation.section.brackets.begin"
545 }
546 },
547 "end": "\\]",
548 "endCaptures": {
549 "0": {
550 "name": "punctuation.section.brackets.end"
551 }
552 },
553 "patterns": [
554 {
555 "include": "#whitespace"
556 },
557 {
558 "include": "#comment"
559 },
560 {
561 "include": "#punctuation_colon"
562 },
563 {
564 "include": "#punctuation_comma"
565 },
566 {
567 "include": "#punctuation_ellipsis"
568 },
569 {
570 "match": "([\\p{L}\\$\\#][\\p{L}\\p{Nd}_\\$\\#]*|_[\\p{L}\\p{Nd}_\\$\\#]+)[ \\t]*(=)",
571 "captures": {
572 "1": {
573 "name": "variable.other"
574 },
575 "2": {
576 "name": "punctuation.alias"
577 }
578 }
579 },
580 {
581 "include": "#expression"
582 },
583 {
584 "match": "[^\\]]+",
585 "name": "invalid"
586 }
587 ],
588 "name": "meta.brackets"
589 },
590 {
591 "begin": "\\(",
592 "beginCaptures": {
593 "0": {
594 "name": "punctuation.section.parens.begin"
595 }
596 },
597 "end": "\\)",
598 "endCaptures": {
599 "0": {
600 "name": "punctuation.section.parens.end"
601 }
602 },
603 "patterns": [
604 {
605 "include": "#whitespace"
606 },
607 {
608 "include": "#comment"
609 },
610 {
611 "include": "#punctuation_comma"
612 },
613 {
614 "include": "#expression"
615 },
616 {
617 "include": "#invalid_in_parens"
618 }
619 ],
620 "name": "meta.parens"
621 }
622 ]
623 }
624 ]
625 },
626 "invalid_in_braces": {
627 "match": "[^\\}]+",
628 "name": "invalid"
629 },
630 "invalid_in_parens": {
631 "match": "[^\\)]+",
632 "name": "invalid"
633 },
634 "punctuation_colon": {
635 "match": "(?<!:):(?!:)",
636 "name": "punctuation.colon"
637 },
638 "punctuation_comma": {
639 "match": ",",
640 "name": "punctuation.separator"
641 },
642 "punctuation_ellipsis": {
643 "match": "(?<!\\.)\\.{3}(?!\\.)",
644 "name": "punctuation.ellipsis"
645 },
646 "string": {
647 "patterns": [
648 {
649 "begin": "#\"\"\"",
650 "beginCaptures": {
651 "0": {
652 "name": "punctuation.definition.string.begin"
653 }
654 },
655 "end": "\"\"\"#",
656 "endCaptures": {
657 "0": {
658 "name": "punctuation.definition.string.end"
659 }
660 },
661 "contentName": "string.quoted.double-multiline",
662 "patterns": [
663 {
664 "match": "\\\\#(?:\"\"\"|/|\\\\|[abfnrtv]|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})",
665 "name": "constant.character.escape"
666 },
667 {
668 "match": "\\\\#(?:[0-7]{3}|x[0-9A-Fa-f]{2})",
669 "name": "invalid.illegal"
670 },
671 {
672 "begin": "\\\\#\\(",
673 "beginCaptures": {
674 "0": {
675 "name": "punctuation.section.interpolation.begin"
676 }
677 },
678 "end": "\\)",
679 "endCaptures": {
680 "0": {
681 "name": "punctuation.section.interpolation.end"
682 }
683 },
684 "contentName": "source.cue.embedded",
685 "patterns": [
686 {
687 "include": "#whitespace"
688 },
689 {
690 "include": "#expression"
691 },
692 {
693 "include": "#invalid_in_parens"
694 }
695 ],
696 "name": "meta.interpolation"
697 },
698 {
699 "match": "\\\\#.",
700 "name": "invalid.illegal"
701 }
702 ],
703 "name": "meta.string"
704 },
705 {
706 "begin": "#\"",
707 "beginCaptures": {
708 "0": {
709 "name": "punctuation.definition.string.begin"
710 }
711 },
712 "end": "\"#",
713 "endCaptures": {
714 "0": {
715 "name": "punctuation.definition.string.end"
716 }
717 },
718 "contentName": "string.quoted.double",
719 "patterns": [
720 {
721 "match": "\\\\#(?:\"|/|\\\\|[abfnrtv]|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})",
722 "name": "constant.character.escape"
723 },
724 {
725 "match": "\\\\#(?:[0-7]{3}|x[0-9A-Fa-f]{2})",
726 "name": "invalid.illegal"
727 },
728 {
729 "begin": "\\\\#\\(",
730 "beginCaptures": {
731 "0": {
732 "name": "punctuation.section.interpolation.begin"
733 }
734 },
735 "end": "\\)",
736 "endCaptures": {
737 "0": {
738 "name": "punctuation.section.interpolation.end"
739 }
740 },
741 "contentName": "source.cue.embedded",
742 "patterns": [
743 {
744 "include": "#whitespace"
745 },
746 {
747 "include": "#expression"
748 },
749 {
750 "include": "#invalid_in_parens"
751 }
752 ],
753 "name": "meta.interpolation"
754 },
755 {
756 "match": "\\\\#.",
757 "name": "invalid.illegal"
758 }
759 ],
760 "name": "meta.string"
761 },
762 {
763 "begin": "#'''",
764 "beginCaptures": {
765 "0": {
766 "name": "punctuation.definition.string.begin"
767 }
768 },
769 "end": "'''#",
770 "endCaptures": {
771 "0": {
772 "name": "punctuation.definition.string.end"
773 }
774 },
775 "contentName": "string.quoted.single-multiline",
776 "patterns": [
777 {
778 "match": "\\\\#(?:'''|/|\\\\|[abfnrtv]|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})",
779 "name": "constant.character.escape"
780 },
781 {
782 "match": "\\\\#(?:[0-7]{3}|x[0-9A-Fa-f]{2})",
783 "name": "constant.character.escape"
784 },
785 {
786 "begin": "\\\\#\\(",
787 "beginCaptures": {
788 "0": {
789 "name": "punctuation.section.interpolation.begin"
790 }
791 },
792 "end": "\\)",
793 "endCaptures": {
794 "0": {
795 "name": "punctuation.section.interpolation.end"
796 }
797 },
798 "contentName": "source.cue.embedded",
799 "patterns": [
800 {
801 "include": "#whitespace"
802 },
803 {
804 "include": "#expression"
805 },
806 {
807 "include": "#invalid_in_parens"
808 }
809 ],
810 "name": "meta.interpolation"
811 },
812 {
813 "match": "\\\\#.",
814 "name": "invalid.illegal"
815 }
816 ],
817 "name": "meta.string"
818 },
819 {
820 "begin": "#'",
821 "beginCaptures": {
822 "0": {
823 "name": "punctuation.definition.string.begin"
824 }
825 },
826 "end": "'#",
827 "endCaptures": {
828 "0": {
829 "name": "punctuation.definition.string.end"
830 }
831 },
832 "contentName": "string.quoted.single",
833 "patterns": [
834 {
835 "match": "\\\\#(?:'|/|\\\\|[abfnrtv]|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})",
836 "name": "constant.character.escape"
837 },
838 {
839 "match": "\\\\#(?:[0-7]{3}|x[0-9A-Fa-f]{2})",
840 "name": "constant.character.escape"
841 },
842 {
843 "begin": "\\\\#\\(",
844 "beginCaptures": {
845 "0": {
846 "name": "punctuation.section.interpolation.begin"
847 }
848 },
849 "end": "\\)",
850 "endCaptures": {
851 "0": {
852 "name": "punctuation.section.interpolation.end"
853 }
854 },
855 "contentName": "source.cue.embedded",
856 "patterns": [
857 {
858 "include": "#whitespace"
859 },
860 {
861 "include": "#expression"
862 },
863 {
864 "include": "#invalid_in_parens"
865 }
866 ],
867 "name": "meta.interpolation"
868 },
869 {
870 "match": "\\\\#.",
871 "name": "invalid.illegal"
872 }
873 ],
874 "name": "meta.string"
875 },
876 {
877 "begin": "\"\"\"",
878 "beginCaptures": {
879 "0": {
880 "name": "punctuation.definition.string.begin"
881 }
882 },
883 "end": "\"\"\"",
884 "endCaptures": {
885 "0": {
886 "name": "punctuation.definition.string.end"
887 }
888 },
889 "contentName": "string.quoted.double-multiline",
890 "patterns": [
891 {
892 "match": "\\\\(?:\"\"\"|/|\\\\|[abfnrtv]|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})",
893 "name": "constant.character.escape"
894 },
895 {
896 "match": "\\\\(?:[0-7]{3}|x[0-9A-Fa-f]{2})",
897 "name": "invalid.illegal"
898 },
899 {
900 "begin": "\\\\\\(",
901 "beginCaptures": {
902 "0": {
903 "name": "punctuation.section.interpolation.begin"
904 }
905 },
906 "end": "\\)",
907 "endCaptures": {
908 "0": {
909 "name": "punctuation.section.interpolation.end"
910 }
911 },
912 "contentName": "source.cue.embedded",
913 "patterns": [
914 {
915 "include": "#whitespace"
916 },
917 {
918 "include": "#expression"
919 },
920 {
921 "include": "#invalid_in_parens"
922 }
923 ],
924 "name": "meta.interpolation"
925 },
926 {
927 "match": "\\\\.",
928 "name": "invalid.illegal"
929 }
930 ],
931 "name": "meta.string"
932 },
933 {
934 "begin": "\"",
935 "beginCaptures": {
936 "0": {
937 "name": "punctuation.definition.string.begin"
938 }
939 },
940 "end": "\"",
941 "endCaptures": {
942 "0": {
943 "name": "punctuation.definition.string.end"
944 }
945 },
946 "contentName": "string.quoted.double",
947 "patterns": [
948 {
949 "match": "\\\\(?:\"|/|\\\\|[abfnrtv]|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})",
950 "name": "constant.character.escape"
951 },
952 {
953 "match": "\\\\(?:[0-7]{3}|x[0-9A-Fa-f]{2})",
954 "name": "invalid.illegal"
955 },
956 {
957 "begin": "\\\\\\(",
958 "beginCaptures": {
959 "0": {
960 "name": "punctuation.section.interpolation.begin"
961 }
962 },
963 "end": "\\)",
964 "endCaptures": {
965 "0": {
966 "name": "punctuation.section.interpolation.end"
967 }
968 },
969 "contentName": "source.cue.embedded",
970 "patterns": [
971 {
972 "include": "#whitespace"
973 },
974 {
975 "include": "#expression"
976 },
977 {
978 "include": "#invalid_in_parens"
979 }
980 ],
981 "name": "meta.interpolation"
982 },
983 {
984 "match": "\\\\.",
985 "name": "invalid.illegal"
986 }
987 ],
988 "name": "meta.string"
989 },
990 {
991 "begin": "'''",
992 "beginCaptures": {
993 "0": {
994 "name": "punctuation.definition.string.begin"
995 }
996 },
997 "end": "'''",
998 "endCaptures": {
999 "0": {
1000 "name": "punctuation.definition.string.end"
1001 }
1002 },
1003 "contentName": "string.quoted.single-multiline",
1004 "patterns": [
1005 {
1006 "match": "\\\\(?:'''|/|\\\\|[abfnrtv]|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})",
1007 "name": "constant.character.escape"
1008 },
1009 {
1010 "match": "\\\\(?:[0-7]{3}|x[0-9A-Fa-f]{2})",
1011 "name": "constant.character.escape"
1012 },
1013 {
1014 "begin": "\\\\\\(",
1015 "beginCaptures": {
1016 "0": {
1017 "name": "punctuation.section.interpolation.begin"
1018 }
1019 },
1020 "end": "\\)",
1021 "endCaptures": {
1022 "0": {
1023 "name": "punctuation.section.interpolation.end"
1024 }
1025 },
1026 "contentName": "source.cue.embedded",
1027 "patterns": [
1028 {
1029 "include": "#whitespace"
1030 },
1031 {
1032 "include": "#expression"
1033 },
1034 {
1035 "include": "#invalid_in_parens"
1036 }
1037 ],
1038 "name": "meta.interpolation"
1039 },
1040 {
1041 "match": "\\\\.",
1042 "name": "invalid.illegal"
1043 }
1044 ],
1045 "name": "meta.string"
1046 },
1047 {
1048 "begin": "'",
1049 "beginCaptures": {
1050 "0": {
1051 "name": "punctuation.definition.string.begin"
1052 }
1053 },
1054 "end": "'",
1055 "endCaptures": {
1056 "0": {
1057 "name": "punctuation.definition.string.end"
1058 }
1059 },
1060 "contentName": "string.quoted.single",
1061 "patterns": [
1062 {
1063 "match": "\\\\(?:'|/|\\\\|[abfnrtv]|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})",
1064 "name": "constant.character.escape"
1065 },
1066 {
1067 "match": "\\\\(?:[0-7]{3}|x[0-9A-Fa-f]{2})",
1068 "name": "constant.character.escape"
1069 },
1070 {
1071 "begin": "\\\\\\(",
1072 "beginCaptures": {
1073 "0": {
1074 "name": "punctuation.section.interpolation.begin"
1075 }
1076 },
1077 "end": "\\)",
1078 "endCaptures": {
1079 "0": {
1080 "name": "punctuation.section.interpolation.end"
1081 }
1082 },
1083 "contentName": "source.cue.embedded",
1084 "patterns": [
1085 {
1086 "include": "#whitespace"
1087 },
1088 {
1089 "include": "#expression"
1090 },
1091 {
1092 "include": "#invalid_in_parens"
1093 }
1094 ],
1095 "name": "meta.interpolation"
1096 },
1097 {
1098 "match": "\\\\.",
1099 "name": "invalid.illegal"
1100 }
1101 ],
1102 "name": "meta.string"
1103 },
1104 {
1105 "begin": "`",
1106 "beginCaptures": {
1107 "0": {
1108 "name": "punctuation.definition.string.begin"
1109 }
1110 },
1111 "end": "`",
1112 "endCaptures": {
1113 "0": {
1114 "name": "punctuation.definition.string.end"
1115 }
1116 },
1117 "contentName": "string.quoted.backtick",
1118 "name": "meta.string"
1119 }
1120 ]
1121 },
1122 "whitespace": {
1123 "match": "[ \\t\\r\\n]+"
1124 }
1125 }
1126 }
1127