fuc-new/doc/node_modules/tm-grammars/grammars/less.json
hellcat 6adbc04d4b 1
2025-10-03 17:17:08 +08:00

5735 lines
168 KiB
JSON
Raw Blame History

{
"displayName": "Less",
"name": "less",
"patterns": [
{
"include": "#comment-block"
},
{
"include": "#less-namespace-accessors"
},
{
"include": "#less-extend"
},
{
"include": "#at-rules"
},
{
"include": "#less-variable-assignment"
},
{
"include": "#property-list"
},
{
"include": "#selector"
}
],
"repository": {
"angle-type": {
"captures": {
"1": {
"name": "keyword.other.unit.less"
}
},
"match": "(?i:[-+]?(?:\\d*\\.\\d+(?:[Ee][-+]?\\d+)*|[-+]?\\d+)(deg|grad|rad|turn))\\b",
"name": "constant.numeric.less"
},
"arbitrary-repetition": {
"captures": {
"1": {
"name": "punctuation.definition.arbitrary-repetition.less"
}
},
"match": "\\s*(,)"
},
"at-charset": {
"begin": "\\s*((@)charset)\\b\\s*",
"beginCaptures": {
"1": {
"name": "keyword.control.at-rule.charset.less"
},
"2": {
"name": "punctuation.definition.keyword.less"
}
},
"end": "\\s*((?=;|$))",
"name": "meta.at-rule.charset.less",
"patterns": [
{
"include": "#literal-string"
}
]
},
"at-container": {
"begin": "(?=\\s*@container)",
"end": "\\s*(})",
"endCaptures": {
"1": {
"name": "punctuation.definition.block.end.less"
}
},
"patterns": [
{
"begin": "((@)container)",
"beginCaptures": {
"1": {
"name": "keyword.control.at-rule.container.less"
},
"2": {
"name": "punctuation.definition.keyword.less"
},
"3": {
"name": "support.constant.container.less"
}
},
"end": "(?=\\{)",
"name": "meta.at-rule.container.less",
"patterns": [
{
"begin": "\\s*(?=[^;{])",
"end": "\\s*(?=[;{])",
"patterns": [
{
"match": "\\b(not|and|or)\\b",
"name": "keyword.operator.comparison.less"
},
{
"begin": "\\(",
"beginCaptures": {
"0": {
"name": "punctuation.definition.group.begin.less"
}
},
"end": "\\)",
"endCaptures": {
"0": {
"name": "punctuation.definition.group.end.less"
}
},
"name": "meta.at-rule.container-query.less",
"patterns": [
{
"captures": {
"1": {
"name": "support.type.property-name.less"
}
},
"match": "\\b(aspect-ratio|block-size|height|inline-size|orientation|width)\\b",
"name": "support.constant.size-feature.less"
},
{
"match": "(([<>])=?)|[/=]",
"name": "keyword.operator.comparison.less"
},
{
"match": ":",
"name": "punctuation.separator.key-value.less"
},
{
"match": "portrait|landscape",
"name": "support.constant.property-value.less"
},
{
"include": "#numeric-values"
},
{
"match": "/",
"name": "keyword.operator.arithmetic.less"
},
{
"include": "#var-function"
},
{
"include": "#less-variables"
},
{
"include": "#less-variable-interpolation"
}
]
},
{
"include": "#style-function"
},
{
"match": "--|-?(?:[A-Z_a-z·À-ÖØ-öø-ͽͿ-῿‌‍‿⁀⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-<2D>𐀀-\\x{EFFFF}]|\\\\(?:\\N|\\H|\\h{1,6}[R\\s]))(?:[-A-Z_a-z·À-ÖØ-öø-ͽͿ-῿‌‍‿⁀⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-<2D>𐀀-\\x{EFFFF}\\d]|\\\\(?:\\N|\\H|\\h{1,6}[R\\s]))*",
"name": "variable.parameter.container-name.css"
},
{
"include": "#arbitrary-repetition"
},
{
"include": "#less-variables"
}
]
}
]
},
{
"begin": "\\s*(\\{)",
"beginCaptures": {
"1": {
"name": "punctuation.definition.block.begin.less"
}
},
"end": "(?=})",
"patterns": [
{
"include": "#rule-list-body"
},
{
"include": "$self"
}
]
}
]
},
"at-counter-style": {
"begin": "\\s*((@)counter-style)\\b\\s+(?:(?i:\\b(decimal|none)\\b)|(-?(?:[A-Z_a-z[^\\x00-\\x7F]]|\\\\(?:\\h{1,6}[\\t\\n\\f\\s]?|[^\\n\\f\\h]))(?:[-\\w[^\\x00-\\x7F]]|\\\\(?:\\h{1,6}[\\t\\n\\f\\s]?|[^\\n\\f\\h]))*))\\s*(?=\\{|$)",
"beginCaptures": {
"1": {
"name": "keyword.control.at-rule.counter-style.less"
},
"2": {
"name": "punctuation.definition.keyword.less"
},
"3": {
"name": "invalid.illegal.counter-style-name.less"
},
"4": {
"name": "entity.other.counter-style-name.css"
}
},
"end": "\\s*(})",
"endCaptures": {
"1": {
"name": "punctuation.definition.block.begin.less"
}
},
"name": "meta.at-rule.counter-style.less",
"patterns": [
{
"include": "#comment-block"
},
{
"include": "#rule-list"
}
]
},
"at-custom-media": {
"begin": "(?=\\s*@custom-media\\b)",
"end": "\\s*(?=;)",
"name": "meta.at-rule.custom-media.less",
"patterns": [
{
"captures": {
"0": {
"name": "punctuation.section.property-list.less"
}
},
"match": "\\s*;"
},
{
"captures": {
"1": {
"name": "keyword.control.at-rule.custom-media.less"
},
"2": {
"name": "punctuation.definition.keyword.less"
},
"3": {
"name": "support.constant.custom-media.less"
}
},
"match": "\\s*((@)custom-media)(?=.*?)"
},
{
"include": "#media-query-list"
}
]
},
"at-font-face": {
"begin": "\\s*((@)font-face)\\s*(?=\\{|$)",
"beginCaptures": {
"1": {
"name": "keyword.control.at-rule.font-face.less"
},
"2": {
"name": "punctuation.definition.keyword.less"
}
},
"end": "\\s*(})",
"endCaptures": {
"1": {
"name": "punctuation.definition.block.end.less"
}
},
"name": "meta.at-rule.font-face.less",
"patterns": [
{
"include": "#comment-block"
},
{
"include": "#rule-list"
}
]
},
"at-import": {
"begin": "\\s*((@)import)\\b\\s*",
"beginCaptures": {
"1": {
"name": "keyword.control.at-rule.import.less"
},
"2": {
"name": "punctuation.definition.keyword.less"
}
},
"end": ";",
"endCaptures": {
"0": {
"name": "punctuation.terminator.rule.less"
}
},
"name": "meta.at-rule.import.less",
"patterns": [
{
"include": "#url-function"
},
{
"include": "#less-variables"
},
{
"begin": "(?<=([\"'])|([\"']\\)))\\s*",
"end": "\\s*(?=;)",
"patterns": [
{
"include": "#media-query"
}
]
},
{
"begin": "\\(",
"beginCaptures": {
"0": {
"name": "punctuation.definition.group.begin.less"
}
},
"end": "\\)",
"endCaptures": {
"0": {
"name": "punctuation.definition.group.end.less"
}
},
"name": "meta.group.less",
"patterns": [
{
"match": "reference|inline|less|css|once|multiple|optional",
"name": "constant.language.import-directive.less"
},
{
"include": "#comma-delimiter"
}
]
},
{
"include": "#literal-string"
}
]
},
"at-keyframes": {
"begin": "\\s*((@)keyframes)(?=.*?\\{)",
"beginCaptures": {
"1": {
"name": "keyword.control.at-rule.keyframe.less"
},
"2": {
"name": "punctuation.definition.keyword.less"
},
"4": {
"name": "support.constant.keyframe.less"
}
},
"end": "\\s*(})",
"endCaptures": {
"1": {
"name": "punctuation.definition.block.end.less"
}
},
"patterns": [
{
"begin": "\\s*(\\{)",
"beginCaptures": {
"1": {
"name": "punctuation.definition.block.begin.less"
}
},
"end": "(?=})",
"patterns": [
{
"captures": {
"1": {
"name": "keyword.other.keyframe-selector.less"
},
"2": {
"name": "constant.numeric.less"
},
"3": {
"name": "keyword.other.unit.less"
}
},
"match": "\\s*(?:(from|to)|((?:\\.[0-9]+|[0-9]+(?:\\.[0-9]*)?)(%)))\\s*,?\\s*"
},
{
"include": "$self"
}
]
},
{
"begin": "\\s*(?=[^;{])",
"end": "\\s*(?=\\{)",
"name": "meta.at-rule.keyframe.less",
"patterns": [
{
"include": "#keyframe-name"
},
{
"include": "#arbitrary-repetition"
}
]
}
]
},
"at-media": {
"begin": "(?=\\s*@media\\b)",
"end": "\\s*(})",
"endCaptures": {
"1": {
"name": "punctuation.definition.block.end.less"
}
},
"patterns": [
{
"begin": "\\s*((@)media)",
"beginCaptures": {
"1": {
"name": "keyword.control.at-rule.media.less"
},
"2": {
"name": "punctuation.definition.keyword.less"
},
"3": {
"name": "support.constant.media.less"
}
},
"end": "\\s*(?=\\{)",
"name": "meta.at-rule.media.less",
"patterns": [
{
"include": "#media-query-list"
}
]
},
{
"begin": "\\s*(\\{)",
"beginCaptures": {
"1": {
"name": "punctuation.definition.block.begin.less"
}
},
"end": "(?=})",
"patterns": [
{
"include": "#rule-list-body"
},
{
"include": "$self"
}
]
}
]
},
"at-namespace": {
"begin": "\\s*((@)namespace)\\s+",
"beginCaptures": {
"1": {
"name": "keyword.control.at-rule.namespace.less"
},
"2": {
"name": "punctuation.definition.keyword.less"
}
},
"end": ";",
"endCaptures": {
"0": {
"name": "punctuation.terminator.rule.less"
}
},
"name": "meta.at-rule.namespace.less",
"patterns": [
{
"include": "#url-function"
},
{
"include": "#literal-string"
},
{
"match": "(-?(?:[A-Z_a-z[^\\x00-\\x7F]]|\\\\(?:\\h{1,6}[\\t\\n\\f\\s]?|[^\\n\\f\\h]))(?:[-\\w[^\\x00-\\x7F]]|\\\\(?:\\h{1,6}[\\t\\n\\f\\s]?|[^\\n\\f\\h]))*)",
"name": "entity.name.constant.namespace-prefix.less"
}
]
},
"at-page": {
"captures": {
"1": {
"name": "keyword.control.at-rule.page.less"
},
"2": {
"name": "punctuation.definition.keyword.less"
},
"3": {
"name": "punctuation.definition.entity.less"
},
"4": {
"name": "entity.other.attribute-name.pseudo-class.less"
}
},
"match": "\\s*((@)page)\\s*(?:(:)(first|left|right))?\\s*(?=\\{|$)",
"name": "meta.at-rule.page.less",
"patterns": [
{
"include": "#comment-block"
},
{
"include": "#rule-list"
}
]
},
"at-rules": {
"patterns": [
{
"include": "#at-charset"
},
{
"include": "#at-container"
},
{
"include": "#at-counter-style"
},
{
"include": "#at-custom-media"
},
{
"include": "#at-font-face"
},
{
"include": "#at-media"
},
{
"include": "#at-import"
},
{
"include": "#at-keyframes"
},
{
"include": "#at-namespace"
},
{
"include": "#at-page"
},
{
"include": "#at-supports"
},
{
"include": "#at-viewport"
}
]
},
"at-supports": {
"begin": "(?=\\s*@supports\\b)",
"end": "(?=\\s*)(})",
"endCaptures": {
"1": {
"name": "punctuation.definition.block.end.less"
}
},
"patterns": [
{
"begin": "\\s*((@)supports)",
"beginCaptures": {
"1": {
"name": "keyword.control.at-rule.supports.less"
},
"2": {
"name": "punctuation.definition.keyword.less"
},
"3": {
"name": "support.constant.supports.less"
}
},
"end": "\\s*(?=\\{)",
"name": "meta.at-rule.supports.less",
"patterns": [
{
"include": "#at-supports-operators"
},
{
"include": "#at-supports-parens"
}
]
},
{
"begin": "\\s*(\\{)",
"beginCaptures": {
"1": {
"name": "punctuation.section.property-list.begin.less"
}
},
"end": "(?=})",
"patterns": [
{
"include": "#rule-list-body"
},
{
"include": "$self"
}
]
}
]
},
"at-supports-operators": {
"match": "\\b(?:and|or|not)\\b",
"name": "keyword.operator.logic.less"
},
"at-supports-parens": {
"begin": "\\(",
"beginCaptures": {
"0": {
"name": "punctuation.definition.group.begin.less"
}
},
"end": "\\)",
"endCaptures": {
"0": {
"name": "punctuation.definition.group.end.less"
}
},
"name": "meta.group.less",
"patterns": [
{
"include": "#at-supports-operators"
},
{
"include": "#at-supports-parens"
},
{
"include": "#rule-list-body"
}
]
},
"attr-function": {
"begin": "\\b(attr)(?=\\()",
"beginCaptures": {
"1": {
"name": "support.function.filter.less"
}
},
"end": "\\)",
"endCaptures": {
"0": {
"name": "punctuation.definition.group.end.less"
}
},
"name": "meta.function-call.less",
"patterns": [
{
"begin": "\\(",
"beginCaptures": {
"0": {
"name": "punctuation.definition.group.begin.less"
}
},
"end": "(?=\\))",
"patterns": [
{
"include": "#qualified-name"
},
{
"include": "#literal-string"
},
{
"begin": "(-?(?:[A-Z_a-z[^\\x00-\\x7F]]|\\\\(?:\\h{1,6}[\\t\\n\\f\\s]?|[^\\n\\f\\h]))(?:[-\\w[^\\x00-\\x7F]]|\\\\(?:\\h{1,6}[\\t\\n\\f\\s]?|[^\\n\\f\\h]))*)",
"end": "(?=\\))",
"name": "entity.other.attribute-name.less",
"patterns": [
{
"match": "\\b((?i:em|ex|ch|rem)|(?i:v(?:[hw]|min|max))|(?i:cm|mm|q|in|pt|pc|px|fr)|(?i:deg|grad|rad|turn)|(?i:m??s)|(?i:k??Hz)|(?i:dp(?:i|cm|px)))\\b",
"name": "keyword.other.unit.less"
},
{
"include": "#comma-delimiter"
},
{
"include": "#property-value-constants"
},
{
"include": "#numeric-values"
}
]
},
{
"include": "#color-values"
}
]
}
]
},
"builtin-functions": {
"patterns": [
{
"include": "#attr-function"
},
{
"include": "#calc-function"
},
{
"include": "#color-functions"
},
{
"include": "#counter-functions"
},
{
"include": "#cross-fade-function"
},
{
"include": "#cubic-bezier-function"
},
{
"include": "#filter-function"
},
{
"include": "#fit-content-function"
},
{
"include": "#format-function"
},
{
"include": "#gradient-functions"
},
{
"include": "#grid-repeat-function"
},
{
"include": "#image-function"
},
{
"include": "#less-functions"
},
{
"include": "#local-function"
},
{
"include": "#minmax-function"
},
{
"include": "#regexp-function"
},
{
"include": "#shape-functions"
},
{
"include": "#steps-function"
},
{
"include": "#symbols-function"
},
{
"include": "#transform-functions"
},
{
"include": "#url-function"
},
{
"include": "#var-function"
}
]
},
"calc-function": {
"begin": "\\b(calc)(?=\\()",
"beginCaptures": {
"1": {
"name": "support.function.calc.less"
}
},
"end": "\\)",
"endCaptures": {
"0": {
"name": "punctuation.definition.group.end.less"
}
},
"name": "meta.function-call.less",
"patterns": [
{
"begin": "\\(",
"beginCaptures": {
"0": {
"name": "punctuation.definition.group.begin.less"
}
},
"end": "(?=\\))",
"patterns": [
{
"include": "#less-strings"
},
{
"include": "#var-function"
},
{
"include": "#calc-function"
},
{
"include": "#attr-function"
},
{
"include": "#less-math"
},
{
"include": "#relative-color"
}
]
}
]
},
"color-adjuster-operators": {
"match": "[-*+](?=\\s+)",
"name": "keyword.operator.less"
},
"color-functions": {
"patterns": [
{
"begin": "\\b(rgba?)(?=\\()",
"beginCaptures": {
"1": {
"name": "support.function.color.less"
}
},
"end": "\\)",
"endCaptures": {
"0": {
"name": "punctuation.definition.group.end.less"
}
},
"name": "meta.function-call.less",
"patterns": [
{
"begin": "\\(",
"beginCaptures": {
"0": {
"name": "punctuation.definition.group.begin.less"
}
},
"end": "(?=\\))",
"patterns": [
{
"include": "#less-strings"
},
{
"include": "#less-variables"
},
{
"include": "#var-function"
},
{
"include": "#comma-delimiter"
},
{
"include": "#value-separator"
},
{
"include": "#percentage-type"
},
{
"include": "#number-type"
}
]
}
]
},
{
"begin": "\\b(hsla?|hwb|oklab|oklch|lab|lch)(?=\\()",
"beginCaptures": {
"1": {
"name": "support.function.color.less"
}
},
"end": "\\)",
"endCaptures": {
"0": {
"name": "punctuation.definition.group.end.less"
}
},
"name": "meta.function-call.less",
"patterns": [
{
"begin": "\\(",
"beginCaptures": {
"0": {
"name": "punctuation.definition.group.begin.less"
}
},
"end": "(?=\\))",
"patterns": [
{
"include": "#color-values"
},
{
"include": "#less-strings"
},
{
"include": "#less-variables"
},
{
"include": "#var-function"
},
{
"include": "#comma-delimiter"
},
{
"include": "#angle-type"
},
{
"include": "#percentage-type"
},
{
"include": "#number-type"
},
{
"include": "#calc-function"
},
{
"include": "#value-separator"
}
]
}
]
},
{
"begin": "\\b(light-dark)(?=\\()",
"beginCaptures": {
"1": {
"name": "support.function.color.less"
}
},
"end": "\\)",
"endCaptures": {
"0": {
"name": "punctuation.definition.group.end.less"
}
},
"name": "meta.function-call.less",
"patterns": [
{
"begin": "\\(",
"beginCaptures": {
"0": {
"name": "punctuation.definition.group.begin.less"
}
},
"end": "(?=\\))",
"patterns": [
{
"include": "#color-values"
},
{
"include": "#comma-delimiter"
}
]
}
]
},
{
"include": "#less-color-functions"
}
]
},
"color-values": {
"patterns": [
{
"include": "#color-functions"
},
{
"include": "#less-functions"
},
{
"include": "#less-variables"
},
{
"include": "#var-function"
},
{
"match": "\\b(aqua|black|blue|fuchsia|gray|green|lime|maroon|navy|olive|orange|purple|red|silver|teal|white|yellow)\\b",
"name": "support.constant.color.w3c-standard-color-name.less"
},
{
"match": "\\b(aliceblue|antiquewhite|aquamarine|azure|beige|bisque|blanchedalmond|blueviolet|brown|burlywood|cadetblue|chartreuse|chocolate|coral|cornflowerblue|cornsilk|crimson|cyan|darkblue|darkcyan|darkgoldenrod|darkgray|darkgreen|darkgrey|darkkhaki|darkmagenta|darkolivegreen|darkorange|darkorchid|darkred|darksalmon|darkseagreen|darkslateblue|darkslategray|darkslategrey|darkturquoise|darkviolet|deeppink|deepskyblue|dimgray|dimgrey|dodgerblue|firebrick|floralwhite|forestgreen|gainsboro|ghostwhite|gold|goldenrod|greenyellow|grey|honeydew|hotpink|indianred|indigo|ivory|khaki|lavender|lavenderblush|lawngreen|lemonchiffon|lightblue|lightcoral|lightcyan|lightgoldenrodyellow|lightgray|lightgreen|lightgrey|lightpink|lightsalmon|lightseagreen|lightskyblue|lightslategray|lightslategrey|lightsteelblue|lightyellow|limegreen|linen|magenta|mediumaquamarine|mediumblue|mediumorchid|mediumpurple|mediumseagreen|mediumslateblue|mediumspringgreen|mediumturquoise|mediumvioletred|midnightblue|mintcream|mistyrose|moccasin|navajowhite|oldlace|olivedrab|orangered|orchid|palegoldenrod|palegreen|paleturquoise|palevioletred|papayawhip|peachpuff|peru|pink|plum|powderblue|rebeccapurple|rosybrown|royalblue|saddlebrown|salmon|sandybrown|seagreen|seashell|sienna|skyblue|slateblue|slategray|slategrey|snow|springgreen|steelblue|tan|thistle|tomato|turquoise|violet|wheat|whitesmoke|yellowgreen)\\b",
"name": "support.constant.color.w3c-extended-color-keywords.less"
},
{
"match": "\\b((?i)currentColor|transparent)\\b",
"name": "support.constant.color.w3c-special-color-keyword.less"
},
{
"captures": {
"1": {
"name": "punctuation.definition.constant.less"
}
},
"match": "(#)(\\h{3}|\\h{4}|\\h{6}|\\h{8})\\b",
"name": "constant.other.color.rgb-value.less"
},
{
"include": "#relative-color"
}
]
},
"comma-delimiter": {
"captures": {
"1": {
"name": "punctuation.separator.less"
}
},
"match": "\\s*(,)\\s*"
},
"comment-block": {
"patterns": [
{
"begin": "/\\*",
"beginCaptures": {
"0": {
"name": "punctuation.definition.comment.less"
}
},
"end": "\\*/",
"endCaptures": {
"0": {
"name": "punctuation.definition.comment.less"
}
},
"name": "comment.block.less"
},
{
"include": "#comment-line"
}
]
},
"comment-line": {
"captures": {
"1": {
"name": "punctuation.definition.comment.less"
}
},
"match": "(//).*$\\n?",
"name": "comment.line.double-slash.less"
},
"counter-functions": {
"patterns": [
{
"begin": "\\b(counter)(?=\\()",
"beginCaptures": {
"1": {
"name": "support.function.filter.less"
}
},
"end": "\\)",
"endCaptures": {
"0": {
"name": "punctuation.definition.group.end.less"
}
},
"name": "meta.function-call.less",
"patterns": [
{
"begin": "\\(",
"beginCaptures": {
"0": {
"name": "punctuation.definition.group.begin.less"
}
},
"end": "(?=\\))",
"patterns": [
{
"include": "#less-strings"
},
{
"include": "#less-variables"
},
{
"include": "#var-function"
},
{
"match": "--(?:[-\\w[^\\x00-\\x7F]]|\\\\(?:\\h{1,6}[\\t\\n\\f\\s]?|[^\\n\\f\\h]))+|-?(?:[A-Z_a-z[^\\x00-\\x7F]]|\\\\(?:\\h{1,6}[\\t\\n\\f\\s]?|[^\\n\\f\\h]))(?:[-\\w[^\\x00-\\x7F]]|\\\\(?:\\h{1,6}[\\t\\n\\f\\s]?|[^\\n\\f\\h]))*",
"name": "entity.other.counter-name.less"
},
{
"begin": "(?=,)",
"end": "(?=\\))",
"patterns": [
{
"include": "#comma-delimiter"
},
{
"match": "\\b((?i:arabic-indic|armenian|bengali|cambodian|circle|cjk-decimal|cjk-earthly-branch|cjk-heavenly-stem|decimal-leading-zero|decimal|devanagari|disclosure-closed|disclosure-open|disc|ethiopic-numeric|georgian|gujarati|gurmukhi|hebrew|hiragana-iroha|hiragana|japanese-formal|japanese-informal|kannada|katakana-iroha|katakana|khmer|korean-hangul-formal|korean-hanja-formal|korean-hanja-informal|lao|lower-alpha|lower-armenian|lower-greek|lower-latin|lower-roman|malayalam|mongolian|myanmar|oriya|persian|simp-chinese-formal|simp-chinese-informal|square|tamil|telugu|thai|tibetan|trad-chinese-formal|trad-chinese-informal|upper-alpha|upper-armenian|upper-latin|upper-roman)|none)\\b",
"name": "support.constant.property-value.counter-style.less"
}
]
}
]
}
]
},
{
"begin": "\\b(counters)(?=\\()",
"beginCaptures": {
"1": {
"name": "support.function.filter.less"
}
},
"end": "\\)",
"endCaptures": {
"0": {
"name": "punctuation.definition.group.end.less"
}
},
"name": "meta.function-call.less",
"patterns": [
{
"begin": "\\(",
"beginCaptures": {
"0": {
"name": "punctuation.definition.group.begin.less"
}
},
"end": "(?=\\))",
"patterns": [
{
"match": "(-?(?:[A-Z_a-z[^\\x00-\\x7F]]|\\\\(?:\\h{1,6}[\\t\\n\\f\\s]?|[^\\n\\f\\h]))(?:[-\\w[^\\x00-\\x7F]]|\\\\(?:\\h{1,6}[\\t\\n\\f\\s]?|[^\\n\\f\\h]))*)",
"name": "entity.other.counter-name.less string.unquoted.less"
},
{
"begin": "(?=,)",
"end": "(?=\\))",
"patterns": [
{
"include": "#less-strings"
},
{
"include": "#less-variables"
},
{
"include": "#var-function"
},
{
"include": "#literal-string"
},
{
"include": "#comma-delimiter"
},
{
"match": "\\b((?i:arabic-indic|armenian|bengali|cambodian|circle|cjk-decimal|cjk-earthly-branch|cjk-heavenly-stem|decimal-leading-zero|decimal|devanagari|disclosure-closed|disclosure-open|disc|ethiopic-numeric|georgian|gujarati|gurmukhi|hebrew|hiragana-iroha|hiragana|japanese-formal|japanese-informal|kannada|katakana-iroha|katakana|khmer|korean-hangul-formal|korean-hanja-formal|korean-hanja-informal|lao|lower-alpha|lower-armenian|lower-greek|lower-latin|lower-roman|malayalam|mongolian|myanmar|oriya|persian|simp-chinese-formal|simp-chinese-informal|square|tamil|telugu|thai|tibetan|trad-chinese-formal|trad-chinese-informal|upper-alpha|upper-armenian|upper-latin|upper-roman)|none)\\b",
"name": "support.constant.property-value.counter-style.less"
}
]
}
]
}
]
}
]
},
"cross-fade-function": {
"patterns": [
{
"begin": "\\b(cross-fade)(?=\\()",
"beginCaptures": {
"1": {
"name": "support.function.image.less"
}
},
"end": "\\)",
"endCaptures": {
"0": {
"name": "punctuation.definition.group.end.less"
}
},
"name": "meta.function-call.less",
"patterns": [
{
"begin": "\\(",
"beginCaptures": {
"0": {
"name": "punctuation.definition.group.begin.less"
}
},
"end": "(?=\\))",
"patterns": [
{
"include": "#comma-delimiter"
},
{
"include": "#percentage-type"
},
{
"include": "#color-values"
},
{
"include": "#image-type"
},
{
"include": "#literal-string"
},
{
"include": "#unquoted-string"
}
]
}
]
}
]
},
"cubic-bezier-function": {
"begin": "\\b(cubic-bezier)(\\()",
"beginCaptures": {
"1": {
"name": "support.function.timing.less"
},
"2": {
"name": "punctuation.definition.group.begin.less"
}
},
"contentName": "meta.group.less",
"end": "\\)",
"endCaptures": {
"0": {
"name": "punctuation.definition.group.end.less"
}
},
"name": "meta.function-call.less",
"patterns": [
{
"include": "#less-functions"
},
{
"include": "#calc-function"
},
{
"include": "#less-variables"
},
{
"include": "#var-function"
},
{
"include": "#comma-delimiter"
},
{
"include": "#number-type"
}
]
},
"custom-property-name": {
"captures": {
"1": {
"name": "punctuation.definition.custom-property.less"
},
"2": {
"name": "support.type.custom-property.name.less"
}
},
"match": "\\s*(--)((?:[-\\w[^\\x00-\\x7F]]|\\\\(?:\\h{1,6}[\\t\\n\\f\\s]?|[^\\n\\f\\h]))+)",
"name": "support.type.custom-property.less"
},
"dimensions": {
"patterns": [
{
"include": "#angle-type"
},
{
"include": "#frequency-type"
},
{
"include": "#time-type"
},
{
"include": "#percentage-type"
},
{
"include": "#length-type"
}
]
},
"filter-function": {
"begin": "\\b(filter)(?=\\()",
"beginCaptures": {
"1": {
"name": "support.function.filter.less"
}
},
"end": "\\)",
"endCaptures": {
"0": {
"name": "punctuation.definition.group.end.less"
}
},
"name": "meta.function-call.less",
"patterns": [
{
"begin": "\\(",
"beginCaptures": {
"0": {
"name": "punctuation.definition.group.begin.less"
}
},
"end": "(?=\\))",
"name": "meta.group.less",
"patterns": [
{
"include": "#comma-delimiter"
},
{
"include": "#image-type"
},
{
"include": "#literal-string"
},
{
"include": "#filter-functions"
}
]
}
]
},
"filter-functions": {
"patterns": [
{
"include": "#less-functions"
},
{
"begin": "\\b(blur)(?=\\()",
"beginCaptures": {
"1": {
"name": "support.function.filter.less"
}
},
"end": "\\)",
"endCaptures": {
"0": {
"name": "punctuation.definition.group.end.less"
}
},
"name": "meta.function-call.less",
"patterns": [
{
"begin": "\\(",
"beginCaptures": {
"0": {
"name": "punctuation.definition.group.begin.less"
}
},
"end": "(?=\\))",
"patterns": [
{
"include": "#length-type"
}
]
}
]
},
{
"begin": "\\b(brightness|contrast|grayscale|invert|opacity|saturate|sepia)(?=\\()",
"beginCaptures": {
"1": {
"name": "support.function.filter.less"
}
},
"end": "\\)",
"endCaptures": {
"0": {
"name": "punctuation.definition.group.end.less"
}
},
"name": "meta.function-call.less",
"patterns": [
{
"begin": "\\(",
"beginCaptures": {
"0": {
"name": "punctuation.definition.group.begin.less"
}
},
"end": "(?=\\))",
"patterns": [
{
"include": "#percentage-type"
},
{
"include": "#number-type"
},
{
"include": "#less-functions"
}
]
}
]
},
{
"begin": "\\b(drop-shadow)(?=\\()",
"beginCaptures": {
"1": {
"name": "support.function.filter.less"
}
},
"end": "\\)",
"endCaptures": {
"0": {
"name": "punctuation.definition.group.end.less"
}
},
"name": "meta.function-call.less",
"patterns": [
{
"begin": "\\(",
"beginCaptures": {
"0": {
"name": "punctuation.definition.group.begin.less"
}
},
"end": "(?=\\))",
"patterns": [
{
"include": "#length-type"
},
{
"include": "#color-values"
}
]
}
]
},
{
"begin": "\\b(hue-rotate)(?=\\()",
"beginCaptures": {
"1": {
"name": "support.function.filter.less"
}
},
"end": "\\)",
"endCaptures": {
"0": {
"name": "punctuation.definition.group.end.less"
}
},
"name": "meta.function-call.less",
"patterns": [
{
"begin": "\\(",
"beginCaptures": {
"0": {
"name": "punctuation.definition.group.begin.less"
}
},
"end": "(?=\\))",
"patterns": [
{
"include": "#angle-type"
}
]
}
]
}
]
},
"fit-content-function": {
"begin": "\\b(fit-content)(?=\\()",
"beginCaptures": {
"1": {
"name": "support.function.grid.less"
}
},
"end": "\\)",
"endCaptures": {
"0": {
"name": "punctuation.definition.group.end.less"
}
},
"name": "meta.function-call.less",
"patterns": [
{
"begin": "\\(",
"beginCaptures": {
"0": {
"name": "punctuation.definition.group.begin.less"
}
},
"end": "(?=\\))",
"patterns": [
{
"include": "#less-variables"
},
{
"include": "#var-function"
},
{
"include": "#calc-function"
},
{
"include": "#percentage-type"
},
{
"include": "#length-type"
}
]
}
]
},
"format-function": {
"patterns": [
{
"begin": "\\b(format)(?=\\()",
"beginCaptures": {
"0": {
"name": "support.function.format.less"
}
},
"end": "\\)",
"endCaptures": {
"0": {
"name": "punctuation.definition.group.end.less"
}
},
"name": "meta.function-call.less",
"patterns": [
{
"begin": "\\(",
"beginCaptures": {
"0": {
"name": "punctuation.definition.group.begin.less"
}
},
"end": "(?=\\))",
"patterns": [
{
"include": "#literal-string"
}
]
}
]
}
]
},
"frequency-type": {
"captures": {
"1": {
"name": "keyword.other.unit.less"
}
},
"match": "(?i:[-+]?(?:\\d*\\.\\d+(?:[Ee][-+]?\\d+)*|[-+]?\\d+)(k??Hz))\\b",
"name": "constant.numeric.less"
},
"global-property-values": {
"match": "\\b(?:initial|inherit|unset|revert-layer|revert)\\b",
"name": "support.constant.property-value.less"
},
"gradient-functions": {
"patterns": [
{
"begin": "\\b((?:repeating-)?linear-gradient)(?=\\()",
"beginCaptures": {
"1": {
"name": "support.function.gradient.less"
}
},
"end": "\\)",
"endCaptures": {
"0": {
"name": "punctuation.definition.group.end.less"
}
},
"name": "meta.function-call.less",
"patterns": [
{
"begin": "\\(",
"beginCaptures": {
"0": {
"name": "punctuation.definition.group.begin.less"
}
},
"end": "(?=\\))",
"patterns": [
{
"include": "#less-variables"
},
{
"include": "#var-function"
},
{
"include": "#angle-type"
},
{
"include": "#color-values"
},
{
"include": "#percentage-type"
},
{
"include": "#length-type"
},
{
"include": "#comma-delimiter"
},
{
"match": "\\bto\\b",
"name": "keyword.other.less"
},
{
"match": "\\b(top|right|bottom|left)\\b",
"name": "support.constant.property-value.less"
}
]
}
]
},
{
"begin": "\\b((?:repeating-)?radial-gradient)(?=\\()",
"beginCaptures": {
"1": {
"name": "support.function.gradient.less"
}
},
"end": "\\)",
"endCaptures": {
"0": {
"name": "punctuation.definition.group.end.less"
}
},
"name": "meta.function-call.less",
"patterns": [
{
"begin": "\\(",
"beginCaptures": {
"0": {
"name": "punctuation.definition.group.begin.less"
}
},
"end": "(?=\\))",
"patterns": [
{
"include": "#less-variables"
},
{
"include": "#var-function"
},
{
"include": "#color-values"
},
{
"include": "#percentage-type"
},
{
"include": "#length-type"
},
{
"include": "#comma-delimiter"
},
{
"match": "\\b(at|circle|ellipse)\\b",
"name": "keyword.other.less"
},
{
"match": "\\b(top|right|bottom|left|center|((?:farth|clos)est)-(corner|side))\\b",
"name": "support.constant.property-value.less"
}
]
}
]
}
]
},
"grid-repeat-function": {
"begin": "\\b(repeat)(?=\\()",
"beginCaptures": {
"1": {
"name": "support.function.grid.less"
}
},
"end": "\\)",
"endCaptures": {
"0": {
"name": "punctuation.definition.group.end.less"
}
},
"name": "meta.function-call.less",
"patterns": [
{
"begin": "\\(",
"beginCaptures": {
"0": {
"name": "punctuation.definition.group.begin.less"
}
},
"end": "(?=\\))",
"patterns": [
{
"include": "#comma-delimiter"
},
{
"include": "#var-function"
},
{
"include": "#length-type"
},
{
"include": "#percentage-type"
},
{
"include": "#minmax-function"
},
{
"include": "#integer-type"
},
{
"match": "\\b(auto-(fi(?:ll|t)))\\b",
"name": "support.keyword.repetitions.less"
},
{
"match": "\\b(((m(?:ax|in))-content)|auto)\\b",
"name": "support.constant.property-value.less"
}
]
}
]
},
"image-function": {
"begin": "\\b(image)(?=\\()",
"beginCaptures": {
"1": {
"name": "support.function.image.less"
}
},
"end": "\\)",
"endCaptures": {
"0": {
"name": "punctuation.definition.group.end.less"
}
},
"name": "meta.function-call.less",
"patterns": [
{
"begin": "\\(",
"beginCaptures": {
"0": {
"name": "punctuation.definition.group.begin.less"
}
},
"end": "(?=\\))",
"patterns": [
{
"include": "#image-type"
},
{
"include": "#literal-string"
},
{
"include": "#color-values"
},
{
"include": "#comma-delimiter"
},
{
"include": "#unquoted-string"
}
]
}
]
},
"image-type": {
"patterns": [
{
"include": "#cross-fade-function"
},
{
"include": "#gradient-functions"
},
{
"include": "#image-function"
},
{
"include": "#url-function"
}
]
},
"important": {
"captures": {
"1": {
"name": "punctuation.separator.less"
}
},
"match": "(!)\\s*important",
"name": "keyword.other.important.less"
},
"integer-type": {
"match": "[-+]?\\d+",
"name": "constant.numeric.less"
},
"keyframe-name": {
"begin": "\\s*(-?(?:[_a-z[^\\x00-\\x7F]]|(?:(:?\\\\[0-9a-f]{1,6}(\\r\\n|[\\t\\n\\f\\r\\s])?)|\\\\[^\\n\\f\\r0-9a-f]))(?:[-0-9_a-z[^\\x00-\\x7F]]|(?:(:?\\\\[0-9a-f]{1,6}(\\r\\n|[\\t\\n\\f\\r])?)|\\\\[^\\n\\f\\r0-9a-f]))*)?",
"beginCaptures": {
"1": {
"name": "variable.other.constant.animation-name.less"
}
},
"end": "\\s*(?:(,)|(?=[;{]))",
"endCaptures": {
"1": {
"name": "punctuation.definition.arbitrary-repetition.less"
}
}
},
"length-type": {
"patterns": [
{
"captures": {
"1": {
"name": "keyword.other.unit.less"
}
},
"match": "[-+]?(?:\\d+\\.\\d+|\\.?\\d+)(?:[Ee][-+]?\\d+)?(em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|[mq]|in|pt|pc|px|fr|dpi|dpcm|dppx|x)",
"name": "constant.numeric.less"
},
{
"match": "\\b[-+]?0\\b",
"name": "constant.numeric.less"
}
]
},
"less-boolean-function": {
"begin": "\\b(boolean)(?=\\()",
"beginCaptures": {
"1": {
"name": "support.function.boolean.less"
}
},
"end": "\\)",
"endCaptures": {
"0": {
"name": "punctuation.definition.group.end.less"
}
},
"name": "meta.function-call.less",
"patterns": [
{
"begin": "\\(",
"beginCaptures": {
"0": {
"name": "punctuation.definition.group.begin.less"
}
},
"end": "(?=\\))",
"patterns": [
{
"include": "#less-logical-comparisons"
}
]
}
]
},
"less-color-blend-functions": {
"patterns": [
{
"begin": "\\b(multiply|screen|overlay|(soft|hard)light|difference|exclusion|negation|average)(?=\\()",
"beginCaptures": {
"1": {
"name": "support.function.color-blend.less"
}
},
"end": "\\)",
"endCaptures": {
"0": {
"name": "punctuation.definition.group.end.less"
}
},
"name": "meta.function-call.less",
"patterns": [
{
"begin": "\\(",
"beginCaptures": {
"0": {
"name": "punctuation.definition.group.begin.less"
}
},
"end": "(?=\\))",
"patterns": [
{
"include": "#less-variables"
},
{
"include": "#var-function"
},
{
"include": "#comma-delimiter"
},
{
"include": "#color-values"
}
]
}
]
}
]
},
"less-color-channel-functions": {
"patterns": [
{
"begin": "\\b(hue|saturation|lightness|hsv(hue|saturation|value)|red|green|blue|alpha|luma|luminance)(?=\\()",
"beginCaptures": {
"1": {
"name": "support.function.color-definition.less"
}
},
"end": "\\)",
"endCaptures": {
"0": {
"name": "punctuation.definition.group.end.less"
}
},
"name": "meta.function-call.less",
"patterns": [
{
"begin": "\\(",
"beginCaptures": {
"0": {
"name": "punctuation.definition.group.begin.less"
}
},
"end": "(?=\\))",
"patterns": [
{
"include": "#color-values"
}
]
}
]
}
]
},
"less-color-definition-functions": {
"patterns": [
{
"begin": "\\b(argb)(?=\\()",
"beginCaptures": {
"1": {
"name": "support.function.color-definition.less"
}
},
"end": "\\)",
"endCaptures": {
"0": {
"name": "punctuation.definition.group.end.less"
}
},
"name": "meta.function-call.less",
"patterns": [
{
"begin": "\\(",
"beginCaptures": {
"0": {
"name": "punctuation.definition.group.begin.less"
}
},
"end": "(?=\\))",
"patterns": [
{
"include": "#less-variables"
},
{
"include": "#var-function"
},
{
"include": "#color-values"
}
]
}
]
},
{
"begin": "\\b(hsva?)(?=\\()",
"beginCaptures": {
"1": {
"name": "support.function.color.less"
}
},
"end": "\\)",
"endCaptures": {
"0": {
"name": "punctuation.definition.group.end.less"
}
},
"name": "meta.function-call.less",
"patterns": [
{
"begin": "\\(",
"beginCaptures": {
"0": {
"name": "punctuation.definition.group.begin.less"
}
},
"end": "(?=\\))",
"patterns": [
{
"include": "#integer-type"
},
{
"include": "#percentage-type"
},
{
"include": "#number-type"
},
{
"include": "#less-strings"
},
{
"include": "#less-variables"
},
{
"include": "#var-function"
},
{
"include": "#calc-function"
},
{
"include": "#comma-delimiter"
}
]
}
]
}
]
},
"less-color-functions": {
"patterns": [
{
"include": "#less-color-blend-functions"
},
{
"include": "#less-color-channel-functions"
},
{
"include": "#less-color-definition-functions"
},
{
"include": "#less-color-operation-functions"
}
]
},
"less-color-operation-functions": {
"patterns": [
{
"begin": "\\b(fade|shade|tint)(?=\\()",
"beginCaptures": {
"1": {
"name": "support.function.color-operation.less"
}
},
"end": "\\)",
"endCaptures": {
"0": {
"name": "punctuation.definition.group.end.less"
}
},
"name": "meta.function-call.less",
"patterns": [
{
"begin": "\\(",
"beginCaptures": {
"0": {
"name": "punctuation.definition.group.begin.less"
}
},
"end": "(?=\\))",
"patterns": [
{
"include": "#color-values"
},
{
"include": "#comma-delimiter"
},
{
"include": "#percentage-type"
}
]
}
]
},
{
"begin": "\\b(spin)(?=\\()",
"beginCaptures": {
"1": {
"name": "support.function.color-operation.less"
}
},
"end": "\\)",
"endCaptures": {
"0": {
"name": "punctuation.definition.group.end.less"
}
},
"name": "meta.function-call.less",
"patterns": [
{
"begin": "\\(",
"beginCaptures": {
"0": {
"name": "punctuation.definition.group.begin.less"
}
},
"end": "(?=\\))",
"patterns": [
{
"include": "#color-values"
},
{
"include": "#comma-delimiter"
},
{
"include": "#number-type"
}
]
}
]
},
{
"begin": "\\b(((de)?saturate)|((light|dark)en)|(fade(in|out)))(?=\\()",
"beginCaptures": {
"1": {
"name": "support.function.color-operation.less"
}
},
"end": "\\)",
"endCaptures": {
"0": {
"name": "punctuation.definition.group.end.less"
}
},
"name": "meta.function-call.less",
"patterns": [
{
"begin": "\\(",
"beginCaptures": {
"0": {
"name": "punctuation.definition.group.begin.less"
}
},
"end": "(?=\\))",
"patterns": [
{
"include": "#color-values"
},
{
"include": "#comma-delimiter"
},
{
"include": "#percentage-type"
},
{
"match": "\\brelative\\b",
"name": "constant.language.relative.less"
}
]
}
]
},
{
"begin": "\\b(contrast)(?=\\()",
"beginCaptures": {
"1": {
"name": "support.function.color-operation.less"
}
},
"end": "\\)",
"endCaptures": {
"0": {
"name": "punctuation.definition.group.end.less"
}
},
"name": "meta.function-call.less",
"patterns": [
{
"begin": "\\(",
"beginCaptures": {
"0": {
"name": "punctuation.definition.group.begin.less"
}
},
"end": "(?=\\))",
"patterns": [
{
"include": "#color-values"
},
{
"include": "#comma-delimiter"
},
{
"include": "#percentage-type"
}
]
}
]
},
{
"begin": "\\b(greyscale)(?=\\()",
"beginCaptures": {
"1": {
"name": "support.function.color-operation.less"
}
},
"end": "\\)",
"endCaptures": {
"0": {
"name": "punctuation.definition.group.end.less"
}
},
"name": "meta.function-call.less",
"patterns": [
{
"begin": "\\(",
"beginCaptures": {
"0": {
"name": "punctuation.definition.group.begin.less"
}
},
"end": "(?=\\))",
"patterns": [
{
"include": "#color-values"
}
]
}
]
},
{
"begin": "\\b(mix)(?=\\()",
"beginCaptures": {
"1": {
"name": "support.function.color-operation.less"
}
},
"end": "\\)",
"endCaptures": {
"0": {
"name": "punctuation.definition.group.end.less"
}
},
"name": "meta.function-call.less",
"patterns": [
{
"begin": "\\(",
"beginCaptures": {
"0": {
"name": "punctuation.definition.group.begin.less"
}
},
"end": "(?=\\))",
"patterns": [
{
"include": "#color-values"
},
{
"include": "#comma-delimiter"
},
{
"include": "#less-math"
},
{
"include": "#percentage-type"
}
]
}
]
}
]
},
"less-extend": {
"begin": "(:)(extend)(?=\\()",
"beginCaptures": {
"1": {
"name": "punctuation.definition.entity.less"
},
"2": {
"name": "entity.other.attribute-name.pseudo-class.extend.less"
}
},
"end": "\\)",
"endCaptures": {
"0": {
"name": "punctuation.definition.group.end.less"
}
},
"name": "meta.function-call.less",
"patterns": [
{
"begin": "\\(",
"beginCaptures": {
"0": {
"name": "punctuation.definition.group.begin.less"
}
},
"end": "(?=\\))",
"patterns": [
{
"match": "\\ball\\b",
"name": "constant.language.all.less"
},
{
"include": "#selectors"
}
]
}
]
},
"less-functions": {
"patterns": [
{
"include": "#less-boolean-function"
},
{
"include": "#less-color-functions"
},
{
"include": "#less-if-function"
},
{
"include": "#less-list-functions"
},
{
"include": "#less-math-functions"
},
{
"include": "#less-misc-functions"
},
{
"include": "#less-string-functions"
},
{
"include": "#less-type-functions"
}
]
},
"less-if-function": {
"begin": "\\b(if)(?=\\()",
"beginCaptures": {
"1": {
"name": "support.function.if.less"
}
},
"end": "\\)",
"endCaptures": {
"0": {
"name": "punctuation.definition.group.end.less"
}
},
"name": "meta.function-call.less",
"patterns": [
{
"begin": "\\(",
"beginCaptures": {
"0": {
"name": "punctuation.definition.group.begin.less"
}
},
"end": "(?=\\))",
"patterns": [
{
"include": "#less-mixin-guards"
},
{
"include": "#comma-delimiter"
},
{
"include": "#property-values"
}
]
}
]
},
"less-list-functions": {
"patterns": [
{
"begin": "\\b(length)(?=\\()\\b",
"beginCaptures": {
"1": {
"name": "support.function.length.less"
}
},
"end": "\\)",
"endCaptures": {
"0": {
"name": "punctuation.definition.group.end.less"
}
},
"name": "meta.function-call.less",
"patterns": [
{
"begin": "\\(",
"beginCaptures": {
"0": {
"name": "punctuation.definition.group.begin.less"
}
},
"end": "(?=\\))",
"patterns": [
{
"include": "#property-values"
},
{
"include": "#comma-delimiter"
}
]
}
]
},
{
"begin": "\\b(extract)(?=\\()\\b",
"beginCaptures": {
"1": {
"name": "support.function.extract.less"
}
},
"end": "\\)",
"endCaptures": {
"0": {
"name": "punctuation.definition.group.end.less"
}
},
"name": "meta.function-call.less",
"patterns": [
{
"begin": "\\(",
"beginCaptures": {
"0": {
"name": "punctuation.definition.group.begin.less"
}
},
"end": "(?=\\))",
"patterns": [
{
"include": "#property-values"
},
{
"include": "#comma-delimiter"
},
{
"include": "#integer-type"
}
]
}
]
},
{
"begin": "\\b(range)(?=\\()\\b",
"beginCaptures": {
"1": {
"name": "support.function.range.less"
}
},
"end": "\\)",
"endCaptures": {
"0": {
"name": "punctuation.definition.group.end.less"
}
},
"name": "meta.function-call.less",
"patterns": [
{
"begin": "\\(",
"beginCaptures": {
"0": {
"name": "punctuation.definition.group.begin.less"
}
},
"end": "(?=\\))",
"patterns": [
{
"include": "#property-values"
},
{
"include": "#comma-delimiter"
},
{
"include": "#integer-type"
}
]
}
]
}
]
},
"less-logical-comparisons": {
"patterns": [
{
"captures": {
"1": {
"name": "keyword.operator.logical.less"
}
},
"match": "\\s*(=|(([<>])=?))\\s*"
},
{
"begin": "\\(",
"beginCaptures": {
"0": {
"name": "punctuation.definition.group.begin.less"
}
},
"end": "\\)",
"endCaptures": {
"0": {
"name": "punctuation.definition.group.end.less"
}
},
"name": "meta.group.less",
"patterns": [
{
"include": "#less-logical-comparisons"
}
]
},
{
"match": "\\btrue|false\\b",
"name": "constant.language.less"
},
{
"match": ",",
"name": "punctuation.separator.less"
},
{
"include": "#property-values"
},
{
"include": "#selectors"
},
{
"include": "#unquoted-string"
}
]
},
"less-math": {
"patterns": [
{
"match": "[-*+/]",
"name": "keyword.operator.arithmetic.less"
},
{
"begin": "\\(",
"beginCaptures": {
"0": {
"name": "punctuation.definition.group.begin.less"
}
},
"end": "\\)",
"endCaptures": {
"0": {
"name": "punctuation.definition.group.end.less"
}
},
"name": "meta.group.less",
"patterns": [
{
"include": "#less-math"
}
]
},
{
"include": "#numeric-values"
},
{
"include": "#less-variables"
}
]
},
"less-math-functions": {
"patterns": [
{
"begin": "\\b(ceil|floor|percentage|round|sqrt|abs|a?(sin|cos|tan))(?=\\()",
"beginCaptures": {
"1": {
"name": "support.function.math.less"
}
},
"end": "\\)",
"endCaptures": {
"0": {
"name": "punctuation.definition.group.end.less"
}
},
"name": "meta.function-call.less",
"patterns": [
{
"begin": "\\(",
"beginCaptures": {
"0": {
"name": "punctuation.definition.group.begin.less"
}
},
"end": "(?=\\))",
"patterns": [
{
"include": "#less-variables"
},
{
"include": "#numeric-values"
}
]
}
]
},
{
"captures": {
"2": {
"name": "support.function.math.less"
},
"3": {
"name": "punctuation.definition.group.begin.less"
},
"4": {
"name": "punctuation.definition.group.end.less"
}
},
"match": "((pi)(\\()(\\)))",
"name": "meta.function-call.less"
},
{
"begin": "\\b(pow|m(od|in|ax))(?=\\()",
"beginCaptures": {
"1": {
"name": "support.function.math.less"
}
},
"end": "\\)",
"endCaptures": {
"0": {
"name": "punctuation.definition.group.end.less"
}
},
"name": "meta.function-call.less",
"patterns": [
{
"begin": "\\(",
"beginCaptures": {
"0": {
"name": "punctuation.definition.group.begin.less"
}
},
"end": "(?=\\))",
"patterns": [
{
"include": "#less-variables"
},
{
"include": "#numeric-values"
},
{
"include": "#comma-delimiter"
}
]
}
]
}
]
},
"less-misc-functions": {
"patterns": [
{
"begin": "\\b(color)(?=\\()",
"beginCaptures": {
"1": {
"name": "support.function.color.less"
}
},
"end": "\\)",
"endCaptures": {
"0": {
"name": "punctuation.definition.group.end.less"
}
},
"name": "meta.function-call.less",
"patterns": [
{
"begin": "\\(",
"beginCaptures": {
"0": {
"name": "punctuation.definition.group.begin.less"
}
},
"end": "(?=\\))",
"patterns": [
{
"include": "#literal-string"
}
]
}
]
},
{
"begin": "\\b(image-(size|width|height))(?=\\()",
"beginCaptures": {
"1": {
"name": "support.function.image.less"
}
},
"end": "\\)",
"endCaptures": {
"0": {
"name": "punctuation.definition.group.end.less"
}
},
"name": "meta.function-call.less",
"patterns": [
{
"begin": "\\(",
"beginCaptures": {
"0": {
"name": "punctuation.definition.group.begin.less"
}
},
"end": "(?=\\))",
"patterns": [
{
"include": "#literal-string"
},
{
"include": "#unquoted-string"
}
]
}
]
},
{
"begin": "\\b(convert|unit)(?=\\()",
"beginCaptures": {
"1": {
"name": "support.function.convert.less"
}
},
"end": "\\)",
"endCaptures": {
"0": {
"name": "punctuation.definition.group.end.less"
}
},
"name": "meta.function-call.less",
"patterns": [
{
"begin": "\\(",
"beginCaptures": {
"0": {
"name": "punctuation.definition.group.begin.less"
}
},
"end": "(?=\\))",
"patterns": [
{
"include": "#less-variables"
},
{
"include": "#numeric-values"
},
{
"include": "#literal-string"
},
{
"include": "#comma-delimiter"
},
{
"match": "(([cm])?m|in|p([ctx])|m?s|g?rad|deg|turn|%|r?em|ex|ch)",
"name": "keyword.other.unit.less"
}
]
}
]
},
{
"begin": "\\b(data-uri)(?=\\()",
"beginCaptures": {
"1": {
"name": "support.function.data-uri.less"
}
},
"end": "\\)",
"endCaptures": {
"0": {
"name": "punctuation.definition.group.end.less"
}
},
"name": "meta.function-call.less",
"patterns": [
{
"begin": "\\(",
"beginCaptures": {
"0": {
"name": "punctuation.definition.group.begin.less"
}
},
"end": "(?=\\))",
"patterns": [
{
"include": "#less-variables"
},
{
"include": "#literal-string"
},
{
"captures": {
"1": {
"name": "punctuation.separator.less"
}
},
"match": "\\s*(,)"
}
]
}
]
},
{
"captures": {
"2": {
"name": "punctuation.definition.group.begin.less"
},
"3": {
"name": "punctuation.definition.group.end.less"
}
},
"match": "\\b(default(\\()(\\)))\\b",
"name": "support.function.default.less"
},
{
"begin": "\\b(get-unit)(?=\\()",
"beginCaptures": {
"1": {
"name": "support.function.get-unit.less"
}
},
"end": "\\)",
"endCaptures": {
"0": {
"name": "punctuation.definition.group.end.less"
}
},
"name": "meta.function-call.less",
"patterns": [
{
"begin": "\\(",
"beginCaptures": {
"0": {
"name": "punctuation.definition.group.begin.less"
}
},
"end": "(?=\\))",
"patterns": [
{
"include": "#dimensions"
}
]
}
]
},
{
"begin": "\\b(svg-gradient)(?=\\()",
"beginCaptures": {
"1": {
"name": "support.function.svg-gradient.less"
}
},
"end": "\\)",
"endCaptures": {
"0": {
"name": "punctuation.definition.group.end.less"
}
},
"name": "meta.function-call.less",
"patterns": [
{
"begin": "\\(",
"beginCaptures": {
"0": {
"name": "punctuation.definition.group.begin.less"
}
},
"end": "(?=\\))",
"patterns": [
{
"include": "#angle-type"
},
{
"include": "#comma-delimiter"
},
{
"include": "#color-values"
},
{
"include": "#percentage-type"
},
{
"include": "#length-type"
},
{
"match": "\\bto\\b",
"name": "keyword.other.less"
},
{
"match": "\\b(top|right|bottom|left|center)\\b",
"name": "support.constant.property-value.less"
},
{
"match": "\\b(at|circle|ellipse)\\b",
"name": "keyword.other.less"
}
]
}
]
}
]
},
"less-mixin-guards": {
"patterns": [
{
"begin": "\\s*(and|not|or)?\\s*(?=\\()",
"beginCaptures": {
"1": {
"name": "keyword.operator.logical.less"
}
},
"end": "\\)",
"endCaptures": {
"0": {
"name": "punctuation.definition.group.end.less"
}
},
"patterns": [
{
"begin": "\\(",
"beginCaptures": {
"0": {
"name": "punctuation.definition.group.begin.less"
}
},
"end": "(?=\\))",
"name": "meta.group.less",
"patterns": [
{
"include": "#less-variable-comparison"
},
{
"captures": {
"1": {
"name": "meta.group.less"
},
"2": {
"name": "punctuation.definition.group.begin.less"
},
"3": {
"name": "punctuation.definition.group.end.less"
}
},
"match": "default((\\()(\\)))",
"name": "support.function.default.less"
},
{
"include": "#property-values"
},
{
"include": "#less-logical-comparisons"
},
{
"include": "$self"
}
]
}
]
}
]
},
"less-namespace-accessors": {
"patterns": [
{
"begin": "(?=\\s*when\\b)",
"end": "\\s*(?:(,)|(?=[;{]))",
"endCaptures": {
"1": {
"name": "punctuation.definition.block.end.less"
}
},
"name": "meta.conditional.guarded-namespace.less",
"patterns": [
{
"captures": {
"1": {
"name": "keyword.control.conditional.less"
},
"2": {
"name": "punctuation.definition.keyword.less"
}
},
"match": "\\s*(when)(?=.*?)"
},
{
"include": "#less-mixin-guards"
},
{
"include": "#comma-delimiter"
},
{
"begin": "\\s*(\\{)",
"beginCaptures": {
"1": {
"name": "punctuation.section.property-list.begin.less"
}
},
"end": "(?=})",
"name": "meta.block.less",
"patterns": [
{
"include": "#rule-list-body"
}
]
},
{
"include": "#selectors"
}
]
},
{
"begin": "(\\()",
"beginCaptures": {
"1": {
"name": "punctuation.definition.group.begin.less"
}
},
"end": "(\\))",
"endCaptures": {
"1": {
"name": "punctuation.definition.group.end.less"
},
"2": {
"name": "punctuation.terminator.rule.less"
}
},
"name": "meta.group.less",
"patterns": [
{
"include": "#less-variable-assignment"
},
{
"include": "#comma-delimiter"
},
{
"include": "#property-values"
},
{
"include": "#rule-list-body"
}
]
},
{
"captures": {
"1": {
"name": "punctuation.terminator.rule.less"
}
},
"match": "(;)|(?=[)}])"
}
]
},
"less-string-functions": {
"patterns": [
{
"begin": "\\b(e(scape)?)(?=\\()\\b",
"beginCaptures": {
"1": {
"name": "support.function.escape.less"
}
},
"end": "\\)",
"endCaptures": {
"0": {
"name": "punctuation.definition.group.end.less"
}
},
"name": "meta.function-call.less",
"patterns": [
{
"begin": "\\(",
"beginCaptures": {
"0": {
"name": "punctuation.definition.group.begin.less"
}
},
"end": "(?=\\))",
"patterns": [
{
"include": "#less-variables"
},
{
"include": "#comma-delimiter"
},
{
"include": "#literal-string"
},
{
"include": "#unquoted-string"
}
]
}
]
},
{
"begin": "\\s*(%)(?=\\()\\s*",
"beginCaptures": {
"1": {
"name": "support.function.format.less"
}
},
"end": "\\)",
"endCaptures": {
"0": {
"name": "punctuation.definition.group.end.less"
}
},
"name": "meta.function-call.less",
"patterns": [
{
"begin": "\\(",
"beginCaptures": {
"0": {
"name": "punctuation.definition.group.begin.less"
}
},
"end": "(?=\\))",
"patterns": [
{
"include": "#less-variables"
},
{
"include": "#comma-delimiter"
},
{
"include": "#literal-string"
},
{
"include": "#property-values"
}
]
}
]
},
{
"begin": "\\b(replace)(?=\\()\\b",
"beginCaptures": {
"1": {
"name": "support.function.replace.less"
}
},
"end": "\\)",
"endCaptures": {
"0": {
"name": "punctuation.definition.group.end.less"
}
},
"name": "meta.function-call.less",
"patterns": [
{
"begin": "\\(",
"beginCaptures": {
"0": {
"name": "punctuation.definition.group.begin.less"
}
},
"end": "(?=\\))",
"patterns": [
{
"include": "#less-variables"
},
{
"include": "#comma-delimiter"
},
{
"include": "#literal-string"
},
{
"include": "#property-values"
}
]
}
]
}
]
},
"less-strings": {
"patterns": [
{
"begin": "(~)([\"'])",
"beginCaptures": {
"1": {
"name": "constant.character.escape.less"
},
"2": {
"name": "punctuation.definition.string.begin.less"
}
},
"contentName": "markup.raw.inline.less",
"end": "([\"'])|(\\n)",
"endCaptures": {
"1": {
"name": "punctuation.definition.string.end.less"
},
"2": {
"name": "invalid.illegal.newline.less"
}
},
"name": "string.quoted.other.less",
"patterns": [
{
"include": "#string-content"
}
]
}
]
},
"less-type-functions": {
"patterns": [
{
"begin": "\\b(is(number|string|color|keyword|url|pixel|em|percentage|ruleset))(?=\\()",
"beginCaptures": {
"1": {
"name": "support.function.type.less"
}
},
"end": "\\)",
"endCaptures": {
"0": {
"name": "punctuation.definition.group.end.less"
}
},
"name": "meta.function-call.less",
"patterns": [
{
"begin": "\\(",
"beginCaptures": {
"0": {
"name": "punctuation.definition.group.begin.less"
}
},
"end": "(?=\\))",
"patterns": [
{
"include": "#property-values"
}
]
}
]
},
{
"begin": "\\b(isunit)(?=\\()",
"beginCaptures": {
"1": {
"name": "support.function.type.less"
}
},
"end": "\\)",
"endCaptures": {
"0": {
"name": "punctuation.definition.group.end.less"
}
},
"name": "meta.function-call.less",
"patterns": [
{
"begin": "\\(",
"beginCaptures": {
"0": {
"name": "punctuation.definition.group.begin.less"
}
},
"end": "(?=\\))",
"patterns": [
{
"include": "#property-values"
},
{
"include": "#comma-delimiter"
},
{
"match": "\\b((?i:em|ex|ch|rem)|(?i:v(?:[hw]|min|max))|(?i:cm|mm|q|in|pt|pc|px|fr)|(?i:deg|grad|rad|turn)|(?i:m??s)|(?i:k??Hz)|(?i:dp(?:i|cm|px)))\\b",
"name": "keyword.other.unit.less"
}
]
}
]
},
{
"begin": "\\b(isdefined)(?=\\()",
"beginCaptures": {
"1": {
"name": "support.function.type.less"
}
},
"end": "\\)",
"endCaptures": {
"0": {
"name": "punctuation.definition.group.end.less"
}
},
"name": "meta.function-call.less",
"patterns": [
{
"begin": "\\(",
"beginCaptures": {
"0": {
"name": "punctuation.definition.group.begin.less"
}
},
"end": "(?=\\))",
"patterns": [
{
"include": "#less-variables"
}
]
}
]
}
]
},
"less-variable-assignment": {
"patterns": [
{
"begin": "(@)(-?(?:[-\\w[^\\x00-\\x7F]]|\\\\(?:\\h{1,6}[\\t\\n\\f\\s]?|[^\\n\\f\\h]))(?:[-\\w[^\\x00-\\x7F]]|\\\\(?:\\h{1,6}[\\t\\n\\f\\s]?|[^\\n\\f\\h]))*)",
"beginCaptures": {
"0": {
"name": "variable.other.readwrite.less"
},
"1": {
"name": "punctuation.definition.variable.less"
},
"2": {
"name": "support.other.variable.less"
}
},
"end": "\\s*(;|(\\.{3})|(?=\\)))",
"endCaptures": {
"1": {
"name": "punctuation.terminator.rule.less"
},
"2": {
"name": "keyword.operator.spread.less"
}
},
"name": "meta.property-value.less",
"patterns": [
{
"captures": {
"1": {
"name": "punctuation.separator.key-value.less"
},
"4": {
"name": "meta.property-value.less"
}
},
"match": "(((\\+_?)?):)([\\t\\s]*)"
},
{
"include": "#property-values"
},
{
"include": "#comma-delimiter"
},
{
"include": "#property-list"
},
{
"include": "#unquoted-string"
}
]
}
]
},
"less-variable-comparison": {
"patterns": [
{
"begin": "(@{1,2})(-?([_a-z[^\\x00-\\x7F]]|\\\\(?:\\h{1,6}[\\t\\n\\f\\s]?|[^\\n\\f\\h]))(?:[-\\w[^\\x00-\\x7F]]|\\\\(?:\\h{1,6}[\\t\\n\\f\\s]?|[^\\n\\f\\h]))*)",
"beginCaptures": {
"0": {
"name": "variable.other.readwrite.less"
},
"1": {
"name": "punctuation.definition.variable.less"
},
"2": {
"name": "support.other.variable.less"
}
},
"end": "\\s*(?=\\))",
"endCaptures": {
"1": {
"name": "punctuation.terminator.rule.less"
}
},
"patterns": [
{
"captures": {
"1": {
"name": "keyword.operator.logical.less"
}
},
"match": "\\s*(=|(([<>])=?))\\s*"
},
{
"match": "\\btrue\\b",
"name": "constant.language.less"
},
{
"include": "#property-values"
},
{
"include": "#selectors"
},
{
"include": "#unquoted-string"
},
{
"match": ",",
"name": "punctuation.separator.less"
}
]
}
]
},
"less-variable-interpolation": {
"captures": {
"1": {
"name": "punctuation.definition.variable.less"
},
"2": {
"name": "punctuation.definition.expression.less"
},
"3": {
"name": "support.other.variable.less"
},
"4": {
"name": "punctuation.definition.expression.less"
}
},
"match": "(@)(\\{)([-\\w]+)(})",
"name": "variable.other.readwrite.less"
},
"less-variables": {
"patterns": [
{
"captures": {
"1": {
"name": "punctuation.definition.variable.less"
},
"2": {
"name": "support.other.variable.less"
}
},
"match": "\\s*(@@?)([-\\w]+)",
"name": "variable.other.readwrite.less"
},
{
"include": "#less-variable-interpolation"
}
]
},
"literal-string": {
"patterns": [
{
"begin": "'",
"beginCaptures": {
"0": {
"name": "punctuation.definition.string.begin.less"
}
},
"end": "(')|(\\n)",
"endCaptures": {
"1": {
"name": "punctuation.definition.string.end.less"
},
"2": {
"name": "invalid.illegal.newline.less"
}
},
"name": "string.quoted.single.less",
"patterns": [
{
"include": "#string-content"
}
]
},
{
"begin": "\"",
"beginCaptures": {
"0": {
"name": "punctuation.definition.string.begin.less"
}
},
"end": "(\")|(\\n)",
"endCaptures": {
"1": {
"name": "punctuation.definition.string.end.less"
},
"2": {
"name": "invalid.illegal.newline.less"
}
},
"name": "string.quoted.double.less",
"patterns": [
{
"include": "#string-content"
}
]
},
{
"include": "#less-strings"
}
]
},
"local-function": {
"begin": "\\b(local)(?=\\()",
"beginCaptures": {
"0": {
"name": "support.function.font-face.less"
}
},
"end": "\\)",
"endCaptures": {
"0": {
"name": "punctuation.definition.group.end.less"
}
},
"name": "meta.function-call.less",
"patterns": [
{
"begin": "\\(",
"beginCaptures": {
"0": {
"name": "punctuation.definition.group.begin.less"
}
},
"end": "(?=\\))",
"patterns": [
{
"include": "#unquoted-string"
}
]
}
]
},
"media-query": {
"begin": "\\s*(only|not)?\\s*(all|aural|braille|embossed|handheld|print|projection|screen|tty|tv)?",
"beginCaptures": {
"1": {
"name": "keyword.operator.logic.media.less"
},
"2": {
"name": "support.constant.media.less"
}
},
"end": "\\s*(?:(,)|(?=[;{]))",
"endCaptures": {
"1": {
"name": "punctuation.definition.arbitrary-repetition.less"
}
},
"patterns": [
{
"include": "#less-variables"
},
{
"include": "#custom-property-name"
},
{
"begin": "\\s*(and)?\\s*(\\()\\s*",
"beginCaptures": {
"1": {
"name": "keyword.operator.logic.media.less"
},
"2": {
"name": "punctuation.definition.group.begin.less"
}
},
"end": "\\)",
"endCaptures": {
"0": {
"name": "punctuation.definition.group.end.less"
}
},
"name": "meta.group.less",
"patterns": [
{
"begin": "(--|-?(?:[A-Z_a-z·À-ÖØ-öø-ͽͿ-῿‌‍‿⁀⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-<2D>𐀀-\\x{EFFFF}]|\\\\(?:\\N|\\H|\\h{1,6}[R\\s]))(?:[-A-Z_a-z·À-ÖØ-öø-ͽͿ-῿‌‍‿⁀⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-<2D>𐀀-\\x{EFFFF}\\d]|\\\\(?:\\N|\\H|\\h{1,6}[R\\s]))*)\\s*(?=[):])",
"beginCaptures": {
"0": {
"name": "support.type.property-name.media.less"
}
},
"end": "(((\\+_?)?):)|(?=\\))",
"endCaptures": {
"1": {
"name": "punctuation.separator.key-value.less"
}
}
},
{
"match": "\\b(portrait|landscape|progressive|interlace)",
"name": "support.constant.property-value.less"
},
{
"captures": {
"1": {
"name": "constant.numeric.less"
},
"2": {
"name": "keyword.operator.arithmetic.less"
},
"3": {
"name": "constant.numeric.less"
}
},
"match": "\\s*(\\d+)(/)(\\d+)"
},
{
"include": "#less-math"
}
]
}
]
},
"media-query-list": {
"begin": "\\s*(?=[^;{])",
"end": "\\s*(?=[;{])",
"patterns": [
{
"include": "#media-query"
}
]
},
"minmax-function": {
"begin": "\\b(minmax)(?=\\()",
"beginCaptures": {
"1": {
"name": "support.function.grid.less"
}
},
"end": "\\)",
"endCaptures": {
"0": {
"name": "punctuation.definition.group.end.less"
}
},
"name": "meta.function-call.less",
"patterns": [
{
"begin": "\\(",
"beginCaptures": {
"0": {
"name": "punctuation.definition.group.begin.less"
}
},
"end": "(?=\\))",
"patterns": [
{
"include": "#less-variables"
},
{
"include": "#var-function"
},
{
"include": "#length-type"
},
{
"include": "#comma-delimiter"
},
{
"match": "\\b(m(?:ax|in)-content)\\b",
"name": "support.constant.property-value.less"
}
]
}
]
},
"number-type": {
"match": "[-+]?(?:\\d+\\.\\d+|\\.?\\d+)(?:[Ee][-+]?\\d+)?",
"name": "constant.numeric.less"
},
"numeric-values": {
"patterns": [
{
"include": "#dimensions"
},
{
"include": "#percentage-type"
},
{
"include": "#number-type"
}
]
},
"percentage-type": {
"captures": {
"1": {
"name": "keyword.other.unit.less"
}
},
"match": "[-+]?(?:\\d+\\.\\d+|\\.?\\d+)(?:[Ee][-+]?\\d+)?(%)",
"name": "constant.numeric.less"
},
"property-list": {
"patterns": [
{
"begin": "(?=(?=[^;]*)\\{)",
"end": "}",
"endCaptures": {
"0": {
"name": "punctuation.definition.block.end.less"
}
},
"patterns": [
{
"include": "#rule-list"
}
]
}
]
},
"property-value-constants": {
"patterns": [
{
"match": "\\b(flex-start|flex-end|start|end|space-between|space-around|space-evenly|stretch|baseline|safe|unsafe|legacy|anchor-center|first|last|self-start|self-end)\\b",
"name": "support.constant.property-value.less"
},
{
"match": "\\b(text-before-edge|before-edge|middle|central|text-after-edge|after-edge|ideographic|alphabetic|hanging|mathematical|top|center|bottom)\\b",
"name": "support.constant.property-value.less"
},
{
"include": "#global-property-values"
},
{
"include": "#cubic-bezier-function"
},
{
"include": "#steps-function"
},
{
"match": "\\b(?:replace|add|accumulate)\\b",
"name": "support.constant.property-value.less"
},
{
"match": "\\b(?:normal|alternate-reverse|alternate|reverse)\\b",
"name": "support.constant.property-value.less"
},
{
"match": "\\b(?:forwards|backwards|both)\\b",
"name": "support.constant.property-value.less"
},
{
"match": "\\binfinite\\b",
"name": "support.constant.property-value.less"
},
{
"match": "\\b(?:running|paused)\\b",
"name": "support.constant.property-value.less"
},
{
"match": "\\be(?:ntry|xit)(?:-crossing|)\\b",
"name": "support.constant.property-value.less"
},
{
"match": "\\b(linear|ease-in-out|ease-in|ease-out|ease|step-start|step-end)\\b",
"name": "support.constant.property-value.less"
},
{
"match": "\\b(absolute|active|add|all-petite-caps|all-small-caps|all-scroll|all|alphabetic|alpha|alternate-reverse|alternate|always|annotation|antialiased|at|autohiding-scrollbar|auto|avoid-column|avoid-page|avoid-region|avoid|background-color|background-image|background-position|background-size|background-repeat|background|backwards|balance|baseline|below|bevel|bicubic|bidi-override|blink|block-line-height|block-start|block-end|block|blur|bolder|bold|border-top-left-radius|border-top-right-radius|border-bottom-left-radius|border-bottom-right-radius|border-end-end-radius|border-end-start-radius|border-start-end-radius|border-start-start-radius|border-block-start-color|border-block-start-style|border-block-start-width|border-block-start|border-block-end-color|border-block-end-style|border-block-end-width|border-block-end|border-block-color|border-block-style|border-block-width|border-block|border-inline-start-color|border-inline-start-style|border-inline-start-width|border-inline-start|border-inline-end-color|border-inline-end-style|border-inline-end-width|border-inline-end|border-inline-color|border-inline-style|border-inline-width|border-inline|border-top-color|border-top-style|border-top-width|border-top|border-right-color|border-right-style|border-right-width|border-right|border-bottom-color|border-bottom-style|border-bottom-width|border-bottom|border-left-color|border-left-style|border-left-width|border-left|border-image-outset|border-image-repeat|border-image-slice|border-image-source|border-image-width|border-image|border-color|border-style|border-width|border-radius|border-collapse|border-spacing|border|both|bottom|box-shadow|box|break-all|break-word|break-spaces|brightness|butt(on)?|capitalize|central|center|char(acter-variant)?|cjk-ideographic|clip|clone|close-quote|closest-corner|closest-side|col-resize|collapse|color-stop|color-burn|color-dodge|color|column-count|column-gap|column-reverse|column-rule-color|column-rule-width|column-rule|column-width|columns?|common-ligatures|condensed|consider-shifts|contain|content-box|contents?|contextual|contrast|cover|crisp-edges|crispEdges|crop|crosshair|cross|darken|dashed|default|dense|device-width|diagonal-fractions|difference|disabled|discard|discretionary-ligatures|disregard-shifts|distribute-all-lines|distribute-letter|distribute-space|distribute|dotted|double|drop-shadow|[ensw]{1,4}-resize|ease-in-out|ease-in|ease-out|ease|element|ellipsis|embed|end|EndColorStr|evenodd|exclude-ruby|exclusion|expanded|extra-condensed|extra-expanded|farthest-corner|farthest-side|farthest|fill-box|fill-opacity|fill|filter|fit-content|fixed|flat|flex-basis|flex-end|flex-grow|flex-shrink|flex-start|flexbox|flex|flip|flood-color|font-size-adjust|font-size|font-stretch|font-weight|font|forwards|from-image|from|full-width|gap|geometricPrecision|glyphs|gradient|grayscale|grid-column-gap|grid-column|grid-row-gap|grid-row|grid-gap|grid-height|grid|groove|hand|hanging|hard-light|height|help|hidden|hide|historical-forms|historical-ligatures|horizontal-tb|horizontal|hue|ideographic|ideograph-alpha|ideograph-numeric|ideograph-parenthesis|ideograph-space|inactive|include-ruby|infinite|inherit|initial|inline-end|inline-size|inline-start|inline-table|inline-line-height|inline-flexbox|inline-flex|inline-box|inline-block|inline|inset|inside|inter-ideograph|inter-word|intersect|invert|isolate|isolation|italic|jis(04|78|83|90)|justify-all|justify|keep-all|larger?|last|layout|left|letter-spacing|lighten|lighter|lighting-color|linear-gradient|linearRGB|linear|line-edge|line-height|line-through|line|lining-nums|list-item|local|loose|lowercase|lr-tb|ltr|luminosity|luminance|manual|manipulation|margin-bottom|margin-box|margin-left|margin-right|margin-top|margin|marker(-offset|s)?|match-parent|mathematical|max-(content|height|lines|size|width)|medium|middle|min-(content|height|width)|miter|mixed|move|multiply|newspaper|no-change|no-clip|no-close-quote|no-open-quote|no-common-ligatures|no-discretionary-ligatures|no-historical-ligatures|no-contextual|no-drop|no-repeat|none|nonzero|normal|not-allowed|nowrap|oblique|offset-after|offset-before|offset-end|offset-start|offset|oldstyle-nums|opacity|open-quote|optimize(Legibility|Precision|Quality|Speed)|order|ordinal|ornaments|outline-color|outline-offset|outline-width|outline|outset|outside|overline|over-edge|overlay|padding(-(?:bottom|box|left|right|top|box))?|page|paint(ed)?|paused|pan-(x|left|right|y|up|down)|perspective-origin|petite-caps|pixelated|pointer|pinch-zoom|pretty|pre(-(?:line|wrap))?|preserve-3d|preserve-breaks|preserve-spaces|preserve|progid:DXImageTransform\\.Microsoft\\.(Alpha|Blur|dropshadow|gradient|Shadow)|progress|proportional-nums|proportional-width|radial-gradient|recto|region|relative|repeating-linear-gradient|repeating-radial-gradient|repeat-x|repeat-y|repeat|replaced|reset-size|reverse|revert-layer|revert|ridge|right|round|row-gap|row-resize|row-reverse|row|rtl|ruby|running|saturate|saturation|screen|scrollbar|scroll-position|scroll|separate|sepia|scale-down|semi-condensed|semi-expanded|shape-image-threshold|shape-margin|shape-outside|show|sideways-lr|sideways-rl|sideways|simplified|size|slashed-zero|slice|small-caps|smaller|small|smooth|snap|solid|soft-light|space-around|space-between|space|span|sRGB|stable|stacked-fractions|stack|startColorStr|start|static|step-end|step-start|sticky|stop-color|stop-opacity|stretch|strict|stroke-box|stroke-dasharray|stroke-dashoffset|stroke-miterlimit|stroke-opacity|stroke-width|stroke|styleset|style|stylistic|subgrid|subpixel-antialiased|subtract|super|swash|table-caption|table-cell|table-column-group|table-footer-group|table-header-group|table-row-group|table-column|table-row|table|tabular-nums|tb-rl|text((-(?:bottom|(decoration|emphasis)-color|indent|(over|under)-edge|shadow|size(-adjust)?|top))|field)?|thick|thin|titling-caps|titling-case|top|touch|to|traditional|transform-origin|transform-style|transform|ultra-condensed|ultra-expanded|under-edge|underline|unicase|unset|uppercase|upright|use-glyph-orientation|use-script|verso|vertical(-(?:align|ideographic|lr|rl|text))?|view-box|viewport-fill-opacity|viewport-fill|visibility|visibleFill|visiblePainted|visibleStroke|visible|wait|wavy|weight|whitespace|width|word-spacing|wrap-reverse|wrap|xx?-(large|small)|z-index|zero|zoom-in|zoom-out|zoom|arabic-indic|armenian|bengali|cambodian|circle|cjk-decimal|cjk-earthly-branch|cjk-heavenly-stem|decimal-leading-zero|decimal|devanagari|disclosure-closed|disclosure-open|disc|ethiopic-numeric|georgian|gujarati|gurmukhi|hebrew|hiragana-iroha|hiragana|japanese-formal|japanese-informal|kannada|katakana-iroha|katakana|khmer|korean-hangul-formal|korean-hanja-formal|korean-hanja-informal|lao|lower-alpha|lower-armenian|lower-greek|lower-latin|lower-roman|malayalam|mongolian|myanmar|oriya|persian|simp-chinese-formal|simp-chinese-informal|square|tamil|telugu|thai|tibetan|trad-chinese-formal|trad-chinese-informal|upper-alpha|upper-armenian|upper-latin|upper-roman)\\b",
"name": "support.constant.property-value.less"
},
{
"match": "\\b(sans-serif|serif|monospace|fantasy|cursive)\\b(?=\\s*[\\n,;}])",
"name": "support.constant.font-name.less"
}
]
},
"property-values": {
"patterns": [
{
"include": "#comment-block"
},
{
"include": "#builtin-functions"
},
{
"include": "#color-functions"
},
{
"include": "#less-functions"
},
{
"include": "#less-variables"
},
{
"include": "#unicode-range"
},
{
"include": "#numeric-values"
},
{
"include": "#color-values"
},
{
"include": "#property-value-constants"
},
{
"include": "#less-math"
},
{
"include": "#literal-string"
},
{
"include": "#comma-delimiter"
},
{
"include": "#important"
}
]
},
"pseudo-selectors": {
"patterns": [
{
"begin": "(:)(dir)(?=\\()",
"beginCaptures": {
"1": {
"name": "punctuation.definition.entity.less"
}
},
"end": "\\)",
"endCaptures": {
"0": {
"name": "punctuation.definition.group.end.less"
}
},
"name": "entity.other.attribute-name.pseudo-class.less",
"patterns": [
{
"begin": "\\(",
"beginCaptures": {
"0": {
"name": "punctuation.definition.group.begin.less"
}
},
"end": "(?=\\))",
"patterns": [
{
"match": "ltr|rtl",
"name": "variable.parameter.dir.less"
},
{
"include": "#less-variables"
}
]
}
]
},
{
"begin": "(:)(lang)(?=\\()",
"beginCaptures": {
"1": {
"name": "punctuation.definition.entity.less"
}
},
"end": "\\)",
"endCaptures": {
"0": {
"name": "punctuation.definition.group.end.less"
}
},
"name": "entity.other.attribute-name.pseudo-class.less",
"patterns": [
{
"begin": "\\(",
"beginCaptures": {
"0": {
"name": "punctuation.definition.group.begin.less"
}
},
"end": "(?=\\))",
"patterns": [
{
"include": "#less-variables"
},
{
"include": "#literal-string"
},
{
"include": "#unquoted-string"
}
]
}
]
},
{
"begin": "(:)(not)(?=\\()",
"beginCaptures": {
"1": {
"name": "punctuation.definition.entity.less"
}
},
"end": "\\)",
"endCaptures": {
"0": {
"name": "punctuation.definition.group.end.less"
}
},
"name": "entity.other.attribute-name.pseudo-class.less",
"patterns": [
{
"begin": "\\(",
"beginCaptures": {
"0": {
"name": "punctuation.definition.group.begin.less"
}
},
"end": "(?=\\))",
"patterns": [
{
"include": "#selectors"
}
]
}
]
},
{
"begin": "(:)(nth(-last)?-(child|of-type))(?=\\()",
"beginCaptures": {
"1": {
"name": "punctuation.definition.entity.less"
},
"2": {
"name": "entity.other.attribute-name.pseudo-class.less"
}
},
"contentName": "meta.function-call.less",
"end": "\\)",
"endCaptures": {
"0": {
"name": "punctuation.definition.group.end.less"
}
},
"name": "entity.other.attribute-name.pseudo-class.less",
"patterns": [
{
"begin": "\\(",
"beginCaptures": {
"0": {
"name": "punctuation.definition.group.begin.less"
}
},
"end": "(?=\\))",
"name": "meta.group.less",
"patterns": [
{
"match": "\\b(even|odd)\\b",
"name": "keyword.other.pseudo-class.less"
},
{
"captures": {
"1": {
"name": "keyword.operator.arithmetic.less"
},
"2": {
"name": "keyword.other.unit.less"
},
"4": {
"name": "keyword.operator.arithmetic.less"
}
},
"match": "([-+])?\\d+{0,1}(n)(\\s*([-+])\\s*\\d+)?|[-+]?\\s*\\d+",
"name": "constant.numeric.less"
},
{
"include": "#less-math"
},
{
"include": "#less-strings"
},
{
"include": "#less-variable-interpolation"
}
]
}
]
},
{
"begin": "(:)(host-context|host|has|is|not|where)(?=\\()",
"beginCaptures": {
"1": {
"name": "punctuation.definition.entity.less"
}
},
"end": "\\)",
"endCaptures": {
"0": {
"name": "punctuation.definition.group.end.less"
}
},
"name": "entity.other.attribute-name.pseudo-class.less",
"patterns": [
{
"begin": "\\(",
"beginCaptures": {
"0": {
"name": "punctuation.definition.group.begin.less"
}
},
"end": "(?=\\))",
"patterns": [
{
"include": "#selectors"
}
]
}
]
},
{
"captures": {
"1": {
"name": "punctuation.definition.entity.less"
},
"2": {
"name": "entity.other.attribute-name.pseudo-class.less"
}
},
"match": "(:)(active|any-link|autofill|blank|buffering|checked|current|default|defined|disabled|empty|enabled|first-child|first-of-type|first|focus-visible|focus-within|focus|fullscreen|future|host|hover|in-range|indeterminate|invalid|last-child|last-of-type|left|local-link|link|modal|muted|only-child|only-of-type|optional|out-of-range|past|paused|picture-in-picture|placeholder-shown|playing|popover-open|read-only|read-write|required|right|root|scope|seeking|stalled|target-within|target|user-invalid|user-valid|valid|visited|volume-locked)\\b",
"name": "meta.function-call.less"
},
{
"begin": "(::?)(highlight|part|state)(?=\\s*(\\())",
"beginCaptures": {
"1": {
"name": "punctuation.definition.entity.less"
}
},
"end": "\\)",
"endCaptures": {
"0": {
"name": "punctuation.definition.group.end.less"
}
},
"name": "entity.other.attribute-name.pseudo-element.less",
"patterns": [
{
"begin": "\\(",
"beginCaptures": {
"0": {
"name": "punctuation.definition.group.begin.less"
}
},
"end": "(?=\\))",
"patterns": [
{
"match": "--|-?(?:[A-Z_a-z·À-ÖØ-öø-ͽͿ-῿‌‍‿⁀⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-<2D>𐀀-\\x{EFFFF}]|\\\\(?:\\N|\\H|\\h{1,6}[R\\s]))(?:[-A-Z_a-z·À-ÖØ-öø-ͽͿ-῿‌‍‿⁀⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-<2D>𐀀-\\x{EFFFF}\\d]|\\\\(?:\\N|\\H|\\h{1,6}[R\\s]))*",
"name": "variable.parameter.less"
},
{
"include": "#less-variables"
}
]
}
]
},
{
"begin": "(::?)slotted(?=\\s*(\\())",
"beginCaptures": {
"1": {
"name": "punctuation.definition.entity.less"
}
},
"contentName": "meta.function-call.less",
"end": "\\)",
"endCaptures": {
"0": {
"name": "punctuation.definition.group.end.less"
}
},
"name": "entity.other.attribute-name.pseudo-element.less",
"patterns": [
{
"begin": "\\(",
"beginCaptures": {
"0": {
"name": "punctuation.definition.group.begin.less"
}
},
"end": "(?=\\))",
"name": "meta.group.less",
"patterns": [
{
"include": "#selectors"
}
]
}
]
},
{
"captures": {
"1": {
"name": "punctuation.definition.entity.less"
}
},
"match": "(::?)(after|backdrop|before|cue|file-selector-button|first-letter|first-line|grammar-error|marker|placeholder|selection|spelling-error|target-text|view-transition-group|view-transition-image-pair|view-transition-new|view-transition-old|view-transition)\\b",
"name": "entity.other.attribute-name.pseudo-element.less"
},
{
"captures": {
"1": {
"name": "punctuation.definition.entity.less"
},
"2": {
"name": "meta.namespace.vendor-prefix.less"
}
},
"match": "(::?)(-\\w+-)(--|-?(?:[A-Z_a-z·À-ÖØ-öø-ͽͿ-῿‌‍‿⁀⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-<2D>𐀀-\\x{EFFFF}]|\\\\(?:\\N|\\H|\\h{1,6}[R\\s]))(?:[-A-Z_a-z·À-ÖØ-öø-ͽͿ-῿‌‍‿⁀⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-<2D>𐀀-\\x{EFFFF}\\d]|\\\\(?:\\N|\\H|\\h{1,6}[R\\s]))*)\\b",
"name": "entity.other.attribute-name.pseudo-element.less"
}
]
},
"qualified-name": {
"captures": {
"1": {
"name": "entity.name.constant.less"
},
"2": {
"name": "entity.name.namespace.wildcard.less"
},
"3": {
"name": "punctuation.separator.namespace.less"
}
},
"match": "(?:(-?(?:[-\\w[^\\x00-\\x7F]]|\\\\(?:\\h{1,6}[\\t\\n\\f\\s]?|[^\\n\\f\\h]))(?:[A-Z_a-z[^\\x00-\\x7F]]|\\\\(?:\\h{1,6}[\\t\\n\\f\\s]?|[^\\n\\f\\h]))*)|(\\*))?(\\|)(?!=)"
},
"regexp-function": {
"begin": "\\b(regexp)(?=\\()",
"end": "\\)",
"endCaptures": {
"0": {
"name": "punctuation.definition.group.end.less"
}
},
"name": "support.function.regexp.less",
"patterns": [
{
"begin": "\\(",
"beginCaptures": {
"0": {
"name": "punctuation.definition.group.begin.less"
}
},
"end": "(?=\\))",
"name": "meta.function-call.less",
"patterns": [
{
"include": "#literal-string"
}
]
}
]
},
"relative-color": {
"patterns": [
{
"match": "from",
"name": "keyword.other.less"
},
{
"match": "\\b[abchlsw]\\b",
"name": "keyword.other.less"
}
]
},
"rule-list": {
"patterns": [
{
"begin": "\\{",
"beginCaptures": {
"0": {
"name": "punctuation.definition.block.begin.less"
}
},
"end": "(?=\\s*})",
"name": "meta.property-list.less",
"patterns": [
{
"captures": {
"1": {
"name": "punctuation.terminator.rule.less"
}
},
"match": "\\s*(;)|(?=[)}])"
},
{
"include": "#rule-list-body"
},
{
"include": "#less-extend"
}
]
}
]
},
"rule-list-body": {
"patterns": [
{
"include": "#comment-block"
},
{
"include": "#comment-line"
},
{
"include": "#at-rules"
},
{
"include": "#less-variable-assignment"
},
{
"begin": "(?=[-\\w]*?@\\{.*}[-\\w]*?\\s*:[^(;{]*(?=[);}]))",
"end": "(?=\\s*(;)|(?=[)}]))",
"patterns": [
{
"begin": "(?=[^:\\s])",
"end": "(?=(((\\+_?)?):)[\\t\\s]*)",
"name": "support.type.property-name.less",
"patterns": [
{
"include": "#less-variable-interpolation"
}
]
},
{
"begin": "(((\\+_?)?):)(?=[\\t\\s]*)",
"beginCaptures": {
"1": {
"name": "punctuation.separator.key-value.less"
}
},
"contentName": "support.type.property-name.less",
"end": "(?=\\s*(;)|(?=[)}]))",
"patterns": [
{
"include": "#property-values"
}
]
}
]
},
{
"begin": "(?=[-a-z])",
"end": "$|(?![-a-z])",
"patterns": [
{
"include": "#custom-property-name"
},
{
"begin": "(-[-\\w]+?-)((?:[A-Z_a-z·À-ÖØ-öø-ͽͿ-῿‌‍‿⁀⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-<2D>𐀀-\\x{EFFFF}]|\\\\(?:\\N|\\H|\\h{1,6}[R\\s]))(?:[-A-Z_a-z·À-ÖØ-öø-ͽͿ-῿‌‍‿⁀⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-<2D>𐀀-\\x{EFFFF}\\d]|\\\\(?:\\N|\\H|\\h{1,6}[R\\s]))*)\\b",
"beginCaptures": {
"0": {
"name": "support.type.property-name.less"
},
"1": {
"name": "meta.namespace.vendor-prefix.less"
}
},
"end": "\\s*(;)|(?=[)}])",
"endCaptures": {
"1": {
"name": "punctuation.terminator.rule.less"
}
},
"patterns": [
{
"begin": "(((\\+_?)?):)(?=[\\t\\s]*)",
"beginCaptures": {
"1": {
"name": "punctuation.separator.key-value.less"
}
},
"contentName": "meta.property-value.less",
"end": "(?=\\s*(;)|(?=[)}]))",
"patterns": [
{
"include": "#property-values"
},
{
"match": "[-\\w]+",
"name": "support.constant.property-value.less"
}
]
}
]
},
{
"include": "#filter-function"
},
{
"begin": "\\b(border((-(bottom|top)-(left|right))|((-(start|end)){2}))?-radius|(border-image(?!-)))\\b",
"beginCaptures": {
"0": {
"name": "support.type.property-name.less"
}
},
"end": "\\s*(;)|(?=[)}])",
"endCaptures": {
"1": {
"name": "punctuation.terminator.rule.less"
}
},
"patterns": [
{
"begin": "(((\\+_?)?):)(?=[\\t\\s]*)",
"beginCaptures": {
"1": {
"name": "punctuation.separator.key-value.less"
}
},
"contentName": "meta.property-value.less",
"end": "(?=\\s*(;)|(?=[)}]))",
"patterns": [
{
"include": "#value-separator"
},
{
"include": "#property-values"
}
]
}
]
},
{
"captures": {
"1": {
"name": "keyword.other.custom-property.prefix.less"
},
"2": {
"name": "support.type.custom-property.name.less"
}
},
"match": "\\b(var-)(-?(?:[-\\w[^\\x00-\\x{9F}]]|\\\\(?:\\h{1,6}[\\t\\n\\f\\s]?|[^\\n\\f\\h]))(?:[A-Z_a-z[^\\x00-\\x{9F}]]|\\\\(?:\\h{1,6}[\\t\\n\\f\\s]?|[^\\n\\f\\h]))*)(?=\\s)",
"name": "invalid.deprecated.custom-property.less"
},
{
"begin": "\\bfont(-family)?(?!-)\\b",
"beginCaptures": {
"0": {
"name": "support.type.property-name.less"
}
},
"end": "\\s*(;)|(?=[)}])",
"endCaptures": {
"1": {
"name": "punctuation.terminator.rule.less"
}
},
"name": "meta.property-name.less",
"patterns": [
{
"captures": {
"1": {
"name": "punctuation.separator.key-value.less"
},
"4": {
"name": "meta.property-value.less"
}
},
"match": "(((\\+_?)?):)([\\t\\s]*)"
},
{
"include": "#property-values"
},
{
"match": "-?(?:[A-Z_a-z[^\\x00-\\x{9F}]]|\\\\(?:\\h{1,6}[\\t\\n\\f\\s]?|[^\\n\\f\\h]))(?:[-\\w[^\\x00-\\x{9F}]]|\\\\(?:\\h{1,6}[\\t\\n\\f\\s]?|[^\\n\\f\\h]))*(\\s+-?(?:[A-Z_a-z[^\\x00-\\x{9F}]]|\\\\(?:\\h{1,6}[\\t\\n\\f\\s]?|[^\\n\\f\\h]))(?:[-\\w[^\\x00-\\x{9F}]]|\\\\(?:\\h{1,6}[\\t\\n\\f\\s]?|[^\\n\\f\\h]))*)*",
"name": "string.unquoted.less"
},
{
"match": ",",
"name": "punctuation.separator.less"
}
]
},
{
"begin": "\\banimation-timeline\\b",
"beginCaptures": {
"0": {
"name": "support.type.property-name.less"
}
},
"end": "\\s*(;)|(?=[)}])",
"endCaptures": {
"1": {
"name": "punctuation.terminator.rule.less"
}
},
"patterns": [
{
"begin": "(((\\+_?)?):)(?=[\\t\\s]*)",
"beginCaptures": {
"1": {
"name": "punctuation.separator.key-value.less"
}
},
"contentName": "meta.property-value.less",
"end": "(?=\\s*(;)|(?=[)}]))",
"patterns": [
{
"include": "#comment-block"
},
{
"include": "#custom-property-name"
},
{
"include": "#scroll-function"
},
{
"include": "#view-function"
},
{
"include": "#property-values"
},
{
"include": "#less-variables"
},
{
"include": "#arbitrary-repetition"
},
{
"include": "#important"
}
]
}
]
},
{
"begin": "\\banimation(?:-name)?(?=(?:\\+_?)?:)\\b",
"beginCaptures": {
"0": {
"name": "support.type.property-name.less"
}
},
"end": "\\s*(;)|(?=[)}])",
"endCaptures": {
"1": {
"name": "punctuation.terminator.rule.less"
}
},
"patterns": [
{
"begin": "(((\\+_?)?):)(?=[\\t\\s]*)",
"beginCaptures": {
"1": {
"name": "punctuation.separator.key-value.less"
}
},
"contentName": "meta.property-value.less",
"end": "(?=\\s*(;)|(?=[)}]))",
"patterns": [
{
"include": "#comment-block"
},
{
"include": "#builtin-functions"
},
{
"include": "#less-functions"
},
{
"include": "#less-variables"
},
{
"include": "#numeric-values"
},
{
"include": "#property-value-constants"
},
{
"match": "-?(?:[A-Z_a-z[^\\x00-\\x7F]]|(?:(:?\\\\[0-9a-f]{1,6}(\\r\\n|[\\t\\n\\f\\r\\s])?)|\\\\[^\\n\\f\\r0-9a-f]))(?:[-0-9A-Z_a-z[^\\x00-\\x7F]]|(?:(:?\\\\[0-9a-f]{1,6}(\\r\\n|[\\t\\n\\f\\r])?)|\\\\[^\\n\\f\\r0-9a-f]))*",
"name": "variable.other.constant.animation-name.less string.unquoted.less"
},
{
"include": "#less-math"
},
{
"include": "#arbitrary-repetition"
},
{
"include": "#important"
}
]
}
]
},
{
"begin": "\\b(transition(-(property|duration|delay|timing-function))?)\\b",
"beginCaptures": {
"1": {
"name": "support.type.property-name.less"
}
},
"end": "\\s*(;)|(?=[)}])",
"endCaptures": {
"1": {
"name": "punctuation.terminator.rule.less"
}
},
"patterns": [
{
"begin": "(((\\+_?)?):)(?=[\\t\\s]*)",
"beginCaptures": {
"1": {
"name": "punctuation.separator.key-value.less"
}
},
"contentName": "meta.property-value.less",
"end": "(?=\\s*(;)|(?=[)}]))",
"patterns": [
{
"include": "#time-type"
},
{
"include": "#property-values"
},
{
"include": "#cubic-bezier-function"
},
{
"include": "#steps-function"
},
{
"include": "#arbitrary-repetition"
}
]
}
]
},
{
"begin": "\\b(?:backdrop-)?filter\\b",
"beginCaptures": {
"0": {
"name": "support.type.property-name.less"
}
},
"end": "\\s*(;)|(?=[)}])",
"endCaptures": {
"1": {
"name": "punctuation.terminator.rule.less"
}
},
"name": "meta.property-name.less",
"patterns": [
{
"captures": {
"1": {
"name": "punctuation.separator.key-value.less"
},
"4": {
"name": "meta.property-value.less"
}
},
"match": "(((\\+_?)?):)([\\t\\s]*)"
},
{
"match": "\\b(inherit|initial|unset|none)\\b",
"name": "meta.property-value.less"
},
{
"include": "#filter-functions"
}
]
},
{
"begin": "\\bwill-change\\b",
"beginCaptures": {
"0": {
"name": "support.type.property-name.less"
}
},
"end": "\\s*(;)|(?=[)}])",
"endCaptures": {
"1": {
"name": "punctuation.terminator.rule.less"
}
},
"name": "meta.property-name.less",
"patterns": [
{
"captures": {
"1": {
"name": "punctuation.separator.key-value.less"
},
"4": {
"name": "meta.property-value.less"
}
},
"match": "(((\\+_?)?):)([\\t\\s]*)"
},
{
"match": "unset|initial|inherit|will-change|auto|scroll-position|contents",
"name": "invalid.illegal.property-value.less"
},
{
"match": "-?(?:[-\\w[^\\x00-\\x{9F}]]|\\\\(?:\\h{1,6}[\\t\\n\\f\\s]?|[^\\n\\f\\h]))(?:[A-Z_a-z[^\\x00-\\x{9F}]]|\\\\(?:\\h{1,6}[\\t\\n\\f\\s]?|[^\\n\\f\\h]))*",
"name": "support.constant.property-value.less"
},
{
"include": "#arbitrary-repetition"
}
]
},
{
"begin": "\\bcounter-(increment|(re)?set)\\b",
"beginCaptures": {
"0": {
"name": "support.type.property-name.less"
}
},
"end": "\\s*(;)|(?=[)}])",
"endCaptures": {
"1": {
"name": "punctuation.terminator.rule.less"
}
},
"name": "meta.property-name.less",
"patterns": [
{
"captures": {
"1": {
"name": "punctuation.separator.key-value.less"
},
"4": {
"name": "meta.property-value.less"
}
},
"match": "(((\\+_?)?):)([\\t\\s]*)"
},
{
"match": "-?(?:[-\\w[^\\x00-\\x{9F}]]|\\\\(?:\\h{1,6}[\\t\\n\\f\\s]?|[^\\n\\f\\h]))(?:[A-Z_a-z[^\\x00-\\x{9F}]]|\\\\(?:\\h{1,6}[\\t\\n\\f\\s]?|[^\\n\\f\\h]))*",
"name": "entity.name.constant.counter-name.less"
},
{
"include": "#integer-type"
},
{
"match": "unset|initial|inherit|auto",
"name": "invalid.illegal.property-value.less"
}
]
},
{
"begin": "\\bcontainer(?:-name)?(?=\\s*?:)",
"end": "\\s*(;)|(?=[)}])",
"endCaptures": {
"1": {
"name": "punctuation.terminator.rule.less"
}
},
"name": "support.type.property-name.less",
"patterns": [
{
"begin": "(((\\+_?)?):)(?=[\\t\\s]*)",
"beginCaptures": {
"1": {
"name": "punctuation.separator.key-value.less"
}
},
"contentName": "meta.property-value.less",
"end": "(?=\\s*(;)|(?=[)}]))",
"patterns": [
{
"match": "\\bdefault\\b",
"name": "invalid.illegal.property-value.less"
},
{
"include": "#global-property-values"
},
{
"include": "#custom-property-name"
},
{
"contentName": "variable.other.constant.container-name.less",
"match": "--|-?(?:[A-Z_a-z·À-ÖØ-öø-ͽͿ-῿‌‍‿⁀⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-<2D>𐀀-\\x{EFFFF}]|\\\\(?:\\N|\\H|\\h{1,6}[R\\s]))(?:[-A-Z_a-z·À-ÖØ-öø-ͽͿ-῿‌‍‿⁀⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-<2D>𐀀-\\x{EFFFF}\\d]|\\\\(?:\\N|\\H|\\h{1,6}[R\\s]))*",
"name": "support.constant.property-value.less"
},
{
"include": "#property-values"
}
]
}
]
},
{
"match": "\\b(accent-height|align-content|align-items|align-self|alignment-baseline|all|animation-timing-function|animation-range-start|animation-range-end|animation-range|animation-play-state|animation-name|animation-iteration-count|animation-fill-mode|animation-duration|animation-direction|animation-delay|animation-composition|animation|appearance|ascent|aspect-ratio|azimuth|backface-visibility|background-size|background-repeat-y|background-repeat-x|background-repeat|background-position-y|background-position-x|background-position|background-origin|background-image|background-color|background-clip|background-blend-mode|background-attachment|background|baseline-shift|begin|bias|blend-mode|border-top-left-radius|border-top-right-radius|border-bottom-left-radius|border-bottom-right-radius|border-end-end-radius|border-end-start-radius|border-start-end-radius|border-start-start-radius|border-block-start-color|border-block-start-style|border-block-start-width|border-block-start|border-block-end-color|border-block-end-style|border-block-end-width|border-block-end|border-block-color|border-block-style|border-block-width|border-block|border-inline-start-color|border-inline-start-style|border-inline-start-width|border-inline-start|border-inline-end-color|border-inline-end-style|border-inline-end-width|border-inline-end|border-inline-color|border-inline-style|border-inline-width|border-inline|border-top-color|border-top-style|border-top-width|border-top|border-right-color|border-right-style|border-right-width|border-right|border-bottom-color|border-bottom-style|border-bottom-width|border-bottom|border-left-color|border-left-style|border-left-width|border-left|border-image-outset|border-image-repeat|border-image-slice|border-image-source|border-image-width|border-image|border-color|border-style|border-width|border-radius|border-collapse|border-spacing|border|bottom|box-(align|decoration-break|direction|flex|ordinal-group|orient|pack|shadow|sizing)|break-(after|before|inside)|caption-side|clear|clip-path|clip-rule|clip|color(-(interpolation(-filters)?|profile|rendering))?|columns|column-(break-before|count|fill|gap|(rule(-(color|style|width))?)|span|width)|container-name|container-type|container|contain-intrinsic-block-size|contain-intrinsic-inline-size|contain-intrinsic-height|contain-intrinsic-size|contain-intrinsic-width|contain|content|counter-(increment|reset)|cursor|[cdf][xy]|direction|display|divisor|dominant-baseline|dur|elevation|empty-cells|enable-background|end|fallback|fill(-(opacity|rule))?|filter|flex(-(align|basis|direction|flow|grow|item-align|line-pack|negative|order|pack|positive|preferred-size|shrink|wrap))?|float|flood-(color|opacity)|font-display|font-family|font-feature-settings|font-kerning|font-language-override|font-size(-adjust)?|font-smoothing|font-stretch|font-style|font-synthesis|font-variant(-(alternates|caps|east-asian|ligatures|numeric|position))?|font-weight|font|fr|((column|row)-)?gap|glyph-orientation-(horizontal|vertical)|grid-(area|gap)|grid-auto-(columns|flow|rows)|grid-(column|row)(-(end|gap|start))?|grid-template(-(areas|columns|rows))?|grid|height|hyphens|image-(orientation|rendering|resolution)|inset(-(block|inline))?(-(start|end))?|isolation|justify-content|justify-items|justify-self|kerning|left|letter-spacing|lighting-color|line-(box-contain|break|clamp|height)|list-style(-(image|position|type))?|(margin|padding)(-(bottom|left|right|top)|(-(block|inline)?(-(end|start))?))?|marker(-(end|mid|start))?|mask(-(clip||composite|image|origin|position|repeat|size|type))?|(m(?:ax|in))-(height|width)|mix-blend-mode|nbsp-mode|negative|object-(fit|position)|opacity|operator|order|orphans|outline(-(color|offset|style|width))?|overflow(-((inline|block)|scrolling|wrap|[xy]))?|overscroll-behavior(-(?:block|(inline|[xy])))?|pad(ding(-(bottom|left|right|top))?)?|page(-break-(after|before|inside))?|paint-order|pause(-(after|before))?|perspective(-origin(-([xy]))?)?|pitch(-range)?|place-content|place-self|pointer-events|position|prefix|quotes|range|resize|right|rotate|scale|scroll-behavior|shape-(image-threshold|margin|outside|rendering)|size|speak(-as)?|src|stop-(color|opacity)|stroke(-(dash(array|offset)|line(cap|join)|miterlimit|opacity|width))?|suffix|symbols|system|tab-size|table-layout|tap-highlight-color|text-align(-last)?|text-decoration(-(color|line|style))?|text-emphasis(-(color|position|style))?|text-(anchor|fill-color|height|indent|justify|orientation|overflow|rendering|size-adjust|shadow|transform|underline-position|wrap)|top|touch-action|transform(-origin(-([xy]))?)|transform(-style)?|transition(-(delay|duration|property|timing-function))?|translate|unicode-(bidi|range)|user-(drag|select)|vertical-align|visibility|white-space(-collapse)?|widows|width|will-change|word-(break|spacing|wrap)|writing-mode|z-index|zoom)\\b",
"name": "support.type.property-name.less"
},
{
"match": "\\b(((contain-intrinsic|max|min)-)?(block|inline)?-size)\\b",
"name": "support.type.property-name.less"
},
{
"include": "$self"
}
]
},
{
"begin": "\\b((?:\\+_?)?:)([\\t\\s]*)",
"beginCaptures": {
"1": {
"name": "punctuation.separator.key-value.less"
},
"2": {
"name": "meta.property-value.less"
}
},
"captures": {
"1": {
"name": "punctuation.separator.key-value.less"
},
"4": {
"name": "meta.property-value.less"
}
},
"contentName": "meta.property-value.less",
"end": "\\s*(;)|(?=[)}])",
"endCaptures": {
"1": {
"name": "punctuation.terminator.rule.less"
}
},
"patterns": [
{
"include": "#property-values"
}
]
},
{
"include": "$self"
}
]
},
"scroll-function": {
"begin": "\\b(scroll)(\\()",
"beginCaptures": {
"1": {
"name": "support.function.scroll.less"
},
"2": {
"name": "punctuation.definition.group.begin.less"
}
},
"end": "\\)",
"endCaptures": {
"0": {
"name": "punctuation.definition.group.end.less"
}
},
"name": "meta.function-call.less",
"patterns": [
{
"match": "root|nearest|self",
"name": "support.constant.scroller.less"
},
{
"match": "block|inline|[xy]",
"name": "support.constant.axis.less"
},
{
"include": "#less-variables"
},
{
"include": "#var-function"
}
]
},
"selector": {
"patterns": [
{
"begin": "(?=[#\\&*+./>A-\\[a-z~]|(:{1,2}\\S)|@\\{)",
"contentName": "meta.selector.less",
"end": "(?=@(?!\\{)|[;{])",
"patterns": [
{
"include": "#comment-line"
},
{
"include": "#selectors"
},
{
"include": "#less-namespace-accessors"
},
{
"include": "#less-variable-interpolation"
},
{
"include": "#important"
}
]
}
]
},
"selectors": {
"patterns": [
{
"match": "\\b([a-z](?:[-0-9_a-z·]|\\\\\\.|[À-ÖØ-öø-ͽͿ-῿‌‍‿⁀⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-<2D>𐀀-\\x{EFFFF}])*-(?:[-0-9_a-z·]|\\\\\\.|[À-ÖØ-öø-ͽͿ-῿‌‍‿⁀⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-<2D>𐀀-\\x{EFFFF}])*)\\b",
"name": "entity.name.tag.custom.less"
},
{
"match": "\\b(a|abbr|acronym|address|applet|area|article|aside|audio|b|base|basefont|bdi|bdo|big|blockquote|body|br|button|canvas|caption|circle|cite|clipPath|code|col|colgroup|content|data|dataList|dd|defs|del|details|dfn|dialog|dir|div|dl|dt|element|ellipse|em|embed|eventsource|fieldset|figcaption|figure|filter|footer|foreignObject|form|frame|frameset|g|glyph|glyphRef|h1|h2|h3|h4|h5|h6|head|header|hgroup|hr|html|i|iframe|image|img|input|ins|isindex|kbd|keygen|label|legend|li|line|linearGradient|link|main|map|mark|marker|mask|menu|meta|meter|nav|noframes|noscript|object|ol|optgroup|option|output|p|param|path|pattern|picture|polygon|polyline|pre|progress|q|radialGradient|rect|rp|ruby|rtc??|s|samp|script|section|select|shadow|small|source|span|stop|strike|strong|style|sub|summary|sup|svg|switch|symbol|table|tbody|td|template|textarea|textPath|tfoot|th|thead|time|title|tr|track|tref|tspan|tt|ul??|use|var|video|wbr|xmp)\\b",
"name": "entity.name.tag.less"
},
{
"begin": "(\\.)",
"beginCaptures": {
"1": {
"name": "punctuation.definition.entity.less"
}
},
"end": "(?![-\\w[^\\x00-\\x{9F}]]|\\\\(\\h{1,6} ?|\\H)|(@(?=\\{)))",
"name": "entity.other.attribute-name.class.less",
"patterns": [
{
"include": "#less-variable-interpolation"
}
]
},
{
"begin": "(#)",
"beginCaptures": {
"1": {
"name": "punctuation.definition.entity.less"
}
},
"end": "(?![-\\w[^\\x00-\\x{9F}]]|\\\\(\\h{1,6} ?|\\H)|(@(?=\\{)))",
"name": "entity.other.attribute-name.id.less",
"patterns": [
{
"include": "#less-variable-interpolation"
}
]
},
{
"begin": "(&)",
"beginCaptures": {
"1": {
"name": "punctuation.definition.entity.less"
}
},
"contentName": "entity.other.attribute-name.parent.less",
"end": "(?![-\\w[^\\x00-\\x{9F}]]|\\\\(\\h{1,6} ?|\\H)|(@(?=\\{)))",
"name": "entity.other.attribute-name.parent.less",
"patterns": [
{
"include": "#less-variable-interpolation"
},
{
"include": "#selectors"
}
]
},
{
"include": "#pseudo-selectors"
},
{
"include": "#less-extend"
},
{
"match": "(?!\\+_?:)(?:>{1,3}|[+~])(?![+;>}~])",
"name": "punctuation.separator.combinator.less"
},
{
"match": "(>{1,3}|[+~]){2,}",
"name": "invalid.illegal.combinator.less"
},
{
"match": "/deep/",
"name": "invalid.illegal.combinator.less"
},
{
"begin": "\\[",
"beginCaptures": {
"0": {
"name": "punctuation.section.braces.begin.less"
}
},
"end": "]",
"endCaptures": {
"0": {
"name": "punctuation.section.braces.end.less"
}
},
"name": "meta.attribute-selector.less",
"patterns": [
{
"include": "#less-variable-interpolation"
},
{
"include": "#qualified-name"
},
{
"match": "(-?(?:[A-Z_a-z[^\\x00-\\x7F]]|\\\\(?:\\h{1,6}[\\t\\n\\f\\s]?|[^\\n\\f\\h]))(?:[-\\w[^\\x00-\\x7F]]|\\\\(?:\\h{1,6}[\\t\\n\\f\\s]?|[^\\n\\f\\h]))*)",
"name": "entity.other.attribute-name.less"
},
{
"begin": "\\s*([$*^|~]?=)\\s*",
"beginCaptures": {
"1": {
"name": "keyword.operator.attribute-selector.less"
}
},
"end": "(?=([]\\s]))",
"patterns": [
{
"include": "#less-variable-interpolation"
},
{
"match": "[^]\"'\\[\\s]",
"name": "string.unquoted.less"
},
{
"include": "#literal-string"
},
{
"captures": {
"1": {
"name": "keyword.other.less"
}
},
"match": "(?:\\s+([Ii]))?"
},
{
"match": "]",
"name": "punctuation.definition.entity.less"
}
]
}
]
},
{
"include": "#arbitrary-repetition"
},
{
"match": "\\*",
"name": "entity.name.tag.wildcard.less"
}
]
},
"shape-functions": {
"patterns": [
{
"begin": "\\b(rect)(?=\\()",
"beginCaptures": {
"0": {
"name": "support.function.shape.less"
}
},
"end": "\\)",
"endCaptures": {
"0": {
"name": "punctuation.definition.group.end.less"
}
},
"name": "meta.function-call.less",
"patterns": [
{
"begin": "\\(",
"beginCaptures": {
"0": {
"name": "punctuation.definition.group.begin.less"
}
},
"end": "(?=\\))",
"patterns": [
{
"match": "\\bauto\\b",
"name": "support.constant.property-value.less"
},
{
"include": "#length-type"
},
{
"include": "#comma-delimiter"
}
]
}
]
},
{
"begin": "\\b(inset)(?=\\()",
"beginCaptures": {
"0": {
"name": "support.function.shape.less"
}
},
"end": "\\)",
"endCaptures": {
"0": {
"name": "punctuation.definition.group.end.less"
}
},
"name": "meta.function-call.less",
"patterns": [
{
"begin": "\\(",
"beginCaptures": {
"0": {
"name": "punctuation.definition.group.begin.less"
}
},
"end": "(?=\\))",
"patterns": [
{
"match": "\\bround\\b",
"name": "keyword.other.less"
},
{
"include": "#length-type"
},
{
"include": "#percentage-type"
}
]
}
]
},
{
"begin": "\\b(circle|ellipse)(?=\\()",
"beginCaptures": {
"0": {
"name": "support.function.shape.less"
}
},
"end": "\\)",
"endCaptures": {
"0": {
"name": "punctuation.definition.group.end.less"
}
},
"name": "meta.function-call.less",
"patterns": [
{
"begin": "\\(",
"beginCaptures": {
"0": {
"name": "punctuation.definition.group.begin.less"
}
},
"end": "(?=\\))",
"patterns": [
{
"match": "\\bat\\b",
"name": "keyword.other.less"
},
{
"match": "\\b(top|right|bottom|left|center|closest-side|farthest-side)\\b",
"name": "support.constant.property-value.less"
},
{
"include": "#length-type"
},
{
"include": "#percentage-type"
}
]
}
]
},
{
"begin": "\\b(polygon)(?=\\()",
"beginCaptures": {
"0": {
"name": "support.function.shape.less"
}
},
"end": "\\)",
"endCaptures": {
"0": {
"name": "punctuation.definition.group.end.less"
}
},
"name": "meta.function-call.less",
"patterns": [
{
"begin": "\\(",
"beginCaptures": {
"0": {
"name": "punctuation.definition.group.begin.less"
}
},
"end": "(?=\\))",
"patterns": [
{
"match": "\\b(nonzero|evenodd)\\b",
"name": "support.constant.property-value.less"
},
{
"include": "#length-type"
},
{
"include": "#percentage-type"
}
]
}
]
}
]
},
"steps-function": {
"begin": "\\b(steps)(\\()",
"beginCaptures": {
"1": {
"name": "support.function.timing.less"
},
"2": {
"name": "punctuation.definition.group.begin.less"
}
},
"contentName": "meta.group.less",
"end": "\\)",
"endCaptures": {
"0": {
"name": "punctuation.definition.group.end.less"
}
},
"name": "meta.function-call.less",
"patterns": [
{
"match": "jump-start|jump-end|jump-none|jump-both|start|end",
"name": "support.constant.step-position.less"
},
{
"include": "#comma-delimiter"
},
{
"include": "#integer-type"
},
{
"include": "#less-variables"
},
{
"include": "#var-function"
},
{
"include": "#calc-function"
}
]
},
"string-content": {
"patterns": [
{
"include": "#less-variable-interpolation"
},
{
"match": "\\\\\\s*\\n",
"name": "constant.character.escape.newline.less"
},
{
"match": "\\\\(\\h{1,6}|.)",
"name": "constant.character.escape.less"
}
]
},
"style-function": {
"begin": "\\b(style)(?=\\()",
"beginCaptures": {
"0": {
"name": "support.function.style.less"
}
},
"end": "\\)",
"endCaptures": {
"0": {
"name": "punctuation.definition.group.end.less"
}
},
"name": "meta.function-call.less",
"patterns": [
{
"begin": "\\(",
"beginCaptures": {
"0": {
"name": "punctuation.definition.group.begin.less"
}
},
"end": "(?=\\))",
"patterns": [
{
"include": "#rule-list-body"
}
]
}
]
},
"symbols-function": {
"begin": "\\b(symbols)(?=\\()",
"beginCaptures": {
"1": {
"name": "support.function.counter.less"
}
},
"end": "\\)",
"endCaptures": {
"0": {
"name": "punctuation.definition.group.end.less"
}
},
"name": "meta.function-call.less",
"patterns": [
{
"begin": "\\(",
"beginCaptures": {
"0": {
"name": "punctuation.definition.group.begin.less"
}
},
"end": "(?=\\))",
"patterns": [
{
"match": "\\b(cyclic|numeric|alphabetic|symbolic|fixed)\\b",
"name": "support.constant.symbol-type.less"
},
{
"include": "#comma-delimiter"
},
{
"include": "#literal-string"
},
{
"include": "#image-type"
}
]
}
]
},
"time-type": {
"captures": {
"1": {
"name": "keyword.other.unit.less"
}
},
"match": "(?i:[-+]?(?:\\d*\\.\\d+(?:[Ee][-+]?\\d+)*|[-+]?\\d+)(m??s))\\b",
"name": "constant.numeric.less"
},
"transform-functions": {
"patterns": [
{
"begin": "\\b((?:matrix|scale)(?:3d|))(?=\\()",
"beginCaptures": {
"0": {
"name": "support.function.transform.less"
}
},
"end": "\\)",
"endCaptures": {
"0": {
"name": "punctuation.definition.group.end.less"
}
},
"name": "meta.function-call.less",
"patterns": [
{
"begin": "\\(",
"beginCaptures": {
"0": {
"name": "punctuation.definition.group.begin.less"
}
},
"end": "(?=\\))",
"patterns": [
{
"include": "#comma-delimiter"
},
{
"include": "#number-type"
},
{
"include": "#less-variables"
},
{
"include": "#var-function"
}
]
}
]
},
{
"begin": "\\b(translate(3d)?)(?=\\()",
"beginCaptures": {
"0": {
"name": "support.function.transform.less"
}
},
"end": "\\)",
"endCaptures": {
"0": {
"name": "punctuation.definition.group.end.less"
}
},
"name": "meta.function-call.less",
"patterns": [
{
"begin": "\\(",
"beginCaptures": {
"0": {
"name": "punctuation.definition.group.begin.less"
}
},
"end": "(?=\\))",
"patterns": [
{
"include": "#comma-delimiter"
},
{
"include": "#percentage-type"
},
{
"include": "#length-type"
},
{
"include": "#number-type"
},
{
"include": "#less-variables"
},
{
"include": "#var-function"
}
]
}
]
},
{
"begin": "\\b(translate[XY])(?=\\()",
"beginCaptures": {
"0": {
"name": "support.function.transform.less"
}
},
"end": "\\)",
"endCaptures": {
"0": {
"name": "punctuation.definition.group.end.less"
}
},
"name": "meta.function-call.less",
"patterns": [
{
"begin": "\\(",
"beginCaptures": {
"0": {
"name": "punctuation.definition.group.begin.less"
}
},
"end": "(?=\\))",
"patterns": [
{
"include": "#percentage-type"
},
{
"include": "#length-type"
},
{
"include": "#number-type"
},
{
"include": "#less-variables"
},
{
"include": "#var-function"
}
]
}
]
},
{
"begin": "\\b(rotate[XYZ]?|skew[XY])(?=\\()",
"beginCaptures": {
"0": {
"name": "support.function.transform.less"
}
},
"end": "\\)",
"endCaptures": {
"0": {
"name": "punctuation.definition.group.end.less"
}
},
"name": "meta.function-call.less",
"patterns": [
{
"begin": "\\(",
"beginCaptures": {
"0": {
"name": "punctuation.definition.group.begin.less"
}
},
"end": "(?=\\))",
"patterns": [
{
"include": "#angle-type"
},
{
"include": "#less-variables"
},
{
"include": "#calc-function"
},
{
"include": "#var-function"
}
]
}
]
},
{
"begin": "\\b(skew)(?=\\()",
"beginCaptures": {
"0": {
"name": "support.function.transform.less"
}
},
"end": "\\)",
"endCaptures": {
"0": {
"name": "punctuation.definition.group.end.less"
}
},
"name": "meta.function-call.less",
"patterns": [
{
"begin": "\\(",
"beginCaptures": {
"0": {
"name": "punctuation.definition.group.begin.less"
}
},
"end": "(?=\\))",
"patterns": [
{
"include": "#comma-delimiter"
},
{
"include": "#angle-type"
},
{
"include": "#less-variables"
},
{
"include": "#calc-function"
},
{
"include": "#var-function"
}
]
}
]
},
{
"begin": "\\b(translateZ|perspective)(?=\\()",
"beginCaptures": {
"0": {
"name": "support.function.transform.less"
}
},
"end": "\\)",
"endCaptures": {
"0": {
"name": "punctuation.definition.group.end.less"
}
},
"name": "meta.function-call.less",
"patterns": [
{
"begin": "\\(",
"beginCaptures": {
"0": {
"name": "punctuation.definition.group.begin.less"
}
},
"end": "(?=\\))",
"patterns": [
{
"include": "#length-type"
},
{
"include": "#less-variables"
},
{
"include": "#calc-function"
},
{
"include": "#var-function"
}
]
}
]
},
{
"begin": "\\b(rotate3d)(?=\\()",
"beginCaptures": {
"0": {
"name": "support.function.transform.less"
}
},
"end": "\\)",
"endCaptures": {
"0": {
"name": "punctuation.definition.group.end.less"
}
},
"name": "meta.function-call.less",
"patterns": [
{
"begin": "\\(",
"beginCaptures": {
"0": {
"name": "punctuation.definition.group.begin.less"
}
},
"end": "(?=\\))",
"patterns": [
{
"include": "#comma-delimiter"
},
{
"include": "#angle-type"
},
{
"include": "#number-type"
},
{
"include": "#less-variables"
},
{
"include": "#calc-function"
},
{
"include": "#var-function"
}
]
}
]
},
{
"begin": "\\b(scale[XYZ])(?=\\()",
"beginCaptures": {
"0": {
"name": "support.function.transform.less"
}
},
"end": "\\)",
"endCaptures": {
"0": {
"name": "punctuation.definition.group.end.less"
}
},
"name": "meta.function-call.less",
"patterns": [
{
"begin": "\\(",
"beginCaptures": {
"0": {
"name": "punctuation.definition.group.begin.less"
}
},
"end": "(?=\\))",
"patterns": [
{
"include": "#comma-delimiter"
},
{
"include": "#number-type"
},
{
"include": "#less-variables"
},
{
"include": "#calc-function"
},
{
"include": "#var-function"
}
]
}
]
}
]
},
"unicode-range": {
"captures": {
"1": {
"name": "support.constant.unicode-range.prefix.less"
},
"2": {
"name": "constant.codepoint-range.less"
},
"3": {
"name": "punctuation.section.range.less"
}
},
"match": "(?i)(u\\+)([0-9?a-f]{1,6}(?:(-)[0-9a-f]{1,6})?)",
"name": "support.unicode-range.less"
},
"unquoted-string": {
"match": "[^\"'\\s]",
"name": "string.unquoted.less"
},
"url-function": {
"begin": "\\b(url)(?=\\()",
"beginCaptures": {
"1": {
"name": "support.function.url.less"
}
},
"end": "\\)",
"endCaptures": {
"0": {
"name": "punctuation.definition.group.end.less"
}
},
"name": "meta.function-call.less",
"patterns": [
{
"begin": "\\(",
"beginCaptures": {
"0": {
"name": "punctuation.definition.group.begin.less"
}
},
"end": "(?=\\))",
"patterns": [
{
"include": "#less-variables"
},
{
"include": "#literal-string"
},
{
"include": "#unquoted-string"
},
{
"include": "#var-function"
}
]
}
]
},
"value-separator": {
"captures": {
"1": {
"name": "punctuation.separator.less"
}
},
"match": "\\s*(/)\\s*"
},
"var-function": {
"begin": "\\b(var)(?=\\()",
"beginCaptures": {
"1": {
"name": "support.function.var.less"
}
},
"end": "\\)",
"endCaptures": {
"0": {
"name": "punctuation.definition.group.end.less"
}
},
"name": "meta.function-call.less",
"patterns": [
{
"begin": "\\(",
"beginCaptures": {
"0": {
"name": "punctuation.definition.group.begin.less"
}
},
"end": "(?=\\))",
"patterns": [
{
"include": "#comma-delimiter"
},
{
"include": "#custom-property-name"
},
{
"include": "#less-variables"
},
{
"include": "#property-values"
}
]
}
]
},
"view-function": {
"begin": "\\b(view)(?=\\()",
"beginCaptures": {
"1": {
"name": "support.function.view.less"
}
},
"end": "\\)",
"endCaptures": {
"0": {
"name": "punctuation.definition.group.end.less"
}
},
"name": "meta.function-call.less",
"patterns": [
{
"begin": "\\(",
"beginCaptures": {
"0": {
"name": "punctuation.definition.group.begin.less"
}
},
"end": "(?=\\))",
"patterns": [
{
"match": "block|inline|[xy]|auto",
"name": "support.constant.property-value.less"
},
{
"include": "#percentage-type"
},
{
"include": "#length-type"
},
{
"include": "#less-variables"
},
{
"include": "#var-function"
},
{
"include": "#calc-function"
},
{
"include": "#arbitrary-repetition"
}
]
}
]
}
},
"scopeName": "source.css.less"
}