{
"$schema": "https://tree-sitter.github.io/tree-sitter/assets/schemas/grammar.schema.json",
"name": "css",
"rules": {
"stylesheet": {
"type": "SEQ",
"members": [
{
"type": "REPEAT",
"content": {
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": ";"
},
{
"type": "SYMBOL",
"name": "_top_level_item"
}
]
}
},
{
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "last_declaration"
},
"named": true,
"value": "declaration"
},
{
"type": "BLANK"
}
]
}
]
},
"_top_level_item": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "declaration"
},
{
"type": "SYMBOL",
"name": "rule_set"
},
{
"type": "SYMBOL",
"name": "import_statement"
},
{
"type": "SYMBOL",
"name": "media_statement"
},
{
"type": "SYMBOL",
"name": "charset_statement"
},
{
"type": "SYMBOL",
"name": "namespace_statement"
},
{
"type": "SYMBOL",
"name": "keyframes_statement"
},
{
"type": "SYMBOL",
"name": "supports_statement"
},
{
"type": "SYMBOL",
"name": "at_rule"
}
]
},
"import_statement": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "@import"
},
{
"type": "SYMBOL",
"name": "_value"
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_query"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "SYMBOL",
"name": "_query"
}
]
}
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": ";"
}
]
},
"media_statement": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "@media"
},
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_query"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "SYMBOL",
"name": "_query"
}
]
}
}
]
},
{
"type": "SYMBOL",
"name": "block"
}
]
},
"charset_statement": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "@charset"
},
{
"type": "SYMBOL",
"name": "_value"
},
{
"type": "STRING",
"value": ";"
}
]
},
"namespace_statement": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "@namespace"
},
{
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "identifier"
},
"named": true,
"value": "namespace_name"
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "string_value"
},
{
"type": "SYMBOL",
"name": "call_expression"
},
{
"type": "SYMBOL",
"name": "url_value"
}
]
},
{
"type": "STRING",
"value": ";"
}
]
},
"keyframes_statement": {
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "@keyframes"
},
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "@[-a-z]+keyframes"
},
"named": true,
"value": "at_keyword"
}
]
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "identifier"
},
"named": true,
"value": "keyframes_name"
},
{
"type": "SYMBOL",
"name": "keyframe_block_list"
}
]
},
"keyframe_block_list": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "{"
},
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "keyframe_block"
}
},
{
"type": "STRING",
"value": "}"
}
]
},
"keyframe_block": {
"type": "SEQ",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "from"
},
{
"type": "SYMBOL",
"name": "to"
},
{
"type": "SYMBOL",
"name": "integer_value"
},
{
"type": "SYMBOL",
"name": "float_value"
}
]
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "from"
},
{
"type": "SYMBOL",
"name": "to"
},
{
"type": "SYMBOL",
"name": "integer_value"
},
{
"type": "SYMBOL",
"name": "float_value"
}
]
}
]
}
}
]
},
{
"type": "SYMBOL",
"name": "block"
}
]
},
"from": {
"type": "STRING",
"value": "from"
},
"to": {
"type": "STRING",
"value": "to"
},
"supports_statement": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "@supports"
},
{
"type": "SYMBOL",
"name": "_query"
},
{
"type": "SYMBOL",
"name": "block"
}
]
},
"at_rule": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "at_keyword"
},
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "_at_rule_component"
}
},
{
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": ";"
},
{
"type": "SYMBOL",
"name": "block"
}
]
}
]
},
"_at_rule_component": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "at_rule_value"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "_at_rule_slash"
},
"named": true,
"value": "at_rule_value"
},
{
"type": "SYMBOL",
"name": "at_rule_url"
},
{
"type": "SYMBOL",
"name": "string_value"
},
{
"type": "SYMBOL",
"name": "at_rule_delimiter"
},
{
"type": "SYMBOL",
"name": "at_rule_parenthesized"
},
{
"type": "SYMBOL",
"name": "at_rule_bracketed"
}
]
},
"_at_rule_nested_component": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_at_rule_component"
},
{
"type": "SYMBOL",
"name": "at_rule_braced"
},
{
"type": "ALIAS",
"content": {
"type": "STRING",
"value": ";"
},
"named": true,
"value": "at_rule_delimiter"
}
]
},
"at_rule_delimiter": {
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "STRING",
"value": ":"
}
]
},
"at_rule_parenthesized": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "("
},
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "_at_rule_nested_component"
}
},
{
"type": "STRING",
"value": ")"
}
]
},
"at_rule_bracketed": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "["
},
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "_at_rule_nested_component"
}
},
{
"type": "STRING",
"value": "]"
}
]
},
"at_rule_braced": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "{"
},
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "_at_rule_nested_component"
}
},
{
"type": "STRING",
"value": "}"
}
]
},
"at_rule_value": {
"type": "TOKEN",
"content": {
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "PATTERN",
"value": "[#@]"
},
{
"type": "BLANK"
}
]
},
{
"type": "REPEAT1",
"content": {
"type": "CHOICE",
"members": [
{
"type": "PATTERN",
"value": "[-\\w\\u0080-\\u{10FFFF}]",
"flags": "u"
},
{
"type": "PATTERN",
"value": "\\\\(?:[0-9a-fA-F]{1,6}(?:[ \\t\\n\\f]|\\r\\n?)?|[^0-9a-fA-F\\n\\r\\f])"
}
]
}
}
]
},
{
"type": "SEQ",
"members": [
{
"type": "PATTERN",
"value": "[+-]?(?:[0-9]+(?:\\.[0-9]+)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?"
},
{
"type": "CHOICE",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "REPEAT1",
"content": {
"type": "CHOICE",
"members": [
{
"type": "PATTERN",
"value": "[-\\w\\u0080-\\u{10FFFF}]",
"flags": "u"
},
{
"type": "PATTERN",
"value": "\\\\(?:[0-9a-fA-F]{1,6}(?:[ \\t\\n\\f]|\\r\\n?)?|[^0-9a-fA-F\\n\\r\\f])"
}
]
}
},
{
"type": "STRING",
"value": "%"
}
]
},
{
"type": "BLANK"
}
]
}
]
},
{
"type": "PATTERN",
"value": "[^\\s(){}\\[\\];,:\"'\\\\/]"
}
]
},
{
"type": "REPEAT",
"content": {
"type": "STRING",
"value": "//"
}
}
]
}
},
"at_rule_url": {
"type": "TOKEN",
"content": {
"type": "CHOICE",
"members": [
{
"type": "PATTERN",
"value": "\\/\\/[^\\s(){}\\[\\];,\"'\\\\]+"
},
{
"type": "SEQ",
"members": [
{
"type": "PATTERN",
"value": "(?:[uU]|\\\\(?:[uU]|0{0,4}[57]5(?:[ \\t\\n\\f]|\\r\\n?)?))"
},
{
"type": "PATTERN",
"value": "(?:[rR]|\\\\(?:[rR]|0{0,4}[57]2(?:[ \\t\\n\\f]|\\r\\n?)?))"
},
{
"type": "PATTERN",
"value": "(?:[lL]|\\\\(?:[lL]|0{0,4}[46][cC](?:[ \\t\\n\\f]|\\r\\n?)?))"
},
{
"type": "STRING",
"value": "("
},
{
"type": "PATTERN",
"value": "[ \\t\\n\\r\\f]*"
},
{
"type": "REPEAT",
"content": {
"type": "CHOICE",
"members": [
{
"type": "PATTERN",
"value": "[^\\x00-\\x20\\x7F\"'()\\\\]"
},
{
"type": "PATTERN",
"value": "\\\\(?:[0-9a-fA-F]{1,6}(?:[ \\t\\n\\f]|\\r\\n?)?|[^0-9a-fA-F\\n\\r\\f])"
}
]
}
},
{
"type": "PATTERN",
"value": "[ \\t\\n\\r\\f]*"
},
{
"type": "STRING",
"value": ")"
}
]
}
]
}
},
"rule_set": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "selectors"
},
{
"type": "SYMBOL",
"name": "block"
}
]
},
"selectors": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_selector"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "SYMBOL",
"name": "_selector"
}
]
}
}
]
},
"block": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "{"
},
{
"type": "REPEAT",
"content": {
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": ";"
},
{
"type": "SYMBOL",
"name": "_block_item"
}
]
}
},
{
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "last_declaration"
},
"named": true,
"value": "declaration"
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": "}"
}
]
},
"_block_item": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "declaration"
},
{
"type": "SYMBOL",
"name": "rule_set"
},
{
"type": "SYMBOL",
"name": "import_statement"
},
{
"type": "SYMBOL",
"name": "media_statement"
},
{
"type": "SYMBOL",
"name": "charset_statement"
},
{
"type": "SYMBOL",
"name": "namespace_statement"
},
{
"type": "SYMBOL",
"name": "keyframes_statement"
},
{
"type": "SYMBOL",
"name": "supports_statement"
},
{
"type": "SYMBOL",
"name": "at_rule"
}
]
},
"_selector": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "universal_selector"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "identifier"
},
"named": true,
"value": "tag_name"
},
{
"type": "SYMBOL",
"name": "class_selector"
},
{
"type": "SYMBOL",
"name": "nesting_selector"
},
{
"type": "SYMBOL",
"name": "pseudo_class_selector"
},
{
"type": "SYMBOL",
"name": "pseudo_element_selector"
},
{
"type": "SYMBOL",
"name": "id_selector"
},
{
"type": "SYMBOL",
"name": "attribute_selector"
},
{
"type": "SYMBOL",
"name": "string_value"
},
{
"type": "SYMBOL",
"name": "child_selector"
},
{
"type": "SYMBOL",
"name": "descendant_selector"
},
{
"type": "SYMBOL",
"name": "sibling_selector"
},
{
"type": "SYMBOL",
"name": "adjacent_sibling_selector"
},
{
"type": "SYMBOL",
"name": "namespace_selector"
}
]
},
"nesting_selector": {
"type": "STRING",
"value": "&"
},
"universal_selector": {
"type": "STRING",
"value": "*"
},
"class_selector": {
"type": "PREC",
"value": 1,
"content": {
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_selector"
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": "."
},
{
"type": "SYMBOL",
"name": "class_name"
}
]
}
},
"pseudo_class_selector": {
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_selector"
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": ":"
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "has"
},
{
"type": "STRING",
"value": "not"
},
{
"type": "STRING",
"value": "is"
},
{
"type": "STRING",
"value": "where"
},
{
"type": "STRING",
"value": "host"
},
{
"type": "STRING",
"value": "host-context"
}
]
},
"named": true,
"value": "class_name"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "pseudo_class_with_selector_arguments"
},
"named": true,
"value": "arguments"
}
]
},
{
"type": "SYMBOL",
"name": "_nth_child_pseudo_class_selector"
},
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "class_name"
},
{
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "pseudo_class_arguments"
},
"named": true,
"value": "arguments"
},
{
"type": "BLANK"
}
]
}
]
},
{
"type": "ALIAS",
"content": {
"type": "STRING",
"value": "host"
},
"named": true,
"value": "class_name"
}
]
}
]
},
"_nth_child_pseudo_class_selector": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "nth-child"
},
{
"type": "STRING",
"value": "nth-last-child"
}
]
},
"named": true,
"value": "class_name"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "pseudo_class_nth_child_arguments"
},
"named": true,
"value": "arguments"
}
]
},
"pseudo_element_selector": {
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_selector"
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": "::"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "identifier"
},
"named": true,
"value": "tag_name"
},
{
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "pseudo_element_arguments"
},
"named": true,
"value": "arguments"
},
{
"type": "BLANK"
}
]
}
]
},
"id_selector": {
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_selector"
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": "#"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "identifier"
},
"named": true,
"value": "id_name"
}
]
},
"attribute_selector": {
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_selector"
},
{
"type": "BLANK"
}
]
},
{
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 1,
"content": {
"type": "STRING",
"value": "["
}
}
},
{
"type": "ALIAS",
"content": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "identifier"
},
{
"type": "SYMBOL",
"name": "_escaped_identifier"
},
{
"type": "SYMBOL",
"name": "namespace_selector"
},
{
"type": "SYMBOL",
"name": "_escaped_attribute_namespace"
}
]
},
"named": true,
"value": "attribute_name"
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "="
},
{
"type": "STRING",
"value": "~="
},
{
"type": "STRING",
"value": "^="
},
{
"type": "STRING",
"value": "|="
},
{
"type": "STRING",
"value": "*="
},
{
"type": "STRING",
"value": "$="
}
]
},
{
"type": "SYMBOL",
"name": "_value"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "attribute_flag"
},
{
"type": "BLANK"
}
]
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": "]"
}
]
},
"_escaped_attribute_namespace": {
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "_escaped_identifier"
},
"named": true,
"value": "tag_name"
},
{
"type": "STRING",
"value": "|"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_selector"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "_escaped_identifier"
},
"named": true,
"value": "tag_name"
}
]
}
]
},
{
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_selector"
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": "|"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "_escaped_identifier"
},
"named": true,
"value": "tag_name"
}
]
}
]
},
"attribute_flag": {
"type": "PATTERN",
"value": "[iIsS]"
},
"child_selector": {
"type": "PREC_LEFT",
"value": 0,
"content": {
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_selector"
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": ">"
},
{
"type": "SYMBOL",
"name": "_selector"
}
]
}
},
"descendant_selector": {
"type": "PREC_LEFT",
"value": 0,
"content": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_selector"
},
{
"type": "SYMBOL",
"name": "_descendant_operator"
},
{
"type": "SYMBOL",
"name": "_selector"
}
]
}
},
"sibling_selector": {
"type": "PREC_LEFT",
"value": 0,
"content": {
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_selector"
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": "~"
},
{
"type": "SYMBOL",
"name": "_selector"
}
]
}
},
"adjacent_sibling_selector": {
"type": "PREC_LEFT",
"value": 0,
"content": {
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_selector"
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": "+"
},
{
"type": "SYMBOL",
"name": "_selector"
}
]
}
},
"namespace_selector": {
"type": "PREC_LEFT",
"value": 0,
"content": {
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_selector"
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": "|"
},
{
"type": "SYMBOL",
"name": "_selector"
}
]
}
},
"pseudo_class_arguments": {
"type": "SEQ",
"members": [
{
"type": "IMMEDIATE_TOKEN",
"content": {
"type": "STRING",
"value": "("
}
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_selector"
},
{
"type": "REPEAT1",
"content": {
"type": "SYMBOL",
"name": "_value"
}
}
]
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_selector"
},
{
"type": "REPEAT1",
"content": {
"type": "SYMBOL",
"name": "_value"
}
}
]
}
]
}
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": ")"
}
]
},
"pseudo_class_with_selector_arguments": {
"type": "SEQ",
"members": [
{
"type": "IMMEDIATE_TOKEN",
"content": {
"type": "STRING",
"value": "("
}
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_selector"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "SYMBOL",
"name": "_selector"
}
]
}
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": ")"
}
]
},
"pseudo_class_nth_child_arguments": {
"type": "PREC",
"value": -1,
"content": {
"type": "SEQ",
"members": [
{
"type": "IMMEDIATE_TOKEN",
"content": {
"type": "STRING",
"value": "("
}
},
{
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "STRING",
"value": "even"
},
"named": true,
"value": "plain_value"
},
{
"type": "ALIAS",
"content": {
"type": "STRING",
"value": "odd"
},
"named": true,
"value": "plain_value"
},
{
"type": "SYMBOL",
"name": "integer_value"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "_nth_functional_notation"
},
"named": true,
"value": "plain_value"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "of"
},
{
"type": "SYMBOL",
"name": "_selector"
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": ")"
}
]
}
},
"_nth_functional_notation": {
"type": "PATTERN",
"value": "-?(\\d)*n\\s*(\\+\\s*\\d+)?"
},
"pseudo_element_arguments": {
"type": "SEQ",
"members": [
{
"type": "IMMEDIATE_TOKEN",
"content": {
"type": "STRING",
"value": "("
}
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_selector"
},
{
"type": "REPEAT1",
"content": {
"type": "SYMBOL",
"name": "_value"
}
}
]
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_selector"
},
{
"type": "REPEAT1",
"content": {
"type": "SYMBOL",
"name": "_value"
}
}
]
}
]
}
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": ")"
}
]
},
"declaration": {
"type": "PREC_DYNAMIC",
"value": 1,
"content": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "identifier"
},
{
"type": "SYMBOL",
"name": "_custom_property_name"
}
]
},
"named": true,
"value": "property_name"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_descendant_operator"
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": ":"
},
{
"type": "SYMBOL",
"name": "_value"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "BLANK"
}
]
},
{
"type": "SYMBOL",
"name": "_value"
}
]
}
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "important"
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": ";"
}
]
}
},
"last_declaration": {
"type": "PREC_DYNAMIC",
"value": 1,
"content": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "identifier"
},
{
"type": "SYMBOL",
"name": "_custom_property_name"
}
]
},
"named": true,
"value": "property_name"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_descendant_operator"
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": ":"
},
{
"type": "SYMBOL",
"name": "_value"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "BLANK"
}
]
},
{
"type": "SYMBOL",
"name": "_value"
}
]
}
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "important"
},
{
"type": "BLANK"
}
]
}
]
}
},
"_custom_property_name": {
"type": "TOKEN",
"content": {
"type": "SEQ",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "--"
},
{
"type": "PATTERN",
"value": "[-a-zA-Z0-9_\\xA0-\\xFF]*"
}
]
},
{
"type": "REPEAT1",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "\\"
},
{
"type": "CHOICE",
"members": [
{
"type": "PATTERN",
"value": "[0-9a-fA-F]{1,6}(?:[ \\t\\n\\f]|\\r\\n?)?"
},
{
"type": "PATTERN",
"value": "[^0-9a-fA-F\\n\\r\\f]"
}
]
},
{
"type": "PATTERN",
"value": "[-a-zA-Z0-9_\\xA0-\\xFF]*"
}
]
}
}
]
}
},
"_escaped_identifier": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_custom_property_name"
},
{
"type": "TOKEN",
"content": {
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "-"
},
{
"type": "PATTERN",
"value": "-?[a-zA-Z_\\xA0-\\xFF][a-zA-Z0-9-_\\xA0-\\xFF]*"
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "REPEAT1",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "\\"
},
{
"type": "CHOICE",
"members": [
{
"type": "PATTERN",
"value": "[0-9a-fA-F]{1,6}(?:[ \\t\\n\\f]|\\r\\n?)?"
},
{
"type": "PATTERN",
"value": "[^0-9a-fA-F\\n\\r\\f]"
}
]
},
{
"type": "PATTERN",
"value": "[-a-zA-Z0-9_\\xA0-\\xFF]*"
}
]
}
}
]
}
}
]
},
"important": {
"type": "PATTERN",
"value": "![ \\t\\n\\r\\f]*[iI][mM][pP][oO][rR][tT][aA][nN][tT]"
},
"_query": {
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "identifier"
},
"named": true,
"value": "keyword_query"
},
{
"type": "SYMBOL",
"name": "feature_query"
},
{
"type": "SYMBOL",
"name": "binary_query"
},
{
"type": "SYMBOL",
"name": "unary_query"
},
{
"type": "SYMBOL",
"name": "selector_query"
},
{
"type": "SYMBOL",
"name": "parenthesized_query"
}
]
},
"feature_query": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "("
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "identifier"
},
"named": true,
"value": "feature_name"
},
{
"type": "STRING",
"value": ":"
},
{
"type": "REPEAT1",
"content": {
"type": "SYMBOL",
"name": "_value"
}
},
{
"type": "STRING",
"value": ")"
}
]
},
"parenthesized_query": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "("
},
{
"type": "SYMBOL",
"name": "_query"
},
{
"type": "STRING",
"value": ")"
}
]
},
"binary_query": {
"type": "PREC_LEFT",
"value": 0,
"content": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_query"
},
{
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "and"
},
{
"type": "STRING",
"value": "or"
}
]
},
{
"type": "SYMBOL",
"name": "_query"
}
]
}
},
"unary_query": {
"type": "PREC",
"value": 1,
"content": {
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "not"
},
{
"type": "STRING",
"value": "only"
}
]
},
{
"type": "SYMBOL",
"name": "_query"
}
]
}
},
"selector_query": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "selector"
},
{
"type": "STRING",
"value": "("
},
{
"type": "SYMBOL",
"name": "_selector"
},
{
"type": "STRING",
"value": ")"
}
]
},
"_value": {
"type": "PREC",
"value": -1,
"content": {
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "identifier"
},
"named": true,
"value": "plain_value"
},
{
"type": "SYMBOL",
"name": "plain_value"
},
{
"type": "SYMBOL",
"name": "color_value"
},
{
"type": "SYMBOL",
"name": "integer_value"
},
{
"type": "SYMBOL",
"name": "float_value"
},
{
"type": "SYMBOL",
"name": "string_value"
},
{
"type": "SYMBOL",
"name": "grid_value"
},
{
"type": "SYMBOL",
"name": "binary_expression"
},
{
"type": "SYMBOL",
"name": "parenthesized_value"
},
{
"type": "SYMBOL",
"name": "call_expression"
},
{
"type": "SYMBOL",
"name": "url_value"
},
{
"type": "SYMBOL",
"name": "important"
}
]
}
},
"parenthesized_value": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "("
},
{
"type": "SYMBOL",
"name": "_value"
},
{
"type": "STRING",
"value": ")"
}
]
},
"color_value": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "#"
},
{
"type": "IMMEDIATE_TOKEN",
"content": {
"type": "PATTERN",
"value": "[0-9a-fA-F]{3,8}"
}
}
]
},
"string_value": {
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "'"
},
{
"type": "REPEAT",
"content": {
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[^\\\\'\\n]+"
},
"named": true,
"value": "string_content"
},
{
"type": "SYMBOL",
"name": "escape_sequence"
}
]
}
},
{
"type": "STRING",
"value": "'"
}
]
},
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "\""
},
{
"type": "REPEAT",
"content": {
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[^\\\\\"\\n]+"
},
"named": true,
"value": "string_content"
},
{
"type": "SYMBOL",
"name": "escape_sequence"
}
]
}
},
{
"type": "STRING",
"value": "\""
}
]
}
]
},
"escape_sequence": {
"type": "TOKEN",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "\\"
},
{
"type": "CHOICE",
"members": [
{
"type": "PATTERN",
"value": "[0-9a-fA-F]{1,6}\\s?"
},
{
"type": "PATTERN",
"value": "[^0-9a-fA-F\\n\\r]"
}
]
}
]
}
},
"integer_value": {
"type": "SEQ",
"members": [
{
"type": "TOKEN",
"content": {
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "+"
},
{
"type": "STRING",
"value": "-"
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "PATTERN",
"value": "\\d+"
}
]
}
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "unit"
},
{
"type": "BLANK"
}
]
}
]
},
"float_value": {
"type": "SEQ",
"members": [
{
"type": "TOKEN",
"content": {
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "+"
},
{
"type": "STRING",
"value": "-"
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "PATTERN",
"value": "\\d*"
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "."
},
{
"type": "PATTERN",
"value": "\\d+"
}
]
},
{
"type": "SEQ",
"members": [
{
"type": "PATTERN",
"value": "[eE]"
},
{
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "-"
},
{
"type": "BLANK"
}
]
},
{
"type": "PATTERN",
"value": "\\d+"
}
]
},
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "."
},
{
"type": "PATTERN",
"value": "\\d+"
},
{
"type": "PATTERN",
"value": "[eE]"
},
{
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "-"
},
{
"type": "BLANK"
}
]
},
{
"type": "PATTERN",
"value": "\\d+"
}
]
}
]
}
]
}
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "unit"
},
{
"type": "BLANK"
}
]
}
]
},
"unit": {
"type": "IMMEDIATE_TOKEN",
"content": {
"type": "PATTERN",
"value": "[a-zA-Z%]+"
}
},
"grid_value": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "["
},
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_value"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "SYMBOL",
"name": "_value"
}
]
}
}
]
},
{
"type": "STRING",
"value": "]"
}
]
},
"url_value": {
"type": "TOKEN",
"content": {
"type": "SEQ",
"members": [
{
"type": "PATTERN",
"value": "(?:[uU]|\\\\(?:[uU]|0{0,4}[57]5(?:[ \\t\\n\\f]|\\r\\n?)?))"
},
{
"type": "PATTERN",
"value": "(?:[rR]|\\\\(?:[rR]|0{0,4}[57]2(?:[ \\t\\n\\f]|\\r\\n?)?))"
},
{
"type": "PATTERN",
"value": "(?:[lL]|\\\\(?:[lL]|0{0,4}[46][cC](?:[ \\t\\n\\f]|\\r\\n?)?))"
},
{
"type": "STRING",
"value": "("
},
{
"type": "PATTERN",
"value": "[ \\t\\n\\r\\f]*"
},
{
"type": "REPEAT",
"content": {
"type": "CHOICE",
"members": [
{
"type": "PATTERN",
"value": "[^\\x00-\\x20\\x7F\"'()\\\\]"
},
{
"type": "PATTERN",
"value": "\\\\(?:[0-9a-fA-F]{1,6}(?:[ \\t\\n\\f]|\\r\\n?)?|[^0-9a-fA-F\\n\\r\\f])"
}
]
}
},
{
"type": "PATTERN",
"value": "[ \\t\\n\\r\\f]*"
},
{
"type": "STRING",
"value": ")"
}
]
}
},
"call_expression": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "identifier"
},
"named": true,
"value": "function_name"
},
{
"type": "SYMBOL",
"name": "arguments"
}
]
},
"binary_expression": {
"type": "PREC_LEFT",
"value": 0,
"content": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_value"
},
{
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "+"
},
{
"type": "STRING",
"value": "-"
},
{
"type": "STRING",
"value": "*"
},
{
"type": "STRING",
"value": "/"
}
]
},
{
"type": "SYMBOL",
"name": "_value"
}
]
}
},
"arguments": {
"type": "SEQ",
"members": [
{
"type": "IMMEDIATE_TOKEN",
"content": {
"type": "STRING",
"value": "("
}
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "REPEAT1",
"content": {
"type": "SYMBOL",
"name": "_value"
}
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "STRING",
"value": ";"
}
]
},
{
"type": "REPEAT1",
"content": {
"type": "SYMBOL",
"name": "_value"
}
}
]
}
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": ")"
}
]
},
"class_name": {
"type": "REPEAT1",
"content": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "identifier"
},
{
"type": "SYMBOL",
"name": "escape_sequence"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "_class_name_escape_with_suffix"
},
"named": true,
"value": "identifier"
}
]
}
},
"identifier": {
"type": "PATTERN",
"value": "(--|-?[a-zA-Z_\\xA0-\\xFF])[a-zA-Z0-9-_\\xA0-\\xFF]*"
},
"at_keyword": {
"type": "PATTERN",
"value": "@[a-zA-Z-_]+"
},
"js_comment": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": -1,
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "//"
},
{
"type": "PATTERN",
"value": ".*"
}
]
}
}
},
"comment": {
"type": "TOKEN",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "/*"
},
{
"type": "PATTERN",
"value": "[^*]*\\*+([^/*][^*]*\\*+)*"
},
{
"type": "STRING",
"value": "/"
}
]
}
},
"plain_value": {
"type": "TOKEN",
"content": {
"type": "CHOICE",
"members": [
{
"type": "PATTERN",
"value": "<[a-zA-Z-]+>[+#]?"
},
{
"type": "SEQ",
"members": [
{
"type": "REPEAT",
"content": {
"type": "CHOICE",
"members": [
{
"type": "PATTERN",
"value": "[-_]"
},
{
"type": "PATTERN",
"value": "\\/[^\\*\\s,;!{}()\\[\\]]"
}
]
}
},
{
"type": "PATTERN",
"value": "[a-zA-Z]"
},
{
"type": "REPEAT",
"content": {
"type": "CHOICE",
"members": [
{
"type": "PATTERN",
"value": "[^/\\s,;!{}()\\[\\]]"
},
{
"type": "PATTERN",
"value": "\\/[^\\*\\s,;!{}()\\[\\]]"
}
]
}
}
]
}
]
}
}
},
"extras": [
{
"type": "PATTERN",
"value": "\\s"
},
{
"type": "SYMBOL",
"name": "comment"
},
{
"type": "SYMBOL",
"name": "js_comment"
}
],
"conflicts": [
[
"_selector",
"declaration"
],
[
"_selector",
"declaration",
"last_declaration"
]
],
"precedences": [],
"externals": [
{
"type": "SYMBOL",
"name": "_descendant_operator"
},
{
"type": "SYMBOL",
"name": "__error_recovery"
},
{
"type": "SYMBOL",
"name": "_class_name_escape_with_suffix"
},
{
"type": "SYMBOL",
"name": "_at_rule_slash"
}
],
"inline": [
"_escaped_identifier",
"_top_level_item",
"_block_item"
],
"supertypes": [],
"reserved": {}
}