{
"name": "scss",
"rules": {
"stylesheet": {
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "_top_level_item"
}
},
"_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": "use_statement"
},
{
"type": "SYMBOL",
"name": "forward_statement"
},
{
"type": "SYMBOL",
"name": "apply_statement"
},
{
"type": "SYMBOL",
"name": "mixin_statement"
},
{
"type": "SYMBOL",
"name": "include_statement"
},
{
"type": "SYMBOL",
"name": "if_statement"
},
{
"type": "SYMBOL",
"name": "each_statement"
},
{
"type": "SYMBOL",
"name": "for_statement"
},
{
"type": "SYMBOL",
"name": "while_statement"
},
{
"type": "SYMBOL",
"name": "function_statement"
},
{
"type": "SYMBOL",
"name": "error_statement"
},
{
"type": "SYMBOL",
"name": "warn_statement"
},
{
"type": "SYMBOL",
"name": "debug_statement"
},
{
"type": "SYMBOL",
"name": "at_rule"
},
{
"type": "SYMBOL",
"name": "placeholder"
}
]
},
"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": "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": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "from"
},
{
"type": "SYMBOL",
"name": "to"
},
{
"type": "SYMBOL",
"name": "integer_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": "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": "CHOICE",
"members": [
{
"type": "STRING",
"value": ";"
},
{
"type": "SYMBOL",
"name": "block"
}
]
}
]
},
"use_statement": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "@use"
},
{
"type": "SYMBOL",
"name": "_value"
},
{
"type": "STRING",
"value": ";"
}
]
},
"forward_statement": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "@forward"
},
{
"type": "SYMBOL",
"name": "_value"
},
{
"type": "STRING",
"value": ";"
}
]
},
"apply_statement": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "@apply"
},
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "_value"
}
},
{
"type": "STRING",
"value": ";"
}
]
},
"parameters": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "("
},
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "parameter"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "SYMBOL",
"name": "parameter"
}
]
}
}
]
},
{
"type": "STRING",
"value": ")"
}
]
},
"parameter": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "variable_identifier"
},
"named": true,
"value": "variable_name"
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ":"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "_value"
},
"named": true,
"value": "default_value"
}
]
},
{
"type": "BLANK"
}
]
}
]
},
"mixin_statement": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "@mixin"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "identifier"
},
"named": true,
"value": "name"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "parameters"
},
{
"type": "BLANK"
}
]
},
{
"type": "SYMBOL",
"name": "block"
}
]
},
"include_statement": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "@include"
},
{
"type": "SYMBOL",
"name": "identifier"
},
{
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "include_arguments"
},
"named": true,
"value": "arguments"
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "block"
},
{
"type": "STRING",
"value": ";"
}
]
}
]
},
"include_arguments": {
"type": "SEQ",
"members": [
{
"type": "IMMEDIATE_TOKEN",
"content": {
"type": "STRING",
"value": "("
}
},
{
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "include_argument"
},
"named": true,
"value": "argument"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "include_argument"
},
"named": true,
"value": "argument"
}
]
}
}
]
},
{
"type": "IMMEDIATE_TOKEN",
"content": {
"type": "STRING",
"value": ")"
}
}
]
},
"include_argument": {
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "variable_identifier"
},
"named": true,
"value": "argument_name"
},
{
"type": "STRING",
"value": ":"
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "_value"
},
"named": true,
"value": "argument_value"
}
]
},
"placeholder": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "%"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "identifier"
},
"named": true,
"value": "name"
},
{
"type": "SYMBOL",
"name": "block"
}
]
},
"extend_statement": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "@extend"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_value"
},
{
"type": "SYMBOL",
"name": "class_selector"
}
]
},
{
"type": "STRING",
"value": ";"
}
]
},
"if_statement": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "if_clause"
},
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "else_if_clause"
}
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "else_clause"
},
{
"type": "BLANK"
}
]
}
]
},
"if_clause": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "@if"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "_value"
},
"named": true,
"value": "condition"
},
{
"type": "SYMBOL",
"name": "block"
}
]
},
"else_if_clause": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "@else"
},
{
"type": "STRING",
"value": "if"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "_value"
},
"named": true,
"value": "condition"
},
{
"type": "SYMBOL",
"name": "block"
}
]
},
"else_clause": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "@else"
},
{
"type": "SYMBOL",
"name": "block"
}
]
},
"each_statement": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "@each"
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "variable_identifier"
},
"named": true,
"value": "key"
},
{
"type": "STRING",
"value": ","
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "variable_identifier"
},
"named": true,
"value": "value"
},
{
"type": "STRING",
"value": "in"
},
{
"type": "SYMBOL",
"name": "_value"
},
{
"type": "SYMBOL",
"name": "block"
}
]
},
"for_statement": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "@for"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "variable_identifier"
},
"named": true,
"value": "variable"
},
{
"type": "STRING",
"value": "from"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "_value"
},
"named": true,
"value": "from"
},
{
"type": "STRING",
"value": "through"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "_value"
},
"named": true,
"value": "through"
},
{
"type": "SYMBOL",
"name": "block"
}
]
},
"while_statement": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "@while"
},
{
"type": "SYMBOL",
"name": "_value"
},
{
"type": "SYMBOL",
"name": "block"
}
]
},
"function_statement": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "@function"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "identifier"
},
"named": true,
"value": "name"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "parameters"
},
{
"type": "BLANK"
}
]
},
{
"type": "SYMBOL",
"name": "block"
}
]
},
"return_statement": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "@return"
},
{
"type": "SYMBOL",
"name": "_value"
},
{
"type": "STRING",
"value": ";"
}
]
},
"at_root_statement": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "@at-root"
},
{
"type": "SYMBOL",
"name": "_value"
},
{
"type": "SYMBOL",
"name": "block"
}
]
},
"error_statement": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "@error"
},
{
"type": "SYMBOL",
"name": "_value"
},
{
"type": "STRING",
"value": ";"
}
]
},
"warn_statement": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "@warn"
},
{
"type": "SYMBOL",
"name": "_value"
},
{
"type": "STRING",
"value": ";"
}
]
},
"debug_statement": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "@debug"
},
{
"type": "SYMBOL",
"name": "_value"
},
{
"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": "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": "mixin_statement"
},
{
"type": "SYMBOL",
"name": "include_statement"
},
{
"type": "SYMBOL",
"name": "extend_statement"
},
{
"type": "SYMBOL",
"name": "if_statement"
},
{
"type": "SYMBOL",
"name": "each_statement"
},
{
"type": "SYMBOL",
"name": "for_statement"
},
{
"type": "SYMBOL",
"name": "while_statement"
},
{
"type": "SYMBOL",
"name": "function_statement"
},
{
"type": "SYMBOL",
"name": "return_statement"
},
{
"type": "SYMBOL",
"name": "at_root_statement"
},
{
"type": "SYMBOL",
"name": "error_statement"
},
{
"type": "SYMBOL",
"name": "warn_statement"
},
{
"type": "SYMBOL",
"name": "debug_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"
}
]
},
"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": "CHOICE",
"members": [
{
"type": "STRING",
"value": "."
},
{
"type": "SYMBOL",
"name": "nesting_selector"
}
]
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "identifier"
},
"named": true,
"value": "class_name"
}
]
}
},
"pseudo_class_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": "class_name"
},
{
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "pseudo_class_arguments"
},
"named": true,
"value": "arguments"
},
{
"type": "BLANK"
}
]
}
]
},
"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"
}
]
},
"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": "STRING",
"value": "["
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "identifier"
},
"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": "BLANK"
}
]
},
{
"type": "STRING",
"value": "]"
}
]
},
"child_selector": {
"type": "PREC_LEFT",
"value": 0,
"content": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_selector"
},
{
"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": "SYMBOL",
"name": "_selector"
},
{
"type": "STRING",
"value": "~"
},
{
"type": "SYMBOL",
"name": "_selector"
}
]
}
},
"adjacent_sibling_selector": {
"type": "PREC_LEFT",
"value": 0,
"content": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_selector"
},
{
"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": ")"
}
]
},
"declaration": {
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "variable_identifier"
},
"named": true,
"value": "variable_name"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "identifier"
},
"named": true,
"value": "property_name"
}
]
},
{
"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",
"value": 1,
"content": {
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "identifier"
},
"named": true,
"value": "property_name"
},
{
"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"
}
]
}
]
}
},
"important": {
"type": "STRING",
"value": "!important"
},
"_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": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "variable_identifier"
},
"named": true,
"value": "variable_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": "binary_expression"
},
{
"type": "SYMBOL",
"name": "parenthesized_value"
},
{
"type": "SYMBOL",
"name": "call_expression"
}
]
}
},
"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": "TOKEN",
"content": {
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "'"
},
{
"type": "PATTERN",
"value": "([^'\\n]|\\\\(.|\\n))*"
},
{
"type": "STRING",
"value": "'"
}
]
},
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "\""
},
{
"type": "PATTERN",
"value": "([^\"\\n]|\\\\(.|\\n))*"
},
{
"type": "STRING",
"value": "\""
}
]
}
]
}
},
"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%]+"
}
},
"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": "STRING",
"value": "=="
},
{
"type": "STRING",
"value": "<"
},
{
"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": ")"
}
]
},
"identifier": {
"type": "PATTERN",
"value": "((#\\{[a-zA-Z0-9-_,&\\$\\.\\(\\) ]*\\})|(--|-?[a-zA-Z_]))([a-zA-Z0-9-_]|(#\\{[a-zA-Z0-9-_,&\\$\\.\\(\\) ]*\\}))*"
},
"variable_identifier": {
"type": "PATTERN",
"value": "([a-zA-Z_]+\\.)?\\$[a-zA-Z-_][a-zA-Z0-9-_]*"
},
"at_keyword": {
"type": "PATTERN",
"value": "@[a-zA-Z-_]+"
},
"comment": {
"type": "TOKEN",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "/*"
},
{
"type": "PATTERN",
"value": "[^*]*\\*+([^/*][^*]*\\*+)*"
},
{
"type": "STRING",
"value": "/"
}
]
}
},
"single_line_comment": {
"type": "TOKEN",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "//"
},
{
"type": "PATTERN",
"value": ".*"
}
]
}
},
"plain_value": {
"type": "TOKEN",
"content": {
"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": "single_line_comment"
}
],
"conflicts": [
[
"_selector",
"declaration"
]
],
"precedences": [],
"externals": [
{
"type": "SYMBOL",
"name": "_descendant_operator"
}
],
"inline": [
"_top_level_item",
"_block_item"
],
"supertypes": []
}