shiki
Version:
988 lines (987 loc) • 24.7 kB
JSON
{
"name": "liquid",
"scopeName": "text.html.liquid",
"fileTypes": ["liquid"],
"foldingStartMarker": "(?x)\n{%\n -?\n \\s*\n (capture|case|comment|for|form|if|javascript|paginate|schema|style)\n [^(%})]+\n%}\n",
"foldingStopMarker": "(?x)\n{%\n \\s*\n (endcapture|endcase|endcomment|endfor|endform|endif|endjavascript|endpaginate|endschema|endstyle)\n [^(%})]+\n%}\n",
"injections": {
"L:meta.embedded.block.js, L:meta.embedded.block.css, L:meta.embedded.block.html, L:string.quoted": {
"patterns": [
{
"include": "#injection"
}
]
}
},
"patterns": [
{
"include": "#core"
}
],
"repository": {
"core": {
"patterns": [
{
"include": "#raw_tag"
},
{
"include": "#comment_block"
},
{
"include": "#style_codefence"
},
{
"include": "#stylesheet_codefence"
},
{
"include": "#json_codefence"
},
{
"include": "#javascript_codefence"
},
{
"include": "#object"
},
{
"include": "#tag"
},
{
"include": "text.html.basic"
}
]
},
"injection": {
"patterns": [
{
"include": "#raw_tag"
},
{
"include": "#comment_block"
},
{
"include": "#object"
},
{
"include": "#tag_injection"
}
]
},
"raw_tag": {
"begin": "{%-?\\s*(raw)\\s*-?%}",
"end": "{%-?\\s*(endraw)\\s*-?%}",
"beginCaptures": {
"1": {
"name": "entity.name.tag.liquid"
}
},
"endCaptures": {
"1": {
"name": "entity.name.tag.liquid"
}
},
"name": "meta.entity.tag.raw.liquid",
"contentName": "string.unquoted.liquid",
"patterns": [
{
"match": "(.(?!{%-?\\s*endraw\\s*-?%}))*."
}
]
},
"comment_block": {
"begin": "{%-?\\s*comment\\s*-?%}",
"end": "{%-?\\s*endcomment\\s*-?%}",
"name": "comment.block.liquid",
"patterns": [
{
"include": "#comment_block"
},
{
"match": "(.(?!{%-?\\s*(comment|endcomment)\\s*-?%}))*."
}
]
},
"style_codefence": {
"begin": "({%-?)\\s*(style)\\s*(-?%})",
"end": "({%-?)\\s*(endstyle)\\s*(-?%})",
"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"
}
},
"name": "meta.block.style.liquid",
"contentName": "meta.embedded.block.css",
"patterns": [
{
"include": "source.css"
}
]
},
"stylesheet_codefence": {
"begin": "({%-?)\\s*(stylesheet)\\s*(-?%})",
"end": "({%-?)\\s*(endstylesheet)\\s*(-?%})",
"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"
}
},
"name": "meta.block.style.liquid",
"contentName": "meta.embedded.block.css",
"patterns": [
{
"include": "source.css"
}
]
},
"json_codefence": {
"begin": "({%-?)\\s*(schema)\\s*(-?%})",
"end": "({%-?)\\s*(endschema)\\s*(-?%})",
"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"
}
},
"name": "meta.block.schema.liquid",
"contentName": "meta.embedded.block.json",
"patterns": [
{
"include": "source.json"
}
]
},
"javascript_codefence": {
"begin": "({%-?)\\s*(javascript)\\s*(-?%})",
"end": "({%-?)\\s*(endjavascript)\\s*(-?%})",
"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"
}
},
"name": "meta.block.javascript.liquid",
"contentName": "meta.embedded.block.js",
"patterns": [
{
"include": "source.js"
}
]
},
"tag": {
"begin": "(?