--- name: CSS fileTypes: - css scopeName: source.css repository: string-single: name: string.quoted.single.css endCaptures: "0": name: punctuation.definition.string.end.css begin: "'" beginCaptures: "0": name: punctuation.definition.string.begin.css end: "'" patterns: - name: constant.character.escape.css match: \\. string-double: name: string.quoted.double.css endCaptures: "0": name: punctuation.definition.string.end.css begin: "\"" beginCaptures: "0": name: punctuation.definition.string.begin.css end: "\"" patterns: - name: constant.character.escape.css match: \\. comment-block: name: comment.block.css captures: "0": name: punctuation.definition.comment.css begin: /\* end: \*/ uuid: 69AA0917-B7BB-11D9-A7E2-000D93C8BE28 foldingStartMarker: /\*\*(?!\*)|\{\s*($|/\*(?!.*?\*/.*\S)) patterns: - name: meta.selector.css begin: ^(?=\s*[:.*#a-zA-Z]) end: (?=\{) patterns: - include: "#comment-block" - name: entity.name.tag.css 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|style|sub|sup|table|tbody|td|textarea|tfoot|th|thead|title|tr|tt|ul|var)\b - name: entity.other.attribute-name.class.css captures: "1": name: punctuation.definition.entity.css match: (\.)[a-zA-Z0-9_-]+ - name: entity.other.attribute-name.id.css captures: "1": name: punctuation.definition.entity.css match: (#)[a-zA-Z][a-zA-Z0-9_-]* - name: entity.name.tag.wildcard.css match: \* - name: entity.other.attribute-name.pseudo-element.css captures: "1": name: punctuation.definition.entity.css match: (:+)\b(after|before|first-child|first-letter|first-line|selection)\b - name: entity.other.attribute-name.pseudo-class.css captures: "1": name: punctuation.definition.entity.css match: (:)\b(active|hover|link|visited|focus)\b - name: meta.attribute-selector.css captures: "6": name: punctuation.definition.string.begin.css "7": name: punctuation.definition.string.end.css "1": name: punctuation.definition.entity.css "2": name: entity.other.attribute-name.attribute.css "3": name: punctuation.separator.operator.css "4": name: string.unquoted.attribute-value.css "5": name: string.quoted.double.attribute-value.css match: (?i)(\[)\s*(-?[_a-z\\[[:^ascii:]]][_a-z0-9\-\\[[:^ascii:]]]*)(?:\s*([~|^$*]?=)\s*(?:(-?[_a-z\\[[:^ascii:]]][_a-z0-9\-\\[[:^ascii:]]]*)|((?>(['"])(?:[^\\]|\\.)*?(\6)))))?\s*(\]) - include: "#comment-block" - name: meta.at-rule.import.css captures: "1": name: keyword.control.at-rule.import.css "2": name: punctuation.definition.keyword.css begin: ^\s*((@)import\b) end: \s*((?=;|\})) patterns: - include: "#string-double" - endCaptures: "1": name: punctuation.section.function.css begin: (url)\s*(\()\s* beginCaptures: "1": name: support.function.url.css "2": name: punctuation.section.function.css end: \s*(\))\s* patterns: - name: variable.parameter.url.css match: "[^'\") \\t]+" - include: "#string-single" - include: "#string-double" - name: meta.at-rule.media.css captures: "1": name: keyword.control.at-rule.media.css "2": name: punctuation.definition.keyword.css "3": name: support.constant.media.css begin: ^\s*((@)media)\s+(((all|aural|braille|embossed|handheld|print|projection|screen|tty|tv)\s*,?\s*)+)\s*{ end: \s*((?=;|\})) patterns: - include: $self - name: meta.property-list.css captures: "0": name: punctuation.section.property-list.css begin: \{ end: \} patterns: - include: "#comment-block" - name: meta.property-name.css begin: (?