{ "fileTypes": [ "slim", "skim" ], "foldingStartMarker": "^\\s*([-%#\\:\\.\\w\\=].*)\\s$", "foldingStopMarker": "^\\s*$", "keyEquivalent": "^~S", "name": "Ruby Slim", "patterns": [ { "begin": "^(\\s*)(ruby):$", "beginCaptures": { "2": { "name": "constant.language.name.ruby.filter.slim" } }, "end": "^(?!(\\1\\s)|\\s*$)", "name": "text.ruby.filter.slim", "patterns": [ { "include": "source.ruby" } ] }, { "begin": "^(\\s*)(javascript):$", "beginCaptures": { "2": { "name": "constant.language.name.javascript.filter.slim" } }, "end": "^(?!(\\1\\s)|\\s*$)", "name": "text.javascript.filter.slim", "patterns": [ { "include": "source.js" } ] }, { "begin": "^(---)\\s*\\n", "beginCaptures": { "1": { "name": "storage.frontmatter.slim" } }, "end": "^(---)\\s*\\n", "endCaptures": { "1": { "name": "storage.frontmatter.slim" } }, "name": "source.yaml.meta.slim", "patterns": [ { "include": "source.yaml" } ] }, { "begin": "^(\\s*)(coffee):$", "beginCaptures": { "2": { "name": "constant.language.name.coffeescript.filter.slim" } }, "end": "^(?!(\\1\\s)|\\s*$)", "name": "text.coffeescript.filter.slim", "patterns": [ { "include": "source.coffee" } ] }, { "begin": "^(\\s*)(markdown):$", "beginCaptures": { "2": { "name": "constant.language.name.markdown.filter.slim" } }, "end": "^(?!(\\1\\s)|\\s*$)", "name": "text.markdown.filter.slim", "patterns": [ { "include": "source.md" } ] }, { "begin": "^(\\s*)(css):$", "beginCaptures": { "2": { "name": "constant.language.name.css.filter.slim" } }, "end": "^(?!(\\1\\s)|\\s*$)", "name": "text.css.filter.slim", "patterns": [ { "include": "source.css" } ] }, { "begin": "^(\\s*)(sass):$", "beginCaptures": { "2": { "name": "constant.language.name.sass.filter.slim" } }, "end": "^(?!(\\1\\s)|\\s*$)", "name": "text.sass.filter.slim", "patterns": [ { "include": "source.sass" } ] }, { "begin": "^(\\s*)(scss):$", "beginCaptures": { "2": { "name": "constant.language.name.scss.filter.slim" } }, "end": "^(?!(\\1\\s)|\\s*$)", "name": "text.scss.filter.slim", "patterns": [ { "include": "source.sass" } ] }, { "captures": { "1": { "name": "punctuation.definition.prolog.slim" } }, "match": "^(! )($|\\s.*)", "name": "meta.prolog.slim" }, { "captures": { "1": { "name": "punctuation.section.comment.slim" } }, "match": "^\\s*(/)\\s*\\S.*$\\n?", "name": "comment.line.slash.slim" }, { "begin": "^(\\s*)(/)\\s*$", "beginCaptures": { "2": { "name": "punctuation.section.comment.slim" } }, "end": "^(?!\\1 )", "name": "comment.block.slim", "patterns": [ { "include": "text.slim" } ] }, { "begin": "^\\s*(?===|=|-|~)", "end": "$", "patterns": [ { "include": "#rubyline" } ] }, { "include": "#inline-html-tag" }, { "include": "#normal-html-tag" }, { "include": "#embedded-ruby" }, { "begin": "^\\s*([\\w.#_-]*[\\w]+)\\s*", "captures": { "0": { "name": "entity.name.tag.slim" } }, "end": "$|(?!\\.|#|\\{|\\[|=|-|~|/)", "patterns": [ { "begin": "\\{(?=.*\\}|.*\\|\\s*$)", "end": "\\}|$|^(?!.*\\|\\s*$)", "name": "meta.section.attributes.slim", "patterns": [ { "include": "source.ruby.rails" }, { "include": "#continuation" } ] }, { "begin": "\\[(?=.*\\]|.*\\|\\s*$)", "end": "\\]|$|^(?!.*\\|\\s*$)", "name": "meta.section.object.slim", "patterns": [ { "include": "source.ruby.rails" }, { "include": "#continuation" } ] }, { "include": "#rubyline" }, { "match": "/", "name": "punctuation.terminator.tag.slim" } ] }, { "captures": { "1": { "name": "meta.escape.slim" } }, "match": "^\\s*(\\\\.)" }, { "begin": "^\\s*(?=\\||')", "end": "$", "patterns": [ { "include": "#embedded-ruby" }, { "include": "text.html.basic" } ] } ], "repository": { "continuation": { "captures": { "1": { "name": "punctuation.separator.continuation.slim" } }, "match": "([\\\\,])\\s*\\n" }, "delimited-ruby-a": { "begin": "=\\(", "end": "\\)(?=( \\w|$))", "name": "source.ruby.embedded.slim", "patterns": [ { "include": "source.ruby.rails" } ] }, "delimited-ruby-b": { "begin": "=\\[", "end": "\\](?=( \\w|$))", "name": "source.ruby.embedded.slim", "patterns": [ { "include": "source.ruby.rails" } ] }, "delimited-ruby-c": { "begin": "=\\{", "end": "\\}(?=( \\w|$))", "name": "source.ruby.embedded.slim", "patterns": [ { "include": "source.ruby.rails" } ] }, "embedded-ruby": { "begin": "(?|><|<'|'<|<|>|')?|-", "contentName": "source.ruby.embedded.slim", "end": "(?