{ "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": "(?