{ "case_insensitive": true, "illegal": "[=>'\/<($\"]", "contains": [ { "className": "comment", "begin": "\/\/", "end": "$", "contains": [ { "begin": "\\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\\b" }, { "className": "doctag", "begin": "(?:TODO|FIXME|NOTE|BUG|XXX):", "relevance": 0 } ] }, { "className": "comment", "begin": "\/\\*", "end": "\\*\/", "contains": [ { "$ref": "#contains.0.contains.0" }, { "className": "doctag", "begin": "(?:TODO|FIXME|NOTE|BUG|XXX):", "relevance": 0 } ] }, { "className": "keyword", "begin": "@(import|media|charset|font-face|(-[a-z]+-)?keyframes|supports|document|namespace|page|viewport|host)\\b", "starts": { "end": "[;{}]", "returnEnd": true, "contains": [ { "$ref": "#contains.0" }, { "$ref": "#contains.1" }, { "className": "string", "begin": "~?'.*?'" }, { "className": "string", "begin": "~?\".*?\"" }, { "className": "number", "begin": "\\b\\d+(\\.\\d+)?(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?", "relevance": 0 }, { "begin": "(url|data-uri)\\(", "starts": { "className": "string", "end": "[\\)\\n]", "excludeEnd": true } }, { "className": "number", "begin": "#[0-9A-Fa-f]+\\b" }, { "begin": "\\(", "end": "\\)", "contains": { "$ref": "#contains.2.starts.contains" }, "relevance": 0 }, { "className": "variable", "begin": "@@?[\\w\\-]+", "relevance": 10 }, { "className": "variable", "begin": "@{[\\w\\-]+}" }, { "className": "built_in", "begin": "~?`[^`]*?`" }, { "className": "attribute", "begin": "[\\w\\-]+\\s*:", "end": ":", "returnBegin": true, "excludeEnd": true }, { "className": "meta", "begin": "!important" } ], "relevance": 0 } }, { "className": "variable", "variants": [ { "begin": "@[\\w\\-]+\\s*:", "relevance": 15 }, { "begin": "@[\\w\\-]+" } ], "starts": { "end": "[;}]", "returnEnd": true, "contains": [ { "$ref": "#contains.0" }, { "$ref": "#contains.1" }, { "$ref": "#contains.2.starts.contains.2" }, { "$ref": "#contains.2.starts.contains.3" }, { "$ref": "#contains.2.starts.contains.4" }, { "$ref": "#contains.2.starts.contains.5" }, { "$ref": "#contains.2.starts.contains.6" }, { "$ref": "#contains.2.starts.contains.7" }, { "$ref": "#contains.2.starts.contains.8" }, { "$ref": "#contains.2.starts.contains.9" }, { "$ref": "#contains.2.starts.contains.10" }, { "$ref": "#contains.2.starts.contains.11" }, { "$ref": "#contains.2.starts.contains.12" }, { "begin": "{", "end": "}", "contains": { "$ref": "#contains" } } ] } }, { "begin": "([\\w\\-]+|@{[\\w\\-]+})\\s*:", "returnBegin": true, "end": "[;}]", "relevance": 0, "contains": [ { "className": "attribute", "begin": "([\\w\\-]+|@{[\\w\\-]+})", "end": ":", "excludeEnd": true, "starts": { "endsWithParent": true, "illegal": "[<=$]", "relevance": 0, "contains": { "$ref": "#contains.2.starts.contains" } } } ] }, { "variants": [ { "begin": "[\\.#:&\\[>]", "end": "[;{}]" }, { "begin": "([\\w\\-]+|@{[\\w\\-]+})", "end": "{" } ], "returnBegin": true, "returnEnd": true, "illegal": "[<='$\"]", "relevance": 0, "contains": [ { "$ref": "#contains.0" }, { "$ref": "#contains.1" }, { "beginKeywords": "when", "endsWithParent": true, "contains": [ { "beginKeywords": "and not" }, { "$ref": "#contains.0" }, { "$ref": "#contains.1" }, { "$ref": "#contains.2.starts.contains.2" }, { "$ref": "#contains.2.starts.contains.3" }, { "$ref": "#contains.2.starts.contains.4" }, { "$ref": "#contains.2.starts.contains.5" }, { "$ref": "#contains.2.starts.contains.6" }, { "$ref": "#contains.2.starts.contains.7" }, { "$ref": "#contains.2.starts.contains.8" }, { "$ref": "#contains.2.starts.contains.9" }, { "$ref": "#contains.2.starts.contains.10" }, { "$ref": "#contains.2.starts.contains.11" }, { "$ref": "#contains.2.starts.contains.12" } ] }, { "className": "keyword", "begin": "all\\b" }, { "className": "variable", "begin": "@{[\\w\\-]+}" }, { "className": "selector-tag", "begin": "([\\w\\-]+|@{[\\w\\-]+})%?", "relevance": 0 }, { "className": "selector-id", "begin": "#([\\w\\-]+|@{[\\w\\-]+})" }, { "className": "selector-class", "begin": "\\.([\\w\\-]+|@{[\\w\\-]+})", "relevance": 0 }, { "className": "selector-tag", "begin": "&", "relevance": 0 }, { "className": "selector-attr", "begin": "\\[", "end": "\\]" }, { "className": "selector-pseudo", "begin": ":(:)?[a-zA-Z0-9\\_\\-\\+\\(\\)\"'.]+" }, { "begin": "\\(", "end": "\\)", "contains": { "$ref": "#contains.3.starts.contains" } }, { "begin": "!important" } ] } ] }