{"scopeName":"liquid.injection","patterns":[{"include":"#injection"}],"repository":{"attribute":{"begin":"\\w+:","end":"(?=,|%}|}}|\\|)","patterns":[{"include":"#value_expression"}],"beginCaptures":{"0":{"name":"entity.other.attribute-name.liquid"}}},"attribute_liquid":{"begin":"\\w+:","end":"(?=,|\\|)|$","patterns":[{"include":"#value_expression"}],"beginCaptures":{"0":{"name":"entity.other.attribute-name.liquid"}}},"comment_block":{"name":"comment.block.liquid","begin":"{%-?\\s*comment\\s*-?%}","end":"{%-?\\s*endcomment\\s*-?%}","patterns":[{"match":"(.(?!{%-?\\s*endcomment\\s*-?%}))*."}]},"comment_inline":{"name":"comment.line.number-sign.liquid","begin":"{%-?\\s*#","end":"-?%}"},"core":{"patterns":[{"include":"#raw_tag"},{"include":"#comment_block"},{"include":"#comment_inline"},{"include":"#style_codefence"},{"include":"#json_codefence"},{"include":"#javascript_codefence"},{"include":"#object"},{"include":"#tag"},{"include":"text.html.basic"}]},"filter":{"match":"\\|\\s*((?![\\.0-9])[a-zA-Z0-9_-]+\\:?)\\s*","captures":{"1":{"name":"support.function.liquid"}}},"injection":{"patterns":[{"include":"#raw_tag"},{"include":"#comment_block"},{"include":"#comment_inline"},{"include":"#object"},{"include":"#tag_injection"}]},"invalid_range":{"name":"invalid.illegal.range.liquid","match":"\\((.(?!\\.\\.))+\\)"},"javascript_codefence":{"name":"meta.block.javascript.liquid","contentName":"meta.embedded.block.js","begin":"({%-?)\\s*(javascript)\\s*(-?%})","end":"({%-?)\\s*(endjavascript)\\s*(-?%})","patterns":[{"include":"source.js"}],"beginCaptures":{"0":{"name":"meta.tag.metadata.javascript.start.liquid"},"1":{"name":"punctuation.definition.tag.begin.liquid"},"2":{"name":"entity.name.tag.javascript.liquid"},"3":{"name":"punctuation.definition.tag.begin.liquid"}},"endCaptures":{"0":{"name":"meta.tag.metadata.javascript.end.liquid"},"1":{"name":"punctuation.definition.tag.end.liquid"},"2":{"name":"entity.name.tag.javascript.liquid"},"3":{"name":"punctuation.definition.tag.end.liquid"}}},"json_codefence":{"name":"meta.block.schema.liquid","contentName":"meta.embedded.block.json","begin":"({%-?)\\s*(schema)\\s*(-?%})","end":"({%-?)\\s*(endschema)\\s*(-?%})","patterns":[{"include":"source.json"}],"beginCaptures":{"0":{"name":"meta.tag.metadata.schema.start.liquid"},"1":{"name":"punctuation.definition.tag.begin.liquid"},"2":{"name":"entity.name.tag.schema.liquid"},"3":{"name":"punctuation.definition.tag.begin.liquid"}},"endCaptures":{"0":{"name":"meta.tag.metadata.schema.end.liquid"},"1":{"name":"punctuation.definition.tag.end.liquid"},"2":{"name":"entity.name.tag.schema.liquid"},"3":{"name":"punctuation.definition.tag.end.liquid"}}},"language_constant":{"name":"constant.language.liquid","match":"\\b(false|true|nil|blank)\\b|empty(?!\\?)"},"number":{"name":"constant.numeric.liquid","match":"((-|\\+)\\s*)?[0-9]+(\\.[0-9]+)?"},"object":{"name":"meta.object.liquid","begin":"(?\u003c!comment %})(?\u003c!comment -%})(?\u003c!comment%})(?\u003c!comment-%})(?\u003c!raw %})(?\u003c!raw -%})(?\u003c!raw%})(?\u003c!raw-%}){{-?","end":"-?}}","patterns":[{"include":"#filter"},{"include":"#attribute"},{"include":"#value_expression"}],"beginCaptures":{"0":{"name":"punctuation.definition.tag.begin.liquid"}},"endCaptures":{"0":{"name":"punctuation.definition.tag.end.liquid"}}},"operator":{"match":"(?:(?\u003c=\\s)|\\b)(\\=\\=|!\\=|\\\u003e|\\\u003c|\\\u003e\\=|\\\u003c\\=|or|and|contains)(?:(?=\\s)|\\b)","captures":{"1":{"name":"keyword.operator.expression.liquid"}}},"range":{"name":"meta.range.liquid","begin":"\\(","end":"\\)","patterns":[{"name":"punctuation.range.liquid","match":"\\.\\."},{"include":"#variable_lookup"},{"include":"#number"}],"beginCaptures":{"0":{"name":"punctuation.section.parens.begin.liquid"}},"endCaptures":{"0":{"name":"punctuation.section.parens.end.liquid"}}},"raw_tag":{"name":"meta.entity.tag.raw.liquid","contentName":"string.unquoted.liquid","begin":"{%-?\\s*(raw)\\s*-?%}","end":"{%-?\\s*(endraw)\\s*-?%}","patterns":[{"match":"(.(?!{%-?\\s*endraw\\s*-?%}))*."}],"beginCaptures":{"1":{"name":"entity.name.tag.liquid"}},"endCaptures":{"1":{"name":"entity.name.tag.liquid"}}},"string":{"patterns":[{"include":"#string_single"},{"include":"#string_double"}]},"string_double":{"name":"string.quoted.double.liquid","begin":"\"","end":"\""},"string_single":{"name":"string.quoted.single.liquid","begin":"'","end":"'"},"style_codefence":{"name":"meta.block.style.liquid","contentName":"meta.embedded.block.css","begin":"({%-?)\\s*(style)\\s*(-?%})","end":"({%-?)\\s*(endstyle)\\s*(-?%})","patterns":[{"include":"source.css"}],"beginCaptures":{"0":{"name":"meta.tag.metadata.style.start.liquid"},"1":{"name":"punctuation.definition.tag.begin.liquid"},"2":{"name":"entity.name.tag.style.liquid"},"3":{"name":"punctuation.definition.tag.begin.liquid"}},"endCaptures":{"0":{"name":"meta.tag.metadata.style.end.liquid"},"1":{"name":"punctuation.definition.tag.end.liquid"},"2":{"name":"entity.name.tag.style.liquid"},"3":{"name":"punctuation.definition.tag.end.liquid"}}},"tag":{"name":"meta.tag.liquid","begin":"(?\u003c!comment %})(?\u003c!comment -%})(?\u003c!comment%})(?\u003c!comment-%})(?\u003c!raw %})(?\u003c!raw -%})(?\u003c!raw%})(?\u003c!raw-%}){%-?","end":"-?%}","patterns":[{"include":"#tag_body"}],"beginCaptures":{"0":{"name":"punctuation.definition.tag.begin.liquid"}},"endCaptures":{"0":{"name":"punctuation.definition.tag.end.liquid"}}},"tag_assign":{"name":"meta.entity.tag.liquid","begin":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(assign|echo)\\b","end":"(?=%})","patterns":[{"include":"#filter"},{"include":"#attribute"},{"include":"#value_expression"}],"beginCaptures":{"1":{"name":"entity.name.tag.liquid"}}},"tag_assign_liquid":{"name":"meta.entity.tag.liquid","begin":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(assign|echo)\\b","end":"$","patterns":[{"include":"#filter"},{"include":"#attribute_liquid"},{"include":"#value_expression"}],"beginCaptures":{"1":{"name":"entity.name.tag.liquid"}}},"tag_body":{"patterns":[{"include":"#tag_liquid"},{"include":"#tag_assign"},{"include":"#tag_case"},{"include":"#tag_conditional"},{"include":"#tag_for"},{"include":"#tag_paginate"},{"include":"#tag_render"},{"include":"#tag_tablerow"},{"include":"#tag_expression"}]},"tag_case":{"name":"meta.entity.tag.case.liquid","begin":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(case|when)\\b","end":"(?=%})","patterns":[{"include":"#value_expression"}],"beginCaptures":{"1":{"name":"keyword.control.case.liquid"}}},"tag_case_liquid":{"name":"meta.entity.tag.case.liquid","begin":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(case|when)\\b","end":"$","patterns":[{"include":"#value_expression"}],"beginCaptures":{"1":{"name":"keyword.control.case.liquid"}}},"tag_comment_liquid":{"name":"comment.block.liquid","begin":"(?:^\\s*)(comment)\\b","end":"(?:^\\s*)(endcomment)\\b"},"tag_conditional":{"name":"meta.entity.tag.conditional.liquid","begin":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(if|elsif|unless)\\b","end":"(?=%})","patterns":[{"include":"#value_expression"}],"beginCaptures":{"1":{"name":"keyword.control.conditional.liquid"}}},"tag_conditional_liquid":{"name":"meta.entity.tag.conditional.liquid","begin":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(if|elsif|unless)\\b","end":"$","patterns":[{"include":"#value_expression"}],"beginCaptures":{"1":{"name":"keyword.control.conditional.liquid"}}},"tag_expression":{"patterns":[{"include":"#tag_expression_without_arguments"},{"name":"meta.entity.tag.liquid","begin":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(\\w+)","end":"(?=%})","patterns":[{"include":"#value_expression"}],"beginCaptures":{"1":{"name":"entity.name.tag.liquid"}}}]},"tag_expression_liquid":{"patterns":[{"include":"#tag_expression_without_arguments"},{"name":"meta.entity.tag.liquid","begin":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(\\w+)","end":"$","patterns":[{"include":"#value_expression"}],"beginCaptures":{"1":{"name":"entity.name.tag.liquid"}}}]},"tag_expression_without_arguments":{"patterns":[{"match":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(endunless|endif)\\b","captures":{"1":{"name":"keyword.control.conditional.liquid"}}},{"match":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(endfor|endtablerow|endpaginate)\\b","captures":{"1":{"name":"keyword.control.loop.liquid"}}},{"match":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(endcase)\\b","captures":{"1":{"name":"keyword.control.case.liquid"}}},{"match":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(capture|case|comment|for|form|if|javascript|paginate|schema|style)\\b","captures":{"1":{"name":"keyword.control.other.liquid"}}},{"match":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(endcapture|endcase|endcomment|endfor|endform|endif|endjavascript|endpaginate|endschema|endstyle)\\b","captures":{"1":{"name":"keyword.control.other.liquid"}}},{"match":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(else|break|continue)\\b","captures":{"1":{"name":"keyword.control.other.liquid"}}}]},"tag_for":{"name":"meta.entity.tag.for.liquid","begin":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(for)\\b","end":"(?=%})","patterns":[{"include":"#tag_for_body"}],"beginCaptures":{"1":{"name":"keyword.control.for.liquid"}}},"tag_for_body":{"patterns":[{"name":"keyword.control.liquid","match":"\\b(in|reversed)\\b"},{"name":"keyword.control.liquid","match":"\\b(offset|limit):"},{"include":"#value_expression"}]},"tag_for_liquid":{"name":"meta.entity.tag.for.liquid","begin":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(for)\\b","end":"$","patterns":[{"include":"#tag_for_body"}],"beginCaptures":{"1":{"name":"keyword.control.for.liquid"}}},"tag_injection":{"name":"meta.tag.liquid","begin":"(?\u003c!comment %})(?\u003c!comment -%})(?\u003c!comment%})(?\u003c!comment-%})(?\u003c!raw %})(?\u003c!raw -%})(?\u003c!raw%})(?\u003c!raw-%}){%-?(?!-?\\s*(endstyle|endjavascript|endcomment|endraw))","end":"-?%}","patterns":[{"include":"#tag_body"}],"beginCaptures":{"0":{"name":"punctuation.definition.tag.end.liquid"}},"endCaptures":{"0":{"name":"punctuation.definition.tag.end.liquid"}}},"tag_liquid":{"name":"meta.entity.tag.liquid.liquid","begin":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(liquid)\\b","end":"(?=%})","patterns":[{"include":"#tag_comment_liquid"},{"include":"#tag_assign_liquid"},{"include":"#tag_case_liquid"},{"include":"#tag_conditional_liquid"},{"include":"#tag_for_liquid"},{"include":"#tag_paginate_liquid"},{"include":"#tag_render_liquid"},{"include":"#tag_tablerow_liquid"},{"include":"#tag_expression_liquid"}],"beginCaptures":{"1":{"name":"keyword.control.liquid.liquid"}}},"tag_paginate":{"name":"meta.entity.tag.paginate.liquid","begin":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(paginate)\\b","end":"(?=%})","patterns":[{"include":"#tag_paginate_body"}],"beginCaptures":{"1":{"name":"keyword.control.paginate.liquid"}}},"tag_paginate_body":{"patterns":[{"name":"keyword.control.liquid","match":"\\b(by)\\b"},{"include":"#value_expression"}]},"tag_paginate_liquid":{"name":"meta.entity.tag.paginate.liquid","begin":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(paginate)\\b","end":"$","patterns":[{"include":"#tag_paginate_body"}],"beginCaptures":{"1":{"name":"keyword.control.paginate.liquid"}}},"tag_render":{"name":"meta.entity.tag.render.liquid","begin":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(render)\\b","end":"(?=%})","patterns":[{"include":"#tag_render_special_keywords"},{"include":"#attribute"},{"include":"#value_expression"}],"beginCaptures":{"1":{"name":"entity.name.tag.render.liquid"}}},"tag_render_liquid":{"name":"meta.entity.tag.render.liquid","begin":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(render)\\b","end":"$","patterns":[{"include":"#tag_render_special_keywords"},{"include":"#attribute_liquid"},{"include":"#value_expression"}],"beginCaptures":{"1":{"name":"entity.name.tag.render.liquid"}}},"tag_render_special_keywords":{"name":"keyword.control.other.liquid","match":"\\b(with|as|for)\\b"},"tag_tablerow":{"name":"meta.entity.tag.tablerow.liquid","begin":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(tablerow)\\b","end":"(?=%})","patterns":[{"include":"#tag_tablerow_body"}],"beginCaptures":{"1":{"name":"keyword.control.tablerow.liquid"}}},"tag_tablerow_body":{"patterns":[{"name":"keyword.control.liquid","match":"\\b(in)\\b"},{"name":"keyword.control.liquid","match":"\\b(cols|offset|limit):"},{"include":"#value_expression"}]},"tag_tablerow_liquid":{"name":"meta.entity.tag.tablerow.liquid","begin":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(tablerow)\\b","end":"$","patterns":[{"include":"#tag_tablerow_body"}],"beginCaptures":{"1":{"name":"keyword.control.tablerow.liquid"}}},"value_expression":{"patterns":[{"match":"(\\[)(\\|)(?=[^\\]]*)(?=\\])","captures":{"2":{"name":"invalid.illegal.filter.liquid"},"3":{"name":"invalid.illegal.filter.liquid"}}},{"name":"invalid.illegal.filter.liquid","match":"(?\u003c=\\s)(\\+|\\-|\\/|\\*)(?=\\s)"},{"include":"#language_constant"},{"include":"#operator"},{"include":"#invalid_range"},{"include":"#range"},{"include":"#number"},{"include":"#string"},{"include":"#variable_lookup"}]},"variable_lookup":{"patterns":[{"name":"variable.language.liquid","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"},{"name":"variable.parameter.liquid","match":"((?\u003c=\\w\\:\\s)\\w+)"},{"name":"meta.brackets.liquid","begin":"(?\u003c=\\w)\\[","end":"\\]","patterns":[{"include":"#string"}],"beginCaptures":{"0":{"name":"punctuation.section.brackets.begin.liquid"}},"endCaptures":{"0":{"name":"punctuation.section.brackets.end.liquid"}}},{"name":"variable.other.member.liquid","match":"(?\u003c=(\\w|\\])\\.)([-\\w]+\\??)"},{"name":"punctuation.accessor.liquid","match":"(?\u003c=\\w)\\.(?=\\w)"},{"name":"variable.other.liquid","match":"(?i)[a-z_](\\w|(?:-(?!\\}\\})))*"}]}}}