{
"fileTypes": ["haml", "html.haml"],
"foldingStartMarker": "^\\s*([-%#\\:\\.\\w\\=].*)\\s$",
"foldingStopMarker": "^\\s*$",
"keyEquivalent": "^~H",
"name": "haml",
"patterns": [
{
"begin": "^(\\s*)==",
"contentName": "string.quoted.double.ruby",
"end": "$\\n*",
"patterns": [
{
"include": "#interpolated_ruby"
}
]
},
{
"begin": "^(\\s*):ruby",
"end": "^(?!\\1\\s+|$\\n*)",
"name": "source.ruby.embedded.filter.haml",
"patterns": [
{
"include": "source.ruby"
}
]
},
{
"captures": {
"1": {
"name": "punctuation.definition.prolog.haml"
}
},
"match": "^(!!!)($|\\s.*)",
"name": "meta.prolog.haml"
},
{
"begin": "^(\\s*):javascript",
"end": "^(?!\\1\\s+|$\\n*)",
"name": "js.haml",
"patterns": [
{
"include": "source.js"
}
]
},
{
"begin": "^(\\s*)%script",
"end": "^(?!\\1\\s+|$\\n*)",
"name": "js.inline.haml",
"patterns": [
{
"include": "source.js"
}
]
},
{
"begin": "^(\\s*):ruby$",
"end": "^(?!\\1\\s+|$\\n*)",
"name": "source.ruby.embedded.filter.haml",
"patterns": [
{
"include": "source.ruby"
}
]
},
{
"captures": {
"1": {
"name": "punctuation.section.comment.haml"
}
},
"match": "^(\\s*)(\\/\\[[^\\]].*?$\\n?)",
"name": "comment.line.slash.haml"
},
{
"begin": "^(\\s*)(\\-\\#|\\/|\\-\\s*\\/\\*+)",
"beginCaptures": {
"2": {
"name": "punctuation.section.comment.haml"
}
},
"end": "^(?!\\1\\s+|\\n)",
"name": "comment.block.haml",
"patterns": [
{
"include": "text.haml"
}
]
},
{
"begin": "^\\s*(?:((%)([-\\w:]+))|(?=\\.|#))",
"end": "$|(?!\\.|#|\\{|\\(|\\[|&|=|-|~|!=|&=|/)",
"captures": {
"1": {
"name": "meta.tag.haml"
},
"2": {
"name": "punctuation.definition.tag.haml"
},
"3": {
"name": "entity.name.tag.haml"
}
},
"patterns": [
{
"begin": "==",
"contentName": "string.quoted.double.ruby",
"end": "$\\n?",
"patterns": [
{
"include": "#interpolated_ruby"
}
]
},
{
"captures": {
"1": {
"name": "entity.other.attribute-name.class"
}
},
"match": "(\\.[\\w\\-\\:]+)",
"name": "meta.selector.css"
},
{
"captures": {
"1": {
"name": "entity.other.attribute-name.id"
}
},
"match": "(#[\\w-]+)",
"name": "meta.selector.css"
},
{
"begin": "(?