{"name":"Ruby Haml","scopeName":"text.haml","patterns":[{"begin":"^\\s*==","end":"$\\n?","patterns":[{"include":"#interpolated_ruby"}],"captures":{"1":{"name":"string.quoted.double.ruby"}}},{"include":"#continuation"},{"name":"meta.prolog.haml","match":"^(!!!)($|\\s.*)","captures":{"1":{"name":"punctuation.definition.prolog.haml"}}},{"name":"meta.embedded.ruby","match":"(?\u003c=\\#\\{)([^#]+)(?=\\})","captures":{"1":{"patterns":[{}]}}},{"name":"comment.line.slash.haml","match":"^(\\s*)(\\/\\[[^\\]].*?$\\n?)","captures":{"1":{"name":"punctuation.section.comment.haml"}}},{"name":"comment.line.slash.haml","begin":"^(\\s*)(\\-\\#|\\/|\\-\\s*\\/\\*+)","end":"^(?!\\1\\s+|$\\n?)","captures":{"2":{"name":"punctuation.section.comment.haml"}}},{"begin":"^\\s*(?:((%)([-\\w:]+))|(?=\\.|#))","end":"$|(?!\\.|#|\\{|\\(|\\[|\u0026amp;|=|-|~|!=|\u0026=|/)","patterns":[{"name":"string.quoted.double.ruby","contentName":"string.quoted.double.ruby","begin":"==","end":"$\\n?","patterns":[{"include":"#interpolated_ruby"}]},{"name":"entity.name.tag.class.haml","match":"\\.[\\w-]+"},{"name":"entity.name.tag.id.haml","match":"#[\\w-]+"},{"name":"meta.section.attributes.haml","begin":"(?\u003c!\\#)\\{(?=.+(,|(do)|\\{|\\}|\\||(\\#.*))\\s*)","end":"\\s*\\}(?!,)","patterns":[{"include":"#continuation"},{},{"include":"#rubyline"}]},{"name":"meta.section.attributes.haml","begin":"\\(","end":"\\)","patterns":[{"name":"constant.other.symbol.ruby","match":"([\\w-]+)"},{"name":"punctuation","match":"\\="},{"include":"#variables"},{"name":"string.quoted.double.ruby","begin":"\"","end":"\"","patterns":[{"name":"constant.character.escape.ruby","match":"\\\\(x[0-9A-Fa-f]{2}|[0-2][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.)"},{"include":"#interpolated_ruby"}]},{"name":"string.quoted.double.ruby","begin":"'","end":"'","patterns":[{"name":"constant.character.escape.ruby","match":"\\\\(x[0-9A-Fa-f]{2}|[0-2][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.)"},{"include":"#interpolated_ruby"}]},{"include":"#interpolated_ruby"}]},{"name":"meta.section.object.haml","begin":"\\[(?=.+(,|\\[|\\]|\\||(\\#.*))\\s*)","end":"\\s*\\](?!.*(?!\\#\\[)\\])","patterns":[{"include":"#continuation"},{},{"include":"#rubyline"}]},{"include":"#rubyline"},{"name":"punctuation.terminator.tag.haml","match":"/"}],"captures":{"1":{"name":"meta.tag.haml"},"2":{"name":"punctuation.definition.tag.haml"},"3":{"name":"entity.name.tag.haml"}}},{"match":"^\\s*(\\.)","captures":{"1":{"name":"meta.escape.haml"}}},{"begin":"^\\s*(?==|-|~|!=|\u0026=)","end":"$","patterns":[{"include":"#rubyline"}]},{"name":"meta.embedded.php","begin":"^(\\s*)(:php)$","end":"^(?!\\1\\s+|\\n)","patterns":[{"include":"text.html.php#language"}],"captures":{"2":{"name":"entity.name.tag.haml"}}},{"name":"meta.embedded.ruby","begin":"^(\\s*)(:ruby)$","end":"^(?!\\1\\s+|\\n)","patterns":[{"include":"source.ruby"}],"captures":{"2":{"name":"entity.name.tag.haml"}}},{"name":"meta.embedded.markdown","begin":"^(\\s*)(:markdown)$","end":"^(?!\\1\\s+|\\n)","patterns":[{}],"captures":{"2":{"name":"entity.name.tag.haml"}}},{"name":"meta.embedded.coffee","begin":"^(\\s*)(:coffee(script)?)$","end":"^(?!\\1\\s+|\\n)","patterns":[{"include":"source.coffee"}],"captures":{"2":{"name":"entity.name.tag.haml"}}},{"name":"meta.embedded.js","begin":"^(\\s*)(:(javascript|es6))$","end":"^(?!\\1\\s+|\\n)","patterns":[{"include":"source.js"}],"captures":{"2":{"name":"entity.name.tag.haml"}}},{"name":"meta.embedded.css","begin":"^(\\s*)(:(css|styles?))$","end":"^(?!\\1\\s+|\\n)","patterns":[{"include":"source.css"}],"captures":{"2":{"name":"entity.name.tag.haml"}}},{"name":"meta.embedded.ruby2js","begin":"^(\\s*)(:ruby2js)$","end":"^(?!\\1\\s+|\\n)","patterns":[{"include":"source.ruby"}],"captures":{"2":{"name":"entity.name.tag.haml"}}},{"name":"meta.embedded.sass","begin":"^(\\s*)(:sass)$","end":"^(?!\\1\\s+|\\n)","patterns":[{"include":"source.sass"}],"captures":{"2":{"name":"entity.name.tag.haml"}}},{"name":"meta.embedded.scss","begin":"^(\\s*)(:scss)$","end":"^(?!\\1\\s+|\\n)","patterns":[{"include":"source.css.scss"}],"captures":{"2":{"name":"entity.name.tag.haml"}}}],"repository":{"continuation":{"match":"(\\|)\\s*$\\n?","captures":{"1":{"name":"punctuation.separator.continuation.haml"}}},"interpolated_ruby":{"patterns":[{"name":"meta.section.object.haml","begin":"\\#\\{","end":"\\}","patterns":[{"include":"#nest_curly_and_self"},{"include":"source.ruby"}],"captures":{"1":{"name":"punctuation.section.embedded.ruby"}}},{"include":"#variables"}]},"nest_curly_and_self":{"patterns":[{"name":"meta.section.object.haml","begin":"\\{","end":"\\}","patterns":[{"include":"#nest_curly_and_self"},{"include":"source.ruby"}],"captures":{"0":{"name":"punctuation.section.scope.ruby"}}}]},"rubyline":{"name":"meta.line.ruby.haml","contentName":"source.ruby.embedded.haml","begin":"(\u0026amp|!)?(=|-|~)","end":"((do|\\{)( \\|[.*]+\\|)?)$|$|^(?!.*\\|\\s*)$\\n?","patterns":[{"match":"\\s+((elseif|foreach|switch|declare|default|use))(?=\\s|\\()","captures":{"1":{"name":"keyword.control.php"}}},{"match":"\\s+(require_once|include_once)(?=\\s|\\()","captures":{"1":{"name":"keyword.control.import.include.php"}}},{"name":"keyword.control.exception.php","match":"\\s+(catch|try|throw|exception|finally|die)(?=\\s|\\(|\\n)"},{"match":"\\s+(function\\s*)((?=\\())","captures":{"1":{"name":"storage.type.function.php"}}},{"match":"\\s+(use\\s*)((?=\\())","captures":{"1":{"name":"keyword.control.php"}}},{"name":"string.quoted.double.ruby","begin":"\"","end":"\"","patterns":[{"include":"source.ruby#interpolated_ruby"},{"include":"source.ruby#escaped_char"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.end.ruby"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.ruby"}}},{"name":"source.ruby","match":"(\\||,|\u003c|do|\\{)\\s*(\\#.*)?$\\n?","captures":{"0":{"patterns":[{"include":"#rubyline"}]}}},{"name":"comment.line.number-sign.ruby","match":"#.*$"},{},{"include":"#continuation"}],"endCaptures":{"1":{"name":"source.ruby.embedded.haml"},"2":{"name":"keyword.control.ruby.start-block"}}},"variables":{"patterns":[{"name":"variable.other.readwrite.instance.ruby","match":"(@)[a-zA-Z_]\\w+","captures":{"1":{"name":"punctuation.definition.variable.ruby"}}},{"name":"variable.other.readwrite.class.ruby","match":"(@@)[a-zA-Z_]\\w+","captures":{"1":{"name":"punctuation.definition.variable.ruby"}}},{"name":"variable.other.readwrite.global.ruby","match":"(\\$)[a-zA-Z_]\\w+","captures":{"1":{"name":"punctuation.definition.variable.ruby"}}}]}}}