{ "case_insensitive": true, "subLanguage": "xml", "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": "template-tag", "begin": "\\{\\{[#\\\/]", "end": "\\}\\}", "contains": [ { "className": "name", "begin": "[a-zA-Z\\.\\-]+", "keywords": { "builtin-name": "action collection component concat debugger each each-in else get hash if input link-to loc log mut outlet partial query-params render textarea unbound unless with yield view" }, "starts": { "endsWithParent": true, "relevance": 0, "keywords": { "keyword": "as", "built_in": "action collection component concat debugger each each-in else get hash if input link-to loc log mut outlet partial query-params render textarea unbound unless with yield view" }, "contains": [ { "className": "string", "begin": "\"", "end": "\"", "illegal": "\\n", "contains": [ { "begin": "\\\\[\\s\\S]", "relevance": 0 } ] }, { "illegal": "\\}\\}", "begin": "[a-zA-Z0-9_]+=", "returnBegin": true, "relevance": 0, "contains": [ { "className": "attr", "begin": "[a-zA-Z0-9_]+" } ] }, { "className": "number", "begin": "\\b\\d+(\\.\\d+)?", "relevance": 0 } ] } } ] }, { "className": "template-variable", "begin": "\\{\\{[a-zA-Z][a-zA-Z\\-]+", "end": "\\}\\}", "keywords": { "keyword": "as", "built_in": "action collection component concat debugger each each-in else get hash if input link-to loc log mut outlet partial query-params render textarea unbound unless with yield view" }, "contains": [ { "$ref": "#contains.1.contains.0.starts.contains.0" } ] } ] }