{ "patterns": [ { "patterns": [ { "include": "#comment-tag" } ], "begin": "/\\*", "name": "comment.block.postcss", "end": "\\*/" }, { "include": "#double-slash" }, { "include": "#double-quoted" }, { "include": "#single-quoted" }, { "include": "#interpolation" }, { "include": "#placeholder-selector" }, { "include": "#variable" }, { "include": "#variable-root-css" }, { "include": "#numeric" }, { "include": "#unit" }, { "include": "#flag" }, { "include": "#dotdotdot" }, { "captures": { "0": { "name": "keyword.control.at-rule.css.postcss" } }, "begin": "@include", "name": "support.function.name.postcss.library", "end": "(?=\\n|\\(|{|;)" }, { "captures": { "0": { "name": "keyword.control.at-rule.css.postcss" } }, "patterns": [ { "name": "entity.name.function", "match": "[\\w-]+" } ], "begin": "@mixin|@function", "name": "support.function.name.postcss.no-completions", "end": "$\\n?|(?=\\(|{)" }, { "name": "string.quoted.double.css.postcss", "match": "(?<=@import)\\s[\\w/.*-]+" }, { "begin": "@", "name": "keyword.control.at-rule.css.postcss", "end": "$\\n?|\\s(?!(all|braille|embossed|handheld|print|projection|screen|speech|tty|tv|if|only|not)(\\s|,))|(?=;)" }, { "patterns": [ { "include": "#interpolation" }, { "include": "#pseudo-class" } ], "begin": "#", "name": "entity.other.attribute-name.id.css.postcss", "end": "$\\n?|(?=\\s|,|;|\\(|\\)|\\.|\\[|{|>)" }, { "patterns": [ { "include": "#interpolation" }, { "include": "#pseudo-class" } ], "begin": "\\.|(?<=&)(-|_)", "name": "entity.other.attribute-name.class.css.postcss", "end": "$\\n?|(?=\\s|,|;|\\(|\\)|\\[|{|>)" }, { "patterns": [ { "include": "#double-quoted" }, { "include": "#single-quoted" }, { "name": "keyword.other.regex.postcss", "match": "\\^|\\$|\\*|~" } ], "begin": "\\[", "name": "entity.other.attribute-selector.postcss", "end": "\\]" }, { "name": "entity.other.attribute-name.pseudo-class.css.postcss", "match": "(?<=\\]|\\)|not\\(|\\*|>|>\\s):[a-z:-]+|(::|:-)[a-z:-]+" }, { "patterns": [ { "include": "#double-slash" }, { "include": "#double-quoted" }, { "include": "#single-quoted" }, { "include": "#interpolation" }, { "include": "#variable" }, { "include": "#rgb-value" }, { "include": "#numeric" }, { "include": "#unit" }, { "include": "#flag" }, { "include": "#function" }, { "include": "#function-content" }, { "include": "#function-content-var" }, { "include": "#operator" }, { "include": "#parent-selector" }, { "include": "#property-value" } ], "begin": ":", "name": "meta.property-list.css.postcss", "end": "$\\n?|(?=;|\\s\\(|and\\(|{|}|\\),)" }, { "include": "#rgb-value" }, { "include": "#function" }, { "include": "#function-content" }, { "patterns": [ { "include": "#interpolation" }, { "include": "#pseudo-class" } ], "begin": "(?|-|_)" }, { "include": "#operator" }, { "name": "support.type.property-name.css.postcss", "match": "[a-z-]+((?=:|#{))" }, { "include": "#reserved-words" }, { "include": "#property-value" } ], "name": "postcss", "repository": { "reserved-words": { "name": "support.type.property-name.css.postcss", "match": "\\b(false|from|in|not|null|through|to|true)\\b" }, "double-quoted": { "patterns": [ { "include": "#quoted-interpolation" } ], "begin": "\"", "name": "string.quoted.double.css.postcss", "end": "\"" }, "operator": { "name": "keyword.operator.postcss", "match": "\\+|\\s-\\s|\\s-(?=\\$)|(?<=\\()-(?=\\$)|\\s-(?=\\()|\\*|/|%|=|!|<|>|~" }, "function-content": { "name": "string.quoted.double.css.postcss", "match": "(?<=url\\(|format\\(|attr\\().+?(?=\\))" }, "double-slash": { "patterns": [ { "include": "#comment-tag" } ], "begin": "//", "name": "comment.line.postcss", "end": "$" }, "numeric": { "name": "constant.numeric.css.postcss", "match": "(-|\\.)?[0-9]+(\\.[0-9]+)?" }, "variable-root-css": { "name": "variable.parameter.postcss", "match": "(?