PluginProbe
Code Block Pro – Beautiful Syntax Highlighting / 1.9.1
Code Block Pro – Beautiful Syntax Highlighting v1.9.1
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 / liquid.tmLanguage.json

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

930 lines 22.6 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 {
2 "name": "liquid",
3 "scopeName": "text.html.liquid",
4 "fileTypes": ["liquid"],
5 "foldingStartMarker": "(?x)\n{%\n -?\n \\s*\n (capture|case|comment|for|form|if|javascript|paginate|schema|style)\n [^(%})]+\n%}\n",
6 "foldingStopMarker": "(?x)\n{%\n \\s*\n (endcapture|endcase|endcomment|endfor|endform|endif|endjavascript|endpaginate|endschema|endstyle)\n [^(%})]+\n%}\n",
7 "injections": {
8 "L:meta.embedded.block.js, L:meta.embedded.block.css, L:meta.embedded.block.html, L:string.quoted": {
9 "patterns": [
10 {
11 "include": "#injection"
12 }
13 ]
14 }
15 },
16 "patterns": [
17 {
18 "include": "#core"
19 }
20 ],
21 "repository": {
22 "core": {
23 "patterns": [
24 {
25 "include": "#raw_tag"
26 },
27 {
28 "include": "#comment_block"
29 },
30 {
31 "include": "#comment_inline"
32 },
33 {
34 "include": "#style_codefence"
35 },
36 {
37 "include": "#json_codefence"
38 },
39 {
40 "include": "#javascript_codefence"
41 },
42 {
43 "include": "#object"
44 },
45 {
46 "include": "#tag"
47 },
48 {
49 "include": "text.html.basic"
50 }
51 ]
52 },
53 "injection": {
54 "patterns": [
55 {
56 "include": "#raw_tag"
57 },
58 {
59 "include": "#comment_block"
60 },
61 {
62 "include": "#comment_inline"
63 },
64 {
65 "include": "#object"
66 },
67 {
68 "include": "#tag_injection"
69 }
70 ]
71 },
72 "raw_tag": {
73 "begin": "{%-?\\s*(raw)\\s*-?%}",
74 "end": "{%-?\\s*(endraw)\\s*-?%}",
75 "beginCaptures": {
76 "1": {
77 "name": "entity.name.tag.liquid"
78 }
79 },
80 "endCaptures": {
81 "1": {
82 "name": "entity.name.tag.liquid"
83 }
84 },
85 "name": "meta.entity.tag.raw.liquid",
86 "contentName": "string.unquoted.liquid",
87 "patterns": [
88 {
89 "match": "(.(?!{%-?\\s*endraw\\s*-?%}))*."
90 }
91 ]
92 },
93 "comment_block": {
94 "begin": "{%-?\\s*comment\\s*-?%}",
95 "end": "{%-?\\s*endcomment\\s*-?%}",
96 "name": "comment.block.liquid",
97 "patterns": [
98 {
99 "match": "(.(?!{%-?\\s*endcomment\\s*-?%}))*."
100 }
101 ]
102 },
103 "comment_inline": {
104 "begin": "{%-?\\s*#",
105 "end": "-?%}",
106 "name": "comment.line.number-sign.liquid"
107 },
108 "style_codefence": {
109 "begin": "({%-?)\\s*(style)\\s*(-?%})",
110 "end": "({%-?)\\s*(endstyle)\\s*(-?%})",
111 "beginCaptures": {
112 "0": {
113 "name": "meta.tag.metadata.style.start.liquid"
114 },
115 "1": {
116 "name": "punctuation.definition.tag.begin.liquid"
117 },
118 "2": {
119 "name": "entity.name.tag.style.liquid"
120 },
121 "3": {
122 "name": "punctuation.definition.tag.begin.liquid"
123 }
124 },
125 "endCaptures": {
126 "0": {
127 "name": "meta.tag.metadata.style.end.liquid"
128 },
129 "1": {
130 "name": "punctuation.definition.tag.end.liquid"
131 },
132 "2": {
133 "name": "entity.name.tag.style.liquid"
134 },
135 "3": {
136 "name": "punctuation.definition.tag.end.liquid"
137 }
138 },
139 "name": "meta.block.style.liquid",
140 "contentName": "meta.embedded.block.css",
141 "patterns": [
142 {
143 "include": "source.css"
144 }
145 ]
146 },
147 "json_codefence": {
148 "begin": "({%-?)\\s*(schema)\\s*(-?%})",
149 "end": "({%-?)\\s*(endschema)\\s*(-?%})",
150 "beginCaptures": {
151 "0": {
152 "name": "meta.tag.metadata.schema.start.liquid"
153 },
154 "1": {
155 "name": "punctuation.definition.tag.begin.liquid"
156 },
157 "2": {
158 "name": "entity.name.tag.schema.liquid"
159 },
160 "3": {
161 "name": "punctuation.definition.tag.begin.liquid"
162 }
163 },
164 "endCaptures": {
165 "0": {
166 "name": "meta.tag.metadata.schema.end.liquid"
167 },
168 "1": {
169 "name": "punctuation.definition.tag.end.liquid"
170 },
171 "2": {
172 "name": "entity.name.tag.schema.liquid"
173 },
174 "3": {
175 "name": "punctuation.definition.tag.end.liquid"
176 }
177 },
178 "name": "meta.block.schema.liquid",
179 "contentName": "meta.embedded.block.json",
180 "patterns": [
181 {
182 "include": "source.json"
183 }
184 ]
185 },
186 "javascript_codefence": {
187 "begin": "({%-?)\\s*(javascript)\\s*(-?%})",
188 "end": "({%-?)\\s*(endjavascript)\\s*(-?%})",
189 "beginCaptures": {
190 "0": {
191 "name": "meta.tag.metadata.javascript.start.liquid"
192 },
193 "1": {
194 "name": "punctuation.definition.tag.begin.liquid"
195 },
196 "2": {
197 "name": "entity.name.tag.javascript.liquid"
198 },
199 "3": {
200 "name": "punctuation.definition.tag.begin.liquid"
201 }
202 },
203 "endCaptures": {
204 "0": {
205 "name": "meta.tag.metadata.javascript.end.liquid"
206 },
207 "1": {
208 "name": "punctuation.definition.tag.end.liquid"
209 },
210 "2": {
211 "name": "entity.name.tag.javascript.liquid"
212 },
213 "3": {
214 "name": "punctuation.definition.tag.end.liquid"
215 }
216 },
217 "name": "meta.block.javascript.liquid",
218 "contentName": "meta.embedded.block.js",
219 "patterns": [
220 {
221 "include": "source.js"
222 }
223 ]
224 },
225 "tag": {
226 "begin": "(?<!comment %})(?<!comment -%})(?<!comment%})(?<!comment-%})(?<!raw %})(?<!raw -%})(?<!raw%})(?<!raw-%}){%-?",
227 "end": "-?%}",
228 "name": "meta.tag.liquid",
229 "beginCaptures": {
230 "0": {
231 "name": "punctuation.definition.tag.begin.liquid"
232 }
233 },
234 "endCaptures": {
235 "0": {
236 "name": "punctuation.definition.tag.end.liquid"
237 }
238 },
239 "patterns": [
240 {
241 "include": "#tag_body"
242 }
243 ]
244 },
245 "tag_injection": {
246 "begin": "(?<!comment %})(?<!comment -%})(?<!comment%})(?<!comment-%})(?<!raw %})(?<!raw -%})(?<!raw%})(?<!raw-%}){%-?(?!-?\\s*(endstyle|endjavascript|endcomment|endraw))",
247 "end": "-?%}",
248 "name": "meta.tag.liquid",
249 "beginCaptures": {
250 "0": {
251 "name": "punctuation.definition.tag.end.liquid"
252 }
253 },
254 "endCaptures": {
255 "0": {
256 "name": "punctuation.definition.tag.end.liquid"
257 }
258 },
259 "patterns": [
260 {
261 "include": "#tag_body"
262 }
263 ]
264 },
265 "tag_body": {
266 "patterns": [
267 {
268 "include": "#tag_liquid"
269 },
270 {
271 "include": "#tag_assign"
272 },
273 {
274 "include": "#tag_case"
275 },
276 {
277 "include": "#tag_conditional"
278 },
279 {
280 "include": "#tag_for"
281 },
282 {
283 "include": "#tag_paginate"
284 },
285 {
286 "include": "#tag_render"
287 },
288 {
289 "include": "#tag_tablerow"
290 },
291 {
292 "include": "#tag_expression"
293 }
294 ]
295 },
296 "tag_liquid": {
297 "name": "meta.entity.tag.liquid.liquid",
298 "begin": "(?:(?:(?<={%)|(?<={%-)|^)\\s*)(liquid)\\b",
299 "beginCaptures": {
300 "1": {
301 "name": "keyword.control.liquid.liquid"
302 }
303 },
304 "end": "(?=%})",
305 "patterns": [
306 {
307 "include": "#tag_comment_liquid"
308 },
309 {
310 "include": "#tag_assign_liquid"
311 },
312 {
313 "include": "#tag_case_liquid"
314 },
315 {
316 "include": "#tag_conditional_liquid"
317 },
318 {
319 "include": "#tag_for_liquid"
320 },
321 {
322 "include": "#tag_paginate_liquid"
323 },
324 {
325 "include": "#tag_render_liquid"
326 },
327 {
328 "include": "#tag_tablerow_liquid"
329 },
330 {
331 "include": "#tag_expression_liquid"
332 }
333 ]
334 },
335 "tag_comment_liquid": {
336 "name": "comment.block.liquid",
337 "begin": "(?:^\\s*)(comment)\\b",
338 "end": "(?:^\\s*)(endcomment)\\b"
339 },
340 "tag_tablerow": {
341 "name": "meta.entity.tag.tablerow.liquid",
342 "begin": "(?:(?:(?<={%)|(?<={%-)|^)\\s*)(tablerow)\\b",
343 "beginCaptures": {
344 "1": {
345 "name": "keyword.control.tablerow.liquid"
346 }
347 },
348 "end": "(?=%})",
349 "patterns": [
350 {
351 "include": "#tag_tablerow_body"
352 }
353 ]
354 },
355 "tag_tablerow_liquid": {
356 "name": "meta.entity.tag.tablerow.liquid",
357 "begin": "(?:(?:(?<={%)|(?<={%-)|^)\\s*)(tablerow)\\b",
358 "beginCaptures": {
359 "1": {
360 "name": "keyword.control.tablerow.liquid"
361 }
362 },
363 "end": "$",
364 "patterns": [
365 {
366 "include": "#tag_tablerow_body"
367 }
368 ]
369 },
370 "tag_tablerow_body": {
371 "patterns": [
372 {
373 "match": "\\b(in)\\b",
374 "name": "keyword.control.liquid"
375 },
376 {
377 "match": "\\b(cols|offset|limit):",
378 "name": "keyword.control.liquid"
379 },
380 {
381 "include": "#value_expression"
382 }
383 ]
384 },
385 "tag_for": {
386 "name": "meta.entity.tag.for.liquid",
387 "begin": "(?:(?:(?<={%)|(?<={%-)|^)\\s*)(for)\\b",
388 "beginCaptures": {
389 "1": {
390 "name": "keyword.control.for.liquid"
391 }
392 },
393 "end": "(?=%})",
394 "patterns": [
395 {
396 "include": "#tag_for_body"
397 }
398 ]
399 },
400 "tag_for_liquid": {
401 "name": "meta.entity.tag.for.liquid",
402 "begin": "(?:(?:(?<={%)|(?<={%-)|^)\\s*)(for)\\b",
403 "beginCaptures": {
404 "1": {
405 "name": "keyword.control.for.liquid"
406 }
407 },
408 "end": "$",
409 "patterns": [
410 {
411 "include": "#tag_for_body"
412 }
413 ]
414 },
415 "tag_for_body": {
416 "patterns": [
417 {
418 "match": "\\b(in|reversed)\\b",
419 "name": "keyword.control.liquid"
420 },
421 {
422 "match": "\\b(offset|limit):",
423 "name": "keyword.control.liquid"
424 },
425 {
426 "include": "#value_expression"
427 }
428 ]
429 },
430 "tag_assign": {
431 "name": "meta.entity.tag.liquid",
432 "begin": "(?:(?:(?<={%)|(?<={%-)|^)\\s*)(assign|echo)\\b",
433 "beginCaptures": {
434 "1": {
435 "name": "entity.name.tag.liquid"
436 }
437 },
438 "end": "(?=%})",
439 "patterns": [
440 {
441 "include": "#filter"
442 },
443 {
444 "include": "#attribute"
445 },
446 {
447 "include": "#value_expression"
448 }
449 ]
450 },
451 "tag_assign_liquid": {
452 "name": "meta.entity.tag.liquid",
453 "begin": "(?:(?:(?<={%)|(?<={%-)|^)\\s*)(assign|echo)\\b",
454 "beginCaptures": {
455 "1": {
456 "name": "entity.name.tag.liquid"
457 }
458 },
459 "end": "$",
460 "patterns": [
461 {
462 "include": "#filter"
463 },
464 {
465 "include": "#attribute_liquid"
466 },
467 {
468 "include": "#value_expression"
469 }
470 ]
471 },
472 "tag_render": {
473 "name": "meta.entity.tag.render.liquid",
474 "begin": "(?:(?:(?<={%)|(?<={%-)|^)\\s*)(render)\\b",
475 "beginCaptures": {
476 "1": {
477 "name": "entity.name.tag.render.liquid"
478 }
479 },
480 "end": "(?=%})",
481 "patterns": [
482 {
483 "include": "#tag_render_special_keywords"
484 },
485 {
486 "include": "#attribute"
487 },
488 {
489 "include": "#value_expression"
490 }
491 ]
492 },
493 "tag_render_liquid": {
494 "name": "meta.entity.tag.render.liquid",
495 "begin": "(?:(?:(?<={%)|(?<={%-)|^)\\s*)(render)\\b",
496 "beginCaptures": {
497 "1": {
498 "name": "entity.name.tag.render.liquid"
499 }
500 },
501 "end": "$",
502 "patterns": [
503 {
504 "include": "#tag_render_special_keywords"
505 },
506 {
507 "include": "#attribute_liquid"
508 },
509 {
510 "include": "#value_expression"
511 }
512 ]
513 },
514 "tag_render_special_keywords": {
515 "match": "\\b(with|as|for)\\b",
516 "name": "keyword.control.other.liquid"
517 },
518 "tag_paginate": {
519 "name": "meta.entity.tag.paginate.liquid",
520 "begin": "(?:(?:(?<={%)|(?<={%-)|^)\\s*)(paginate)\\b",
521 "beginCaptures": {
522 "1": {
523 "name": "keyword.control.paginate.liquid"
524 }
525 },
526 "end": "(?=%})",
527 "patterns": [
528 {
529 "include": "#tag_paginate_body"
530 }
531 ]
532 },
533 "tag_paginate_liquid": {
534 "name": "meta.entity.tag.paginate.liquid",
535 "begin": "(?:(?:(?<={%)|(?<={%-)|^)\\s*)(paginate)\\b",
536 "beginCaptures": {
537 "1": {
538 "name": "keyword.control.paginate.liquid"
539 }
540 },
541 "end": "$",
542 "patterns": [
543 {
544 "include": "#tag_paginate_body"
545 }
546 ]
547 },
548 "tag_paginate_body": {
549 "patterns": [
550 {
551 "match": "\\b(by)\\b",
552 "name": "keyword.control.liquid"
553 },
554 {
555 "include": "#value_expression"
556 }
557 ]
558 },
559 "tag_conditional": {
560 "name": "meta.entity.tag.conditional.liquid",
561 "begin": "(?:(?:(?<={%)|(?<={%-)|^)\\s*)(if|elsif|unless)\\b",
562 "beginCaptures": {
563 "1": {
564 "name": "keyword.control.conditional.liquid"
565 }
566 },
567 "end": "(?=%})",
568 "patterns": [
569 {
570 "include": "#value_expression"
571 }
572 ]
573 },
574 "tag_conditional_liquid": {
575 "name": "meta.entity.tag.conditional.liquid",
576 "begin": "(?:(?:(?<={%)|(?<={%-)|^)\\s*)(if|elsif|unless)\\b",
577 "beginCaptures": {
578 "1": {
579 "name": "keyword.control.conditional.liquid"
580 }
581 },
582 "end": "$",
583 "patterns": [
584 {
585 "include": "#value_expression"
586 }
587 ]
588 },
589 "tag_case": {
590 "name": "meta.entity.tag.case.liquid",
591 "begin": "(?:(?:(?<={%)|(?<={%-)|^)\\s*)(case|when)\\b",
592 "beginCaptures": {
593 "1": {
594 "name": "keyword.control.case.liquid"
595 }
596 },
597 "end": "(?=%})",
598 "patterns": [
599 {
600 "include": "#value_expression"
601 }
602 ]
603 },
604 "tag_case_liquid": {
605 "name": "meta.entity.tag.case.liquid",
606 "begin": "(?:(?:(?<={%)|(?<={%-)|^)\\s*)(case|when)\\b",
607 "beginCaptures": {
608 "1": {
609 "name": "keyword.control.case.liquid"
610 }
611 },
612 "end": "$",
613 "patterns": [
614 {
615 "include": "#value_expression"
616 }
617 ]
618 },
619 "tag_expression_without_arguments": {
620 "patterns": [
621 {
622 "match": "(?:(?:(?<={%)|(?<={%-)|^)\\s*)(endunless|endif)\\b",
623 "captures": {
624 "1": {
625 "name": "keyword.control.conditional.liquid"
626 }
627 }
628 },
629 {
630 "match": "(?:(?:(?<={%)|(?<={%-)|^)\\s*)(endfor|endtablerow|endpaginate)\\b",
631 "captures": {
632 "1": {
633 "name": "keyword.control.loop.liquid"
634 }
635 }
636 },
637 {
638 "match": "(?:(?:(?<={%)|(?<={%-)|^)\\s*)(endcase)\\b",
639 "captures": {
640 "1": {
641 "name": "keyword.control.case.liquid"
642 }
643 }
644 },
645 {
646 "match": "(?:(?:(?<={%)|(?<={%-)|^)\\s*)(capture|case|comment|for|form|if|javascript|paginate|schema|style)\\b",
647 "captures": {
648 "1": {
649 "name": "keyword.control.other.liquid"
650 }
651 }
652 },
653 {
654 "match": "(?:(?:(?<={%)|(?<={%-)|^)\\s*)(endcapture|endcase|endcomment|endfor|endform|endif|endjavascript|endpaginate|endschema|endstyle)\\b",
655 "captures": {
656 "1": {
657 "name": "keyword.control.other.liquid"
658 }
659 }
660 },
661 {
662 "match": "(?:(?:(?<={%)|(?<={%-)|^)\\s*)(else|break|continue)\\b",
663 "captures": {
664 "1": {
665 "name": "keyword.control.other.liquid"
666 }
667 }
668 }
669 ]
670 },
671 "tag_expression": {
672 "patterns": [
673 {
674 "include": "#tag_expression_without_arguments"
675 },
676 {
677 "begin": "(?:(?:(?<={%)|(?<={%-)|^)\\s*)(\\w+)",
678 "beginCaptures": {
679 "1": {
680 "name": "entity.name.tag.liquid"
681 }
682 },
683 "end": "(?=%})",
684 "name": "meta.entity.tag.liquid",
685 "patterns": [
686 {
687 "include": "#value_expression"
688 }
689 ]
690 }
691 ]
692 },
693 "tag_expression_liquid": {
694 "patterns": [
695 {
696 "include": "#tag_expression_without_arguments"
697 },
698 {
699 "begin": "(?:(?:(?<={%)|(?<={%-)|^)\\s*)(\\w+)",
700 "beginCaptures": {
701 "1": {
702 "name": "entity.name.tag.liquid"
703 }
704 },
705 "end": "$",
706 "name": "meta.entity.tag.liquid",
707 "patterns": [
708 {
709 "include": "#value_expression"
710 }
711 ]
712 }
713 ]
714 },
715 "object": {
716 "begin": "(?<!comment %})(?<!comment -%})(?<!comment%})(?<!comment-%})(?<!raw %})(?<!raw -%})(?<!raw%})(?<!raw-%}){{-?",
717 "end": "-?}}",
718 "name": "meta.object.liquid",
719 "beginCaptures": {
720 "0": {
721 "name": "punctuation.definition.tag.begin.liquid"
722 }
723 },
724 "endCaptures": {
725 "0": {
726 "name": "punctuation.definition.tag.end.liquid"
727 }
728 },
729 "patterns": [
730 {
731 "include": "#filter"
732 },
733 {
734 "include": "#attribute"
735 },
736 {
737 "include": "#value_expression"
738 }
739 ]
740 },
741 "invalid_range": {
742 "match": "\\((.(?!\\.\\.))+\\)",
743 "name": "invalid.illegal.range.liquid"
744 },
745 "range": {
746 "begin": "\\(",
747 "end": "\\)",
748 "name": "meta.range.liquid",
749 "beginCaptures": {
750 "0": {
751 "name": "punctuation.section.parens.begin.liquid"
752 }
753 },
754 "endCaptures": {
755 "0": {
756 "name": "punctuation.section.parens.end.liquid"
757 }
758 },
759 "patterns": [
760 {
761 "match": "\\.\\.",
762 "name": "punctuation.range.liquid"
763 },
764 {
765 "include": "#variable_lookup"
766 },
767 {
768 "include": "#number"
769 }
770 ]
771 },
772 "number": {
773 "match": "((-|\\+)\\s*)?[0-9]+(\\.[0-9]+)?",
774 "name": "constant.numeric.liquid"
775 },
776 "string": {
777 "patterns": [
778 {
779 "include": "#string_single"
780 },
781 {
782 "include": "#string_double"
783 }
784 ]
785 },
786 "string_double": {
787 "begin": "\"",
788 "end": "\"",
789 "name": "string.quoted.double.liquid"
790 },
791 "string_single": {
792 "begin": "'",
793 "end": "'",
794 "name": "string.quoted.single.liquid"
795 },
796 "operator": {
797 "match": "(?:(?<=\\s)|\\b)(\\=\\=|!\\=|\\>|\\<|\\>\\=|\\<\\=|or|and|contains)(?:(?=\\s)|\\b)",
798 "captures": {
799 "1": {
800 "name": "keyword.operator.expression.liquid"
801 }
802 }
803 },
804 "language_constant": {
805 "match": "\\b(false|true|nil|blank)\\b|empty(?!\\?)",
806 "name": "constant.language.liquid"
807 },
808 "attribute": {
809 "begin": "\\w+:",
810 "end": "(?=,|%}|}}|\\|)",
811 "beginCaptures": {
812 "0": {
813 "name": "entity.other.attribute-name.liquid"
814 }
815 },
816 "patterns": [
817 {
818 "include": "#value_expression"
819 }
820 ]
821 },
822 "attribute_liquid": {
823 "begin": "\\w+:",
824 "end": "(?=,|\\|)|$",
825 "beginCaptures": {
826 "0": {
827 "name": "entity.other.attribute-name.liquid"
828 }
829 },
830 "patterns": [
831 {
832 "include": "#value_expression"
833 }
834 ]
835 },
836 "filter": {
837 "match": "\\|\\s*((?![\\.0-9])[a-zA-Z0-9_-]+\\:?)\\s*",
838 "captures": {
839 "1": {
840 "name": "support.function.liquid"
841 }
842 }
843 },
844 "value_expression": {
845 "patterns": [
846 {
847 "match": "(\\[)(\\|)(?=[^\\]]*)(?=\\])",
848 "captures": {
849 "2": {
850 "name": "invalid.illegal.filter.liquid"
851 },
852 "3": {
853 "name": "invalid.illegal.filter.liquid"
854 }
855 }
856 },
857 {
858 "match": "(?<=\\s)(\\+|\\-|\\/|\\*)(?=\\s)",
859 "name": "invalid.illegal.filter.liquid"
860 },
861 {
862 "include": "#language_constant"
863 },
864 {
865 "include": "#operator"
866 },
867 {
868 "include": "#invalid_range"
869 },
870 {
871 "include": "#range"
872 },
873 {
874 "include": "#number"
875 },
876 {
877 "include": "#string"
878 },
879 {
880 "include": "#variable_lookup"
881 }
882 ]
883 },
884 "variable_lookup": {
885 "patterns": [
886 {
887 "match": "\\b(additional_checkout_buttons|address|all_country_option_tags|all_products|article|articles|block|blog|blogs|canonical_url|cart|checkout|collection|collections|comment|content_for_additional_checkout_buttons|content_for_header|content_for_index|content_for_layout|country_option_tags|currency|current_page|current_tags|customer|customer_address|discount_allocation|discount_application|external_video|font|forloop|form|fulfillment|gift_card|handle|image|images|line_item|link|linklist|linklists|location|localization|metafield|model|model_source|order|page|page_description|page_image|page_title|pages|paginate|part|policy|powered_by_link|predictive_search|product|product_option|product_variant|recommendations|request|routes|script|scripts|search|section|selling_plan|selling_plan_allocation|selling_plan_group|settings|shipping_method|shop|shop_locale|store_availability|tablerow|tax_line|template|theme|transaction|unit_price_measurement|variant|video|video_source)\\b",
888 "name": "variable.language.liquid"
889 },
890 {
891 "match": "((?<=\\w\\:\\s)\\w+)",
892 "name": "variable.parameter.liquid"
893 },
894 {
895 "begin": "(?<=\\w)\\[",
896 "beginCaptures": {
897 "0": {
898 "name": "punctuation.section.brackets.begin.liquid"
899 }
900 },
901 "end": "\\]",
902 "endCaptures": {
903 "0": {
904 "name": "punctuation.section.brackets.end.liquid"
905 }
906 },
907 "name": "meta.brackets.liquid",
908 "patterns": [
909 {
910 "include": "#string"
911 }
912 ]
913 },
914 {
915 "match": "(?<=(\\w|\\])\\.)([-\\w]+\\??)",
916 "name": "variable.other.member.liquid"
917 },
918 {
919 "match": "(?<=\\w)\\.(?=\\w)",
920 "name": "punctuation.accessor.liquid"
921 },
922 {
923 "match": "(?i)[a-z_](\\w|(?:-(?!\\}\\})))*",
924 "name": "variable.other.liquid"
925 }
926 ]
927 }
928 }
929 }
930