{ "comment": "", "fileTypes": [ "sass" ], "foldingStartMarker": "^\\s*([-%#\\:\\.\\w\\=].*)\\s$", "foldingStopMarker": "^\\s*$", "keyEquivalent": "^~S", "name": "Ruby Sass", "patterns": [ { "begin": "^(\\!)([a-zA-Z0-9_-]+)\\s*((?:\\|\\|)?=)", "beginCaptures": { "1": { "name": "punctuation.definition.entity.sass" }, "2": { "name": "variable.other.sass" }, "3": { "name": "punctuation.definition.entity.sass" } }, "end": "(;)?$", "endCaptures": { "1": { "name": "invalid.illegal.punctuation.sass" } }, "name": "meta.variable-declaration.sass", "patterns": [ { "include": "#property-value" } ] }, { "begin": "^(=)([a-zA-Z0-9_-]+)", "beginCaptures": { "1": { "name": "punctuation.definition.entity.sass" }, "2": { "name": "variable.other.sass" }, "3": { "name": "punctuation.definition.entity.sass" } }, "end": "(;)?$", "endCaptures": { "1": { "name": "invalid.illegal.punctuation.sass" } }, "name": "meta.variable-declaration.sass.mixin", "patterns": [ { "include": "#property-value" } ] }, { "begin": "^\\s*(\\+)([a-zA-Z0-9_-]+)", "beginCaptures": { "1": { "name": "punctuation.definition.entity.sass" }, "2": { "name": "variable.other.sass" }, "3": { "name": "punctuation.definition.entity.sass" } }, "end": "(;)?$", "endCaptures": { "1": { "name": "invalid.illegal.punctuation.sass" } }, "name": "meta.variable-usage.sass", "patterns": [ { "captures": { "1": { "name": "punctuation.definition.entity.css" }, "2": { "name": "variable.other.sass" } }, "match": "(\\!)([a-zA-Z0-9_-]+)", "name": "meta.variable-usage.sass" }, { "include": "#string-single" }, { "include": "#string-double" } ] }, { "begin": "(?=[.*&#a-zA-Z][:.*&#a-zA-Z]*)", "end": "(;)?$", "endCaptures": { "1": { "name": "invalid.illegal.punctuation.sass" } }, "name": "meta.selector.css", "patterns": [ { "include": "#comment-block" }, { "match": "(&)", "name": "keyword.other.parent-reference.sass" }, { "match": "\\b(a|abbr|acronym|address|area|b|base|big|blockquote|body|br|button|caption|cite|code|col|colgroup|dd|del|dfn|div|dl|dt|em|fieldset|form|frame|frameset|(h[1-6])|head|hr|html|i|iframe|img|input|ins|kbd|label|legend|li|link|map|meta|noframes|noscript|object|ol|optgroup|option|p|param|pre|q|samp|script|select|small|span|strike|strong|sub|sup|table|tbody|td|textarea|tfoot|th|thead|title|tr|tt|ul|var)\\b", "name": "entity.name.tag.css.sass" }, { "captures": { "1": { "name": "punctuation.definition.entity.css" } }, "match": "(\\.)[a-zA-Z0-9_-]+", "name": "entity.other.attribute-name.class.sass" }, { "captures": { "1": { "name": "punctuation.definition.entity.sass" } }, "match": "(#)[a-zA-Z][a-zA-Z0-9_-]*", "name": "entity.other.attribute-name.id.css.sass" }, { "match": "\\*", "name": "entity.name.tag.wildcard.sass" }, { "captures": { "1": { "name": "punctuation.definition.entity.sass" } }, "match": "(:+)\\b(after|before|first-child|first-letter|first-line|selection)\\b", "name": "entity.other.attribute-name.pseudo-element.sass" }, { "captures": { "1": { "name": "punctuation.definition.entity.sass" } }, "match": "(:)\\b(active|hover|link|visited|focus)\\b", "name": "entity.other.attribute-name.pseudo-class.css.sass" }, { "captures": { "1": { "name": "punctuation.definition.entity.sass" }, "2": { "name": "entity.other.attribute-name.attribute.sass" }, "3": { "name": "punctuation.separator.operator.sass" }, "4": { "name": "string.unquoted.attribute-value.sass" }, "5": { "name": "string.quoted.double.attribute-value.sass" }, "6": { "name": "punctuation.definition.string.begin.sass" }, "7": { "name": "punctuation.definition.string.end.sass" } }, "match": "(?i)(\\[)\\s*(-?[_a-z\\\\[[:^ascii:]]][_a-z0-9\\-\\\\[[:^ascii:]]]*)(?:\\s*([~|^$*]?=)\\s*(?:(-?[_a-z\\\\[[:^ascii:]]][_a-z0-9\\-\\\\[[:^ascii:]]]*)|((?>(['\"])(?:[^\\\\]|\\\\.)*?(\\6)))))?\\s*(\\])", "name": "meta.attribute-selector.css.sass" } ] }, { "include": "#comment-block" }, { "begin": "^\\s*((@)import\\b)", "beginCaptures": { "1": { "name": "keyword.control.at-rule.import.sass" }, "2": { "name": "punctuation.definition.keyword.sass" } }, "end": "(;)?$", "endCaptures": { "1": { "name": "invalid.illegal.punctuation.sass" } }, "name": "meta.at-rule.import.sass", "patterns": [ { "include": "#string-double" }, { "begin": "(url)\\s*(\\()\\s*", "beginCaptures": { "1": { "name": "support.function.url.sass" }, "2": { "name": "punctuation.section.function.sass" } }, "end": "\\s*(\\))\\s*", "endCaptures": { "1": { "name": "punctuation.section.function.sass" } }, "patterns": [ { "match": "[^'\") \\t]+", "name": "variable.parameter.url.sass" }, { "include": "#string-single" }, { "include": "#string-double" } ] }, { "match": "([^\"'\\n;]+)", "name": "variable.parameter.url.sass" } ] }, { "begin": "^\\s*((@)media)\\s+(((all|aural|braille|embossed|handheld|print|projection|screen|tty|tv)\\s*,?\\s*)+)\\s*{", "captures": { "1": { "name": "keyword.control.at-rule.media.sass" }, "2": { "name": "punctuation.definition.keyword.sass" }, "3": { "name": "support.constant.media.sass" } }, "end": "\\s*((?=;|\\}))", "name": "meta.at-rule.media.sass", "patterns": [ { "include": "$self" } ] }, { "begin": "(?