diff --git a/crates/swc_css_ast/src/at_rule/support.rs b/crates/swc_css_ast/src/at_rule/support.rs index 2a4c828f0abd..9e22ce286d23 100644 --- a/crates/swc_css_ast/src/at_rule/support.rs +++ b/crates/swc_css_ast/src/at_rule/support.rs @@ -1,6 +1,6 @@ use swc_common::{ast_node, Span}; -use crate::{Declaration, SimpleBlock}; +use crate::{Declaration, Function, SimpleBlock}; #[ast_node("SupportsRule")] pub struct SupportsRule { @@ -55,11 +55,23 @@ pub enum SupportsInParens { #[tag("SupportsFeature")] Feature(SupportsFeature), - // TODO + + #[tag("GeneralEnclosed")] + GeneralEnclosed(GeneralEnclosed), } #[ast_node] pub enum SupportsFeature { #[tag("Declaration")] Declaration(Declaration), + #[tag("Function")] + Function(Function), +} + +#[ast_node] +pub enum GeneralEnclosed { + #[tag("Function")] + Function(Function), + #[tag("SimpleBlock")] + SimpleBlock(SimpleBlock), } diff --git a/crates/swc_css_ast/src/value.rs b/crates/swc_css_ast/src/value.rs index 5afcedc91066..31c63fde1536 100644 --- a/crates/swc_css_ast/src/value.rs +++ b/crates/swc_css_ast/src/value.rs @@ -2,7 +2,7 @@ use string_enum::StringEnum; use swc_atoms::JsWord; use swc_common::{ast_node, EqIgnoreSpan, Span}; -use crate::{SimpleBlock, TokenAndSpan}; +use crate::{ComplexSelector, SimpleBlock, TokenAndSpan}; #[ast_node] pub enum Value { @@ -48,6 +48,9 @@ pub enum Value { #[tag("Urange")] Urange(Urange), + #[tag("ComplexSelector")] + ComplexSelector(ComplexSelector), + #[tag("PreservedToken")] PreservedToken(TokenAndSpan), } diff --git a/crates/swc_css_codegen/src/lib.rs b/crates/swc_css_codegen/src/lib.rs index c7610e0f4ce7..e03ff7112aa1 100644 --- a/crates/swc_css_codegen/src/lib.rs +++ b/crates/swc_css_codegen/src/lib.rs @@ -534,18 +534,30 @@ where punct!(self, ")"); } SupportsInParens::Feature(n) => emit!(self, n), + SupportsInParens::GeneralEnclosed(n) => emit!(self, n), } } #[emitter] fn emit_supports_feature(&mut self, n: &SupportsFeature) -> Result { - punct!(self, "("); - match n { - SupportsFeature::Declaration(n) => emit!(self, n), + SupportsFeature::Declaration(n) => { + punct!(self, "("); + + emit!(self, n); + + punct!(self, ")"); + } + SupportsFeature::Function(n) => emit!(self, n), } + } - punct!(self, ")"); + #[emitter] + fn emit_general_enclosed(&mut self, n: &GeneralEnclosed) -> Result { + match n { + GeneralEnclosed::Function(n) => emit!(self, n), + GeneralEnclosed::SimpleBlock(n) => emit!(self, n), + } } #[emitter] @@ -783,6 +795,7 @@ where Value::Url(n) => emit!(self, n), Value::Delimiter(n) => emit!(self, n), Value::Urange(n) => emit!(self, n), + Value::ComplexSelector(n) => emit!(self, n), Value::PreservedToken(n) => emit!(self, n), } } diff --git a/crates/swc_css_codegen/tests/fixture/at-rules/supports/3/output.css b/crates/swc_css_codegen/tests/fixture/at-rules/supports/3/output.css index 1a67b0570069..f9ae6785ae83 100644 --- a/crates/swc_css_codegen/tests/fixture/at-rules/supports/3/output.css +++ b/crates/swc_css_codegen/tests/fixture/at-rules/supports/3/output.css @@ -13,7 +13,23 @@ a { color: red; } } -@supports ( --x y , z ) { a { color: red; } } -@supports ( --x ) { a { color: red; } } -@supports ( ) { a { color: red; } } -@supports ( . --x : y , z ) { a { color: red; } } +@supports ( --x y , z ) { +a { +color: red; +} +} +@supports ( --x ) { +a { +color: red; +} +} +@supports ( ) { +a { +color: red; +} +} +@supports ( . --x : y , z ) { +a { +color: red; +} +} diff --git a/crates/swc_css_codegen/tests/fixture/at-rules/supports/3/output.min.css b/crates/swc_css_codegen/tests/fixture/at-rules/supports/3/output.min.css index 3f3234578670..16d203f73e88 100644 --- a/crates/swc_css_codegen/tests/fixture/at-rules/supports/3/output.min.css +++ b/crates/swc_css_codegen/tests/fixture/at-rules/supports/3/output.min.css @@ -1 +1 @@ -@supports(--x:y , z ){a{color:red}}@supports(--x: ){a{color:red}}@supports(--x: ){a{color:red}}@supports ( --x y , z ) { a { color: red; } }@supports ( --x ) { a { color: red; } }@supports ( ) { a { color: red; } }@supports ( . --x : y , z ) { a { color: red; } } +@supports(--x:y , z ){a{color:red}}@supports(--x: ){a{color:red}}@supports(--x: ){a{color:red}}@supports( --x y , z ){a{color:red}}@supports( --x ){a{color:red}}@supports( ){a{color:red}}@supports( . --x : y , z ){a{color:red}} diff --git a/crates/swc_css_parser/src/parser/at_rule.rs b/crates/swc_css_parser/src/parser/at_rule.rs index 00aade6b8d18..233efe2e7e48 100644 --- a/crates/swc_css_parser/src/parser/at_rule.rs +++ b/crates/swc_css_parser/src/parser/at_rule.rs @@ -912,21 +912,36 @@ where fn parse(&mut self) -> PResult { let state = self.input.state(); - expect!(self, "("); + match self.parse() { + Ok(feature) => Ok(SupportsInParens::Feature(feature)), + Err(_) => { + self.input.reset(&state); - self.input.skip_ws()?; + let mut parse_condition = || { + expect!(self, "("); - if !is!(self, "(") && !is_case_insensitive_ident!(self, "not") { - self.input.reset(&state); + let condition = self.parse()?; - return Ok(SupportsInParens::Feature(self.parse()?)); - } + expect!(self, ")"); - let condition = SupportsInParens::SupportsCondition(self.parse()?); + Ok(SupportsInParens::SupportsCondition(condition)) + }; - expect!(self, ")"); + match parse_condition() { + Ok(condition) => Ok(condition), + Err(_) => { + self.input.reset(&state); - Ok(condition) + match self.parse() { + Ok(general_enclosed) => { + Ok(SupportsInParens::GeneralEnclosed(general_enclosed)) + } + Err(err) => Err(err), + } + } + } + } + } } } @@ -935,17 +950,63 @@ where I: ParserInput, { fn parse(&mut self) -> PResult { - expect!(self, "("); + match cur!(self) { + tok!("(") => { + bump!(self); - self.input.skip_ws()?; + self.input.skip_ws()?; - let declaration = self.parse()?; + let declaration = self.parse()?; - self.input.skip_ws()?; + self.input.skip_ws()?; - expect!(self, ")"); + expect!(self, ")"); + + Ok(SupportsFeature::Declaration(declaration)) + } + Token::Function { value, .. } if &*value.to_lowercase() == "selector" => { + let ctx = Ctx { + in_supports_at_rule: true, + ..self.ctx + }; + let function = self.with_ctx(ctx).parse_as::()?; - Ok(SupportsFeature::Declaration(declaration)) + Ok(SupportsFeature::Function(function)) + } + _ => { + let span = self.input.cur_span()?; + + Err(Error::new( + span, + ErrorKind::Expected("'(' or 'function' token"), + )) + } + } + } +} + +impl Parse for Parser +where + I: ParserInput, +{ + fn parse(&mut self) -> PResult { + match cur!(self) { + tok!("function") => Ok(GeneralEnclosed::Function(self.parse()?)), + tok!("(") => { + bump!(self); + + // TODO validate on first ident + Ok(GeneralEnclosed::SimpleBlock(self.parse_simple_block(')')?)) + } + _ => { + let span = self.input.cur_span()?; + + Err(Error::new( + span, + ErrorKind::Expected("function or '(' token"), + )) + } + } } } @@ -1585,6 +1646,7 @@ where let ctx = Ctx { in_page_at_rule: true, grammar: Grammar::DeclarationList, + ..self.ctx }; let block = self.with_ctx(ctx).parse_as::()?; diff --git a/crates/swc_css_parser/src/parser/mod.rs b/crates/swc_css_parser/src/parser/mod.rs index a1927ad41f08..f55f7090bbf9 100644 --- a/crates/swc_css_parser/src/parser/mod.rs +++ b/crates/swc_css_parser/src/parser/mod.rs @@ -48,6 +48,7 @@ impl Default for Grammar { struct Ctx { grammar: Grammar, + in_supports_at_rule: bool, in_page_at_rule: bool, } diff --git a/crates/swc_css_parser/src/parser/value/mod.rs b/crates/swc_css_parser/src/parser/value/mod.rs index 73dc438d93c5..b12027ba1b0b 100644 --- a/crates/swc_css_parser/src/parser/value/mod.rs +++ b/crates/swc_css_parser/src/parser/value/mod.rs @@ -485,6 +485,15 @@ where self.input.skip_ws()?; } } + "selector" if self.ctx.in_supports_at_rule => { + self.input.skip_ws()?; + + let selector = Value::ComplexSelector(self.parse()?); + + values.push(selector); + + self.input.skip_ws()?; + } _ => loop { self.input.skip_ws()?; diff --git a/crates/swc_css_parser/tests/fixture/at-rule/supports/input.css b/crates/swc_css_parser/tests/fixture/at-rule/supports/input.css index bc8522e669b7..ace57d9f7780 100644 --- a/crates/swc_css_parser/tests/fixture/at-rule/supports/input.css +++ b/crates/swc_css_parser/tests/fixture/at-rule/supports/input.css @@ -35,3 +35,86 @@ @supports ((transition-property: color) OR (animation-name: foo)) AND (transform: rotate(10deg)) {} @supports (transition-property: color) OR ((animation-name: foo) AND (transform: rotate(10deg))) {} @supports (NOT (display: flex)) {} + +@supports selector(col || td) { + col.selected || td { + background: tan; + } +} + +@supports selector(:focus-visible) { + a:focus-visible { + background: yellow; + } +} + +@supports (--element(".minwidth")) { + [--self] { + background: greenyellow; + } +} + +@supports (ident: 1) { + * { background: red; } +} + +@supports ((ident: 1)) { + * { background: red; } +} + +@supports (ident "str") { + * { background: red; } +} + +@supports ((ident "str")) { + * { background: red; } +} + +@supports func(10, 20, 40) { + * { background: red; } +} + +@supports (func(10, 20, 40)) { + * { background: red; } +} + +@supports ( func( 10 , 20 , 40 ) ) { + * { background: red; } +} + +@supports (animation-name: test) { + @-custom-keyframe anim { + from { + color: black; + } + to { + color: white + } + } +} + +@supports (--var) { + * { background: red; } +} + +@supports (--foo: green) { + body { + color: var(--varName); + } +} + +@supports not selector(:is(a, b)) { + ul > li, + ol > li { + color: red; + } +} + +@supports selector(:nth-child(1n of a, b)) { + :is( + :nth-child(1n of ul, ol) a, + details > summary + ) { + color: red + } +} diff --git a/crates/swc_css_parser/tests/fixture/at-rule/supports/output.json b/crates/swc_css_parser/tests/fixture/at-rule/supports/output.json index ea611cf7c8f3..fa56eaa223ef 100644 --- a/crates/swc_css_parser/tests/fixture/at-rule/supports/output.json +++ b/crates/swc_css_parser/tests/fixture/at-rule/supports/output.json @@ -2,7 +2,7 @@ "type": "Stylesheet", "span": { "start": 0, - "end": 1509, + "end": 2750, "ctxt": 0 }, "rules": [ @@ -2958,6 +2958,3780 @@ "name": "{", "value": [] } + }, + { + "type": "SupportsRule", + "span": { + "start": 1510, + "end": 1599, + "ctxt": 0 + }, + "condition": { + "type": "SupportsCondition", + "span": { + "start": 1520, + "end": 1539, + "ctxt": 0 + }, + "conditions": [ + { + "type": "Function", + "span": { + "start": 1520, + "end": 1539, + "ctxt": 0 + }, + "name": { + "type": "Ident", + "span": { + "start": 1520, + "end": 1528, + "ctxt": 0 + }, + "value": "selector", + "raw": "selector" + }, + "value": [ + { + "type": "ComplexSelector", + "span": { + "start": 1529, + "end": 1538, + "ctxt": 0 + }, + "children": [ + { + "type": "CompoundSelector", + "span": { + "start": 1529, + "end": 1532, + "ctxt": 0 + }, + "nestingSelector": null, + "typeSelector": { + "type": "TagNameSelector", + "span": { + "start": 1529, + "end": 1532, + "ctxt": 0 + }, + "name": { + "type": "WqName", + "span": { + "start": 1529, + "end": 1532, + "ctxt": 0 + }, + "prefix": null, + "value": { + "type": "Ident", + "span": { + "start": 1529, + "end": 1532, + "ctxt": 0 + }, + "value": "col", + "raw": "col" + } + } + }, + "subclassSelectors": [] + }, + { + "type": "Combinator", + "span": { + "start": 1533, + "end": 1535, + "ctxt": 0 + }, + "value": "||" + }, + { + "type": "CompoundSelector", + "span": { + "start": 1536, + "end": 1538, + "ctxt": 0 + }, + "nestingSelector": null, + "typeSelector": { + "type": "TagNameSelector", + "span": { + "start": 1536, + "end": 1538, + "ctxt": 0 + }, + "name": { + "type": "WqName", + "span": { + "start": 1536, + "end": 1538, + "ctxt": 0 + }, + "prefix": null, + "value": { + "type": "Ident", + "span": { + "start": 1536, + "end": 1538, + "ctxt": 0 + }, + "value": "td", + "raw": "td" + } + } + }, + "subclassSelectors": [] + } + ] + } + ] + } + ] + }, + "block": { + "type": "SimpleBlock", + "span": { + "start": 1540, + "end": 1599, + "ctxt": 0 + }, + "name": "{", + "value": [ + { + "type": "QualifiedRule", + "span": { + "start": 1546, + "end": 1597, + "ctxt": 0 + }, + "prelude": { + "type": "SelectorList", + "span": { + "start": 1546, + "end": 1564, + "ctxt": 0 + }, + "children": [ + { + "type": "ComplexSelector", + "span": { + "start": 1546, + "end": 1564, + "ctxt": 0 + }, + "children": [ + { + "type": "CompoundSelector", + "span": { + "start": 1546, + "end": 1558, + "ctxt": 0 + }, + "nestingSelector": null, + "typeSelector": { + "type": "TagNameSelector", + "span": { + "start": 1546, + "end": 1549, + "ctxt": 0 + }, + "name": { + "type": "WqName", + "span": { + "start": 1546, + "end": 1549, + "ctxt": 0 + }, + "prefix": null, + "value": { + "type": "Ident", + "span": { + "start": 1546, + "end": 1549, + "ctxt": 0 + }, + "value": "col", + "raw": "col" + } + } + }, + "subclassSelectors": [ + { + "type": "ClassSelector", + "span": { + "start": 1549, + "end": 1558, + "ctxt": 0 + }, + "text": { + "type": "Ident", + "span": { + "start": 1550, + "end": 1558, + "ctxt": 0 + }, + "value": "selected", + "raw": "selected" + } + } + ] + }, + { + "type": "Combinator", + "span": { + "start": 1559, + "end": 1561, + "ctxt": 0 + }, + "value": "||" + }, + { + "type": "CompoundSelector", + "span": { + "start": 1562, + "end": 1564, + "ctxt": 0 + }, + "nestingSelector": null, + "typeSelector": { + "type": "TagNameSelector", + "span": { + "start": 1562, + "end": 1564, + "ctxt": 0 + }, + "name": { + "type": "WqName", + "span": { + "start": 1562, + "end": 1564, + "ctxt": 0 + }, + "prefix": null, + "value": { + "type": "Ident", + "span": { + "start": 1562, + "end": 1564, + "ctxt": 0 + }, + "value": "td", + "raw": "td" + } + } + }, + "subclassSelectors": [] + } + ] + } + ] + }, + "block": { + "type": "SimpleBlock", + "span": { + "start": 1565, + "end": 1597, + "ctxt": 0 + }, + "name": "{", + "value": [ + { + "type": "Declaration", + "span": { + "start": 1575, + "end": 1590, + "ctxt": 0 + }, + "name": { + "type": "Ident", + "span": { + "start": 1575, + "end": 1585, + "ctxt": 0 + }, + "value": "background", + "raw": "background" + }, + "value": [ + { + "type": "Ident", + "span": { + "start": 1587, + "end": 1590, + "ctxt": 0 + }, + "value": "tan", + "raw": "tan" + } + ], + "important": null + } + ] + } + } + ] + } + }, + { + "type": "SupportsRule", + "span": { + "start": 1601, + "end": 1695, + "ctxt": 0 + }, + "condition": { + "type": "SupportsCondition", + "span": { + "start": 1611, + "end": 1635, + "ctxt": 0 + }, + "conditions": [ + { + "type": "Function", + "span": { + "start": 1611, + "end": 1635, + "ctxt": 0 + }, + "name": { + "type": "Ident", + "span": { + "start": 1611, + "end": 1619, + "ctxt": 0 + }, + "value": "selector", + "raw": "selector" + }, + "value": [ + { + "type": "ComplexSelector", + "span": { + "start": 1620, + "end": 1634, + "ctxt": 0 + }, + "children": [ + { + "type": "CompoundSelector", + "span": { + "start": 1620, + "end": 1634, + "ctxt": 0 + }, + "nestingSelector": null, + "typeSelector": null, + "subclassSelectors": [ + { + "type": "PseudoClassSelector", + "span": { + "start": 1620, + "end": 1634, + "ctxt": 0 + }, + "name": { + "type": "Ident", + "span": { + "start": 1621, + "end": 1634, + "ctxt": 0 + }, + "value": "focus-visible", + "raw": "focus-visible" + }, + "children": null + } + ] + } + ] + } + ] + } + ] + }, + "block": { + "type": "SimpleBlock", + "span": { + "start": 1636, + "end": 1695, + "ctxt": 0 + }, + "name": "{", + "value": [ + { + "type": "QualifiedRule", + "span": { + "start": 1642, + "end": 1693, + "ctxt": 0 + }, + "prelude": { + "type": "SelectorList", + "span": { + "start": 1642, + "end": 1657, + "ctxt": 0 + }, + "children": [ + { + "type": "ComplexSelector", + "span": { + "start": 1642, + "end": 1657, + "ctxt": 0 + }, + "children": [ + { + "type": "CompoundSelector", + "span": { + "start": 1642, + "end": 1657, + "ctxt": 0 + }, + "nestingSelector": null, + "typeSelector": { + "type": "TagNameSelector", + "span": { + "start": 1642, + "end": 1643, + "ctxt": 0 + }, + "name": { + "type": "WqName", + "span": { + "start": 1642, + "end": 1643, + "ctxt": 0 + }, + "prefix": null, + "value": { + "type": "Ident", + "span": { + "start": 1642, + "end": 1643, + "ctxt": 0 + }, + "value": "a", + "raw": "a" + } + } + }, + "subclassSelectors": [ + { + "type": "PseudoClassSelector", + "span": { + "start": 1643, + "end": 1657, + "ctxt": 0 + }, + "name": { + "type": "Ident", + "span": { + "start": 1644, + "end": 1657, + "ctxt": 0 + }, + "value": "focus-visible", + "raw": "focus-visible" + }, + "children": null + } + ] + } + ] + } + ] + }, + "block": { + "type": "SimpleBlock", + "span": { + "start": 1658, + "end": 1693, + "ctxt": 0 + }, + "name": "{", + "value": [ + { + "type": "Declaration", + "span": { + "start": 1668, + "end": 1686, + "ctxt": 0 + }, + "name": { + "type": "Ident", + "span": { + "start": 1668, + "end": 1678, + "ctxt": 0 + }, + "value": "background", + "raw": "background" + }, + "value": [ + { + "type": "Ident", + "span": { + "start": 1680, + "end": 1686, + "ctxt": 0 + }, + "value": "yellow", + "raw": "yellow" + } + ], + "important": null + } + ] + } + } + ] + } + }, + { + "type": "SupportsRule", + "span": { + "start": 1697, + "end": 1789, + "ctxt": 0 + }, + "condition": { + "type": "SupportsCondition", + "span": { + "start": 1707, + "end": 1731, + "ctxt": 0 + }, + "conditions": [ + { + "type": "SupportsCondition", + "span": { + "start": 1708, + "end": 1730, + "ctxt": 0 + }, + "conditions": [ + { + "type": "Function", + "span": { + "start": 1708, + "end": 1730, + "ctxt": 0 + }, + "name": { + "type": "Ident", + "span": { + "start": 1708, + "end": 1717, + "ctxt": 0 + }, + "value": "--element", + "raw": "--element" + }, + "value": [ + { + "type": "String", + "span": { + "start": 1718, + "end": 1729, + "ctxt": 0 + }, + "value": ".minwidth", + "raw": "\".minwidth\"" + } + ] + } + ] + } + ] + }, + "block": { + "type": "SimpleBlock", + "span": { + "start": 1732, + "end": 1789, + "ctxt": 0 + }, + "name": "{", + "value": [ + { + "type": "QualifiedRule", + "span": { + "start": 1738, + "end": 1787, + "ctxt": 0 + }, + "prelude": { + "type": "SelectorList", + "span": { + "start": 1738, + "end": 1746, + "ctxt": 0 + }, + "children": [ + { + "type": "ComplexSelector", + "span": { + "start": 1738, + "end": 1746, + "ctxt": 0 + }, + "children": [ + { + "type": "CompoundSelector", + "span": { + "start": 1738, + "end": 1746, + "ctxt": 0 + }, + "nestingSelector": null, + "typeSelector": null, + "subclassSelectors": [ + { + "type": "AttributeSelector", + "span": { + "start": 1738, + "end": 1746, + "ctxt": 0 + }, + "name": { + "type": "WqName", + "span": { + "start": 1739, + "end": 1745, + "ctxt": 0 + }, + "prefix": null, + "value": { + "type": "Ident", + "span": { + "start": 1739, + "end": 1745, + "ctxt": 0 + }, + "value": "--self", + "raw": "--self" + } + }, + "matcher": null, + "value": null, + "modifier": null + } + ] + } + ] + } + ] + }, + "block": { + "type": "SimpleBlock", + "span": { + "start": 1747, + "end": 1787, + "ctxt": 0 + }, + "name": "{", + "value": [ + { + "type": "Declaration", + "span": { + "start": 1757, + "end": 1780, + "ctxt": 0 + }, + "name": { + "type": "Ident", + "span": { + "start": 1757, + "end": 1767, + "ctxt": 0 + }, + "value": "background", + "raw": "background" + }, + "value": [ + { + "type": "Ident", + "span": { + "start": 1769, + "end": 1780, + "ctxt": 0 + }, + "value": "greenyellow", + "raw": "greenyellow" + } + ], + "important": null + } + ] + } + } + ] + } + }, + { + "type": "SupportsRule", + "span": { + "start": 1791, + "end": 1842, + "ctxt": 0 + }, + "condition": { + "type": "SupportsCondition", + "span": { + "start": 1801, + "end": 1811, + "ctxt": 0 + }, + "conditions": [ + { + "type": "Declaration", + "span": { + "start": 1802, + "end": 1810, + "ctxt": 0 + }, + "name": { + "type": "Ident", + "span": { + "start": 1802, + "end": 1807, + "ctxt": 0 + }, + "value": "ident", + "raw": "ident" + }, + "value": [ + { + "type": "Number", + "span": { + "start": 1809, + "end": 1810, + "ctxt": 0 + }, + "value": 1.0, + "raw": "1" + } + ], + "important": null + } + ] + }, + "block": { + "type": "SimpleBlock", + "span": { + "start": 1812, + "end": 1842, + "ctxt": 0 + }, + "name": "{", + "value": [ + { + "type": "QualifiedRule", + "span": { + "start": 1818, + "end": 1840, + "ctxt": 0 + }, + "prelude": { + "type": "SelectorList", + "span": { + "start": 1818, + "end": 1819, + "ctxt": 0 + }, + "children": [ + { + "type": "ComplexSelector", + "span": { + "start": 1818, + "end": 1819, + "ctxt": 0 + }, + "children": [ + { + "type": "CompoundSelector", + "span": { + "start": 1818, + "end": 1819, + "ctxt": 0 + }, + "nestingSelector": null, + "typeSelector": { + "type": "UniversalSelector", + "span": { + "start": 1818, + "end": 1819, + "ctxt": 0 + }, + "prefix": null + }, + "subclassSelectors": [] + } + ] + } + ] + }, + "block": { + "type": "SimpleBlock", + "span": { + "start": 1820, + "end": 1840, + "ctxt": 0 + }, + "name": "{", + "value": [ + { + "type": "Declaration", + "span": { + "start": 1822, + "end": 1837, + "ctxt": 0 + }, + "name": { + "type": "Ident", + "span": { + "start": 1822, + "end": 1832, + "ctxt": 0 + }, + "value": "background", + "raw": "background" + }, + "value": [ + { + "type": "Ident", + "span": { + "start": 1834, + "end": 1837, + "ctxt": 0 + }, + "value": "red", + "raw": "red" + } + ], + "important": null + } + ] + } + } + ] + } + }, + { + "type": "SupportsRule", + "span": { + "start": 1844, + "end": 1897, + "ctxt": 0 + }, + "condition": { + "type": "SupportsCondition", + "span": { + "start": 1854, + "end": 1866, + "ctxt": 0 + }, + "conditions": [ + { + "type": "SupportsCondition", + "span": { + "start": 1855, + "end": 1865, + "ctxt": 0 + }, + "conditions": [ + { + "type": "Declaration", + "span": { + "start": 1856, + "end": 1864, + "ctxt": 0 + }, + "name": { + "type": "Ident", + "span": { + "start": 1856, + "end": 1861, + "ctxt": 0 + }, + "value": "ident", + "raw": "ident" + }, + "value": [ + { + "type": "Number", + "span": { + "start": 1863, + "end": 1864, + "ctxt": 0 + }, + "value": 1.0, + "raw": "1" + } + ], + "important": null + } + ] + } + ] + }, + "block": { + "type": "SimpleBlock", + "span": { + "start": 1867, + "end": 1897, + "ctxt": 0 + }, + "name": "{", + "value": [ + { + "type": "QualifiedRule", + "span": { + "start": 1873, + "end": 1895, + "ctxt": 0 + }, + "prelude": { + "type": "SelectorList", + "span": { + "start": 1873, + "end": 1874, + "ctxt": 0 + }, + "children": [ + { + "type": "ComplexSelector", + "span": { + "start": 1873, + "end": 1874, + "ctxt": 0 + }, + "children": [ + { + "type": "CompoundSelector", + "span": { + "start": 1873, + "end": 1874, + "ctxt": 0 + }, + "nestingSelector": null, + "typeSelector": { + "type": "UniversalSelector", + "span": { + "start": 1873, + "end": 1874, + "ctxt": 0 + }, + "prefix": null + }, + "subclassSelectors": [] + } + ] + } + ] + }, + "block": { + "type": "SimpleBlock", + "span": { + "start": 1875, + "end": 1895, + "ctxt": 0 + }, + "name": "{", + "value": [ + { + "type": "Declaration", + "span": { + "start": 1877, + "end": 1892, + "ctxt": 0 + }, + "name": { + "type": "Ident", + "span": { + "start": 1877, + "end": 1887, + "ctxt": 0 + }, + "value": "background", + "raw": "background" + }, + "value": [ + { + "type": "Ident", + "span": { + "start": 1889, + "end": 1892, + "ctxt": 0 + }, + "value": "red", + "raw": "red" + } + ], + "important": null + } + ] + } + } + ] + } + }, + { + "type": "SupportsRule", + "span": { + "start": 1899, + "end": 1953, + "ctxt": 0 + }, + "condition": { + "type": "SupportsCondition", + "span": { + "start": 1909, + "end": 1922, + "ctxt": 0 + }, + "conditions": [ + { + "type": "SimpleBlock", + "span": { + "start": 1909, + "end": 1922, + "ctxt": 0 + }, + "name": "(", + "value": [ + { + "type": "PreservedToken", + "span": { + "start": 1910, + "end": 1915, + "ctxt": 0 + }, + "token": { + "Ident": { + "value": "ident", + "raw": "ident" + } + } + }, + { + "type": "PreservedToken", + "span": { + "start": 1915, + "end": 1916, + "ctxt": 0 + }, + "token": { + "WhiteSpace": { + "value": " " + } + } + }, + { + "type": "PreservedToken", + "span": { + "start": 1916, + "end": 1921, + "ctxt": 0 + }, + "token": { + "String": { + "value": "str", + "raw": "\"str\"" + } + } + } + ] + } + ] + }, + "block": { + "type": "SimpleBlock", + "span": { + "start": 1923, + "end": 1953, + "ctxt": 0 + }, + "name": "{", + "value": [ + { + "type": "QualifiedRule", + "span": { + "start": 1929, + "end": 1951, + "ctxt": 0 + }, + "prelude": { + "type": "SelectorList", + "span": { + "start": 1929, + "end": 1930, + "ctxt": 0 + }, + "children": [ + { + "type": "ComplexSelector", + "span": { + "start": 1929, + "end": 1930, + "ctxt": 0 + }, + "children": [ + { + "type": "CompoundSelector", + "span": { + "start": 1929, + "end": 1930, + "ctxt": 0 + }, + "nestingSelector": null, + "typeSelector": { + "type": "UniversalSelector", + "span": { + "start": 1929, + "end": 1930, + "ctxt": 0 + }, + "prefix": null + }, + "subclassSelectors": [] + } + ] + } + ] + }, + "block": { + "type": "SimpleBlock", + "span": { + "start": 1931, + "end": 1951, + "ctxt": 0 + }, + "name": "{", + "value": [ + { + "type": "Declaration", + "span": { + "start": 1933, + "end": 1948, + "ctxt": 0 + }, + "name": { + "type": "Ident", + "span": { + "start": 1933, + "end": 1943, + "ctxt": 0 + }, + "value": "background", + "raw": "background" + }, + "value": [ + { + "type": "Ident", + "span": { + "start": 1945, + "end": 1948, + "ctxt": 0 + }, + "value": "red", + "raw": "red" + } + ], + "important": null + } + ] + } + } + ] + } + }, + { + "type": "SupportsRule", + "span": { + "start": 1955, + "end": 2011, + "ctxt": 0 + }, + "condition": { + "type": "SupportsCondition", + "span": { + "start": 1965, + "end": 1980, + "ctxt": 0 + }, + "conditions": [ + { + "type": "SupportsCondition", + "span": { + "start": 1966, + "end": 1979, + "ctxt": 0 + }, + "conditions": [ + { + "type": "SimpleBlock", + "span": { + "start": 1966, + "end": 1979, + "ctxt": 0 + }, + "name": "(", + "value": [ + { + "type": "PreservedToken", + "span": { + "start": 1967, + "end": 1972, + "ctxt": 0 + }, + "token": { + "Ident": { + "value": "ident", + "raw": "ident" + } + } + }, + { + "type": "PreservedToken", + "span": { + "start": 1972, + "end": 1973, + "ctxt": 0 + }, + "token": { + "WhiteSpace": { + "value": " " + } + } + }, + { + "type": "PreservedToken", + "span": { + "start": 1973, + "end": 1978, + "ctxt": 0 + }, + "token": { + "String": { + "value": "str", + "raw": "\"str\"" + } + } + } + ] + } + ] + } + ] + }, + "block": { + "type": "SimpleBlock", + "span": { + "start": 1981, + "end": 2011, + "ctxt": 0 + }, + "name": "{", + "value": [ + { + "type": "QualifiedRule", + "span": { + "start": 1987, + "end": 2009, + "ctxt": 0 + }, + "prelude": { + "type": "SelectorList", + "span": { + "start": 1987, + "end": 1988, + "ctxt": 0 + }, + "children": [ + { + "type": "ComplexSelector", + "span": { + "start": 1987, + "end": 1988, + "ctxt": 0 + }, + "children": [ + { + "type": "CompoundSelector", + "span": { + "start": 1987, + "end": 1988, + "ctxt": 0 + }, + "nestingSelector": null, + "typeSelector": { + "type": "UniversalSelector", + "span": { + "start": 1987, + "end": 1988, + "ctxt": 0 + }, + "prefix": null + }, + "subclassSelectors": [] + } + ] + } + ] + }, + "block": { + "type": "SimpleBlock", + "span": { + "start": 1989, + "end": 2009, + "ctxt": 0 + }, + "name": "{", + "value": [ + { + "type": "Declaration", + "span": { + "start": 1991, + "end": 2006, + "ctxt": 0 + }, + "name": { + "type": "Ident", + "span": { + "start": 1991, + "end": 2001, + "ctxt": 0 + }, + "value": "background", + "raw": "background" + }, + "value": [ + { + "type": "Ident", + "span": { + "start": 2003, + "end": 2006, + "ctxt": 0 + }, + "value": "red", + "raw": "red" + } + ], + "important": null + } + ] + } + } + ] + } + }, + { + "type": "SupportsRule", + "span": { + "start": 2013, + "end": 2070, + "ctxt": 0 + }, + "condition": { + "type": "SupportsCondition", + "span": { + "start": 2023, + "end": 2039, + "ctxt": 0 + }, + "conditions": [ + { + "type": "Function", + "span": { + "start": 2023, + "end": 2039, + "ctxt": 0 + }, + "name": { + "type": "Ident", + "span": { + "start": 2023, + "end": 2027, + "ctxt": 0 + }, + "value": "func", + "raw": "func" + }, + "value": [ + { + "type": "Number", + "span": { + "start": 2028, + "end": 2030, + "ctxt": 0 + }, + "value": 10.0, + "raw": "10" + }, + { + "type": "Delimiter", + "span": { + "start": 2030, + "end": 2031, + "ctxt": 0 + }, + "value": "," + }, + { + "type": "Number", + "span": { + "start": 2032, + "end": 2034, + "ctxt": 0 + }, + "value": 20.0, + "raw": "20" + }, + { + "type": "Delimiter", + "span": { + "start": 2034, + "end": 2035, + "ctxt": 0 + }, + "value": "," + }, + { + "type": "Number", + "span": { + "start": 2036, + "end": 2038, + "ctxt": 0 + }, + "value": 40.0, + "raw": "40" + } + ] + } + ] + }, + "block": { + "type": "SimpleBlock", + "span": { + "start": 2040, + "end": 2070, + "ctxt": 0 + }, + "name": "{", + "value": [ + { + "type": "QualifiedRule", + "span": { + "start": 2046, + "end": 2068, + "ctxt": 0 + }, + "prelude": { + "type": "SelectorList", + "span": { + "start": 2046, + "end": 2047, + "ctxt": 0 + }, + "children": [ + { + "type": "ComplexSelector", + "span": { + "start": 2046, + "end": 2047, + "ctxt": 0 + }, + "children": [ + { + "type": "CompoundSelector", + "span": { + "start": 2046, + "end": 2047, + "ctxt": 0 + }, + "nestingSelector": null, + "typeSelector": { + "type": "UniversalSelector", + "span": { + "start": 2046, + "end": 2047, + "ctxt": 0 + }, + "prefix": null + }, + "subclassSelectors": [] + } + ] + } + ] + }, + "block": { + "type": "SimpleBlock", + "span": { + "start": 2048, + "end": 2068, + "ctxt": 0 + }, + "name": "{", + "value": [ + { + "type": "Declaration", + "span": { + "start": 2050, + "end": 2065, + "ctxt": 0 + }, + "name": { + "type": "Ident", + "span": { + "start": 2050, + "end": 2060, + "ctxt": 0 + }, + "value": "background", + "raw": "background" + }, + "value": [ + { + "type": "Ident", + "span": { + "start": 2062, + "end": 2065, + "ctxt": 0 + }, + "value": "red", + "raw": "red" + } + ], + "important": null + } + ] + } + } + ] + } + }, + { + "type": "SupportsRule", + "span": { + "start": 2072, + "end": 2131, + "ctxt": 0 + }, + "condition": { + "type": "SupportsCondition", + "span": { + "start": 2082, + "end": 2100, + "ctxt": 0 + }, + "conditions": [ + { + "type": "SupportsCondition", + "span": { + "start": 2083, + "end": 2099, + "ctxt": 0 + }, + "conditions": [ + { + "type": "Function", + "span": { + "start": 2083, + "end": 2099, + "ctxt": 0 + }, + "name": { + "type": "Ident", + "span": { + "start": 2083, + "end": 2087, + "ctxt": 0 + }, + "value": "func", + "raw": "func" + }, + "value": [ + { + "type": "Number", + "span": { + "start": 2088, + "end": 2090, + "ctxt": 0 + }, + "value": 10.0, + "raw": "10" + }, + { + "type": "Delimiter", + "span": { + "start": 2090, + "end": 2091, + "ctxt": 0 + }, + "value": "," + }, + { + "type": "Number", + "span": { + "start": 2092, + "end": 2094, + "ctxt": 0 + }, + "value": 20.0, + "raw": "20" + }, + { + "type": "Delimiter", + "span": { + "start": 2094, + "end": 2095, + "ctxt": 0 + }, + "value": "," + }, + { + "type": "Number", + "span": { + "start": 2096, + "end": 2098, + "ctxt": 0 + }, + "value": 40.0, + "raw": "40" + } + ] + } + ] + } + ] + }, + "block": { + "type": "SimpleBlock", + "span": { + "start": 2101, + "end": 2131, + "ctxt": 0 + }, + "name": "{", + "value": [ + { + "type": "QualifiedRule", + "span": { + "start": 2107, + "end": 2129, + "ctxt": 0 + }, + "prelude": { + "type": "SelectorList", + "span": { + "start": 2107, + "end": 2108, + "ctxt": 0 + }, + "children": [ + { + "type": "ComplexSelector", + "span": { + "start": 2107, + "end": 2108, + "ctxt": 0 + }, + "children": [ + { + "type": "CompoundSelector", + "span": { + "start": 2107, + "end": 2108, + "ctxt": 0 + }, + "nestingSelector": null, + "typeSelector": { + "type": "UniversalSelector", + "span": { + "start": 2107, + "end": 2108, + "ctxt": 0 + }, + "prefix": null + }, + "subclassSelectors": [] + } + ] + } + ] + }, + "block": { + "type": "SimpleBlock", + "span": { + "start": 2109, + "end": 2129, + "ctxt": 0 + }, + "name": "{", + "value": [ + { + "type": "Declaration", + "span": { + "start": 2111, + "end": 2126, + "ctxt": 0 + }, + "name": { + "type": "Ident", + "span": { + "start": 2111, + "end": 2121, + "ctxt": 0 + }, + "value": "background", + "raw": "background" + }, + "value": [ + { + "type": "Ident", + "span": { + "start": 2123, + "end": 2126, + "ctxt": 0 + }, + "value": "red", + "raw": "red" + } + ], + "important": null + } + ] + } + } + ] + } + }, + { + "type": "SupportsRule", + "span": { + "start": 2133, + "end": 2213, + "ctxt": 0 + }, + "condition": { + "type": "SupportsCondition", + "span": { + "start": 2143, + "end": 2182, + "ctxt": 0 + }, + "conditions": [ + { + "type": "SupportsCondition", + "span": { + "start": 2147, + "end": 2179, + "ctxt": 0 + }, + "conditions": [ + { + "type": "Function", + "span": { + "start": 2147, + "end": 2179, + "ctxt": 0 + }, + "name": { + "type": "Ident", + "span": { + "start": 2147, + "end": 2151, + "ctxt": 0 + }, + "value": "func", + "raw": "func" + }, + "value": [ + { + "type": "Number", + "span": { + "start": 2155, + "end": 2157, + "ctxt": 0 + }, + "value": 10.0, + "raw": "10" + }, + { + "type": "Delimiter", + "span": { + "start": 2160, + "end": 2161, + "ctxt": 0 + }, + "value": "," + }, + { + "type": "Number", + "span": { + "start": 2164, + "end": 2166, + "ctxt": 0 + }, + "value": 20.0, + "raw": "20" + }, + { + "type": "Delimiter", + "span": { + "start": 2169, + "end": 2170, + "ctxt": 0 + }, + "value": "," + }, + { + "type": "Number", + "span": { + "start": 2173, + "end": 2175, + "ctxt": 0 + }, + "value": 40.0, + "raw": "40" + } + ] + } + ] + } + ] + }, + "block": { + "type": "SimpleBlock", + "span": { + "start": 2183, + "end": 2213, + "ctxt": 0 + }, + "name": "{", + "value": [ + { + "type": "QualifiedRule", + "span": { + "start": 2189, + "end": 2211, + "ctxt": 0 + }, + "prelude": { + "type": "SelectorList", + "span": { + "start": 2189, + "end": 2190, + "ctxt": 0 + }, + "children": [ + { + "type": "ComplexSelector", + "span": { + "start": 2189, + "end": 2190, + "ctxt": 0 + }, + "children": [ + { + "type": "CompoundSelector", + "span": { + "start": 2189, + "end": 2190, + "ctxt": 0 + }, + "nestingSelector": null, + "typeSelector": { + "type": "UniversalSelector", + "span": { + "start": 2189, + "end": 2190, + "ctxt": 0 + }, + "prefix": null + }, + "subclassSelectors": [] + } + ] + } + ] + }, + "block": { + "type": "SimpleBlock", + "span": { + "start": 2191, + "end": 2211, + "ctxt": 0 + }, + "name": "{", + "value": [ + { + "type": "Declaration", + "span": { + "start": 2193, + "end": 2208, + "ctxt": 0 + }, + "name": { + "type": "Ident", + "span": { + "start": 2193, + "end": 2203, + "ctxt": 0 + }, + "value": "background", + "raw": "background" + }, + "value": [ + { + "type": "Ident", + "span": { + "start": 2205, + "end": 2208, + "ctxt": 0 + }, + "value": "red", + "raw": "red" + } + ], + "important": null + } + ] + } + } + ] + } + }, + { + "type": "SupportsRule", + "span": { + "start": 2215, + "end": 2385, + "ctxt": 0 + }, + "condition": { + "type": "SupportsCondition", + "span": { + "start": 2225, + "end": 2247, + "ctxt": 0 + }, + "conditions": [ + { + "type": "Declaration", + "span": { + "start": 2226, + "end": 2246, + "ctxt": 0 + }, + "name": { + "type": "Ident", + "span": { + "start": 2226, + "end": 2240, + "ctxt": 0 + }, + "value": "animation-name", + "raw": "animation-name" + }, + "value": [ + { + "type": "Ident", + "span": { + "start": 2242, + "end": 2246, + "ctxt": 0 + }, + "value": "test", + "raw": "test" + } + ], + "important": null + } + ] + }, + "block": { + "type": "SimpleBlock", + "span": { + "start": 2248, + "end": 2385, + "ctxt": 0 + }, + "name": "{", + "value": [ + { + "type": "UnknownAtRule", + "span": { + "start": 2254, + "end": 2383, + "ctxt": 0 + }, + "name": { + "type": "Ident", + "span": { + "start": 2255, + "end": 2271, + "ctxt": 0 + }, + "value": "-custom-keyframe", + "raw": "-custom-keyframe" + }, + "prelude": [ + { + "type": "PreservedToken", + "span": { + "start": 2271, + "end": 2272, + "ctxt": 0 + }, + "token": { + "WhiteSpace": { + "value": " " + } + } + }, + { + "type": "PreservedToken", + "span": { + "start": 2272, + "end": 2276, + "ctxt": 0 + }, + "token": { + "Ident": { + "value": "anim", + "raw": "anim" + } + } + }, + { + "type": "PreservedToken", + "span": { + "start": 2276, + "end": 2277, + "ctxt": 0 + }, + "token": { + "WhiteSpace": { + "value": " " + } + } + } + ], + "block": { + "type": "SimpleBlock", + "span": { + "start": 2277, + "end": 2383, + "ctxt": 0 + }, + "name": "{", + "value": [ + { + "type": "PreservedToken", + "span": { + "start": 2278, + "end": 2287, + "ctxt": 0 + }, + "token": { + "WhiteSpace": { + "value": "\n " + } + } + }, + { + "type": "PreservedToken", + "span": { + "start": 2287, + "end": 2291, + "ctxt": 0 + }, + "token": { + "Ident": { + "value": "from", + "raw": "from" + } + } + }, + { + "type": "PreservedToken", + "span": { + "start": 2291, + "end": 2292, + "ctxt": 0 + }, + "token": { + "WhiteSpace": { + "value": " " + } + } + }, + { + "type": "SimpleBlock", + "span": { + "start": 2292, + "end": 2329, + "ctxt": 0 + }, + "name": "{", + "value": [ + { + "type": "PreservedToken", + "span": { + "start": 2293, + "end": 2306, + "ctxt": 0 + }, + "token": { + "WhiteSpace": { + "value": "\n " + } + } + }, + { + "type": "PreservedToken", + "span": { + "start": 2306, + "end": 2311, + "ctxt": 0 + }, + "token": { + "Ident": { + "value": "color", + "raw": "color" + } + } + }, + { + "type": "PreservedToken", + "span": { + "start": 2311, + "end": 2312, + "ctxt": 0 + }, + "token": "Colon" + }, + { + "type": "PreservedToken", + "span": { + "start": 2312, + "end": 2313, + "ctxt": 0 + }, + "token": { + "WhiteSpace": { + "value": " " + } + } + }, + { + "type": "PreservedToken", + "span": { + "start": 2313, + "end": 2318, + "ctxt": 0 + }, + "token": { + "Ident": { + "value": "black", + "raw": "black" + } + } + }, + { + "type": "PreservedToken", + "span": { + "start": 2318, + "end": 2319, + "ctxt": 0 + }, + "token": "Semi" + }, + { + "type": "PreservedToken", + "span": { + "start": 2319, + "end": 2328, + "ctxt": 0 + }, + "token": { + "WhiteSpace": { + "value": "\n " + } + } + } + ] + }, + { + "type": "PreservedToken", + "span": { + "start": 2329, + "end": 2338, + "ctxt": 0 + }, + "token": { + "WhiteSpace": { + "value": "\n " + } + } + }, + { + "type": "PreservedToken", + "span": { + "start": 2338, + "end": 2340, + "ctxt": 0 + }, + "token": { + "Ident": { + "value": "to", + "raw": "to" + } + } + }, + { + "type": "PreservedToken", + "span": { + "start": 2340, + "end": 2341, + "ctxt": 0 + }, + "token": { + "WhiteSpace": { + "value": " " + } + } + }, + { + "type": "SimpleBlock", + "span": { + "start": 2341, + "end": 2377, + "ctxt": 0 + }, + "name": "{", + "value": [ + { + "type": "PreservedToken", + "span": { + "start": 2342, + "end": 2355, + "ctxt": 0 + }, + "token": { + "WhiteSpace": { + "value": "\n " + } + } + }, + { + "type": "PreservedToken", + "span": { + "start": 2355, + "end": 2360, + "ctxt": 0 + }, + "token": { + "Ident": { + "value": "color", + "raw": "color" + } + } + }, + { + "type": "PreservedToken", + "span": { + "start": 2360, + "end": 2361, + "ctxt": 0 + }, + "token": "Colon" + }, + { + "type": "PreservedToken", + "span": { + "start": 2361, + "end": 2362, + "ctxt": 0 + }, + "token": { + "WhiteSpace": { + "value": " " + } + } + }, + { + "type": "PreservedToken", + "span": { + "start": 2362, + "end": 2367, + "ctxt": 0 + }, + "token": { + "Ident": { + "value": "white", + "raw": "white" + } + } + }, + { + "type": "PreservedToken", + "span": { + "start": 2367, + "end": 2376, + "ctxt": 0 + }, + "token": { + "WhiteSpace": { + "value": "\n " + } + } + } + ] + }, + { + "type": "PreservedToken", + "span": { + "start": 2377, + "end": 2382, + "ctxt": 0 + }, + "token": { + "WhiteSpace": { + "value": "\n " + } + } + } + ] + } + } + ] + } + }, + { + "type": "SupportsRule", + "span": { + "start": 2387, + "end": 2435, + "ctxt": 0 + }, + "condition": { + "type": "SupportsCondition", + "span": { + "start": 2397, + "end": 2404, + "ctxt": 0 + }, + "conditions": [ + { + "type": "SimpleBlock", + "span": { + "start": 2397, + "end": 2404, + "ctxt": 0 + }, + "name": "(", + "value": [ + { + "type": "PreservedToken", + "span": { + "start": 2398, + "end": 2403, + "ctxt": 0 + }, + "token": { + "Ident": { + "value": "--var", + "raw": "--var" + } + } + } + ] + } + ] + }, + "block": { + "type": "SimpleBlock", + "span": { + "start": 2405, + "end": 2435, + "ctxt": 0 + }, + "name": "{", + "value": [ + { + "type": "QualifiedRule", + "span": { + "start": 2411, + "end": 2433, + "ctxt": 0 + }, + "prelude": { + "type": "SelectorList", + "span": { + "start": 2411, + "end": 2412, + "ctxt": 0 + }, + "children": [ + { + "type": "ComplexSelector", + "span": { + "start": 2411, + "end": 2412, + "ctxt": 0 + }, + "children": [ + { + "type": "CompoundSelector", + "span": { + "start": 2411, + "end": 2412, + "ctxt": 0 + }, + "nestingSelector": null, + "typeSelector": { + "type": "UniversalSelector", + "span": { + "start": 2411, + "end": 2412, + "ctxt": 0 + }, + "prefix": null + }, + "subclassSelectors": [] + } + ] + } + ] + }, + "block": { + "type": "SimpleBlock", + "span": { + "start": 2413, + "end": 2433, + "ctxt": 0 + }, + "name": "{", + "value": [ + { + "type": "Declaration", + "span": { + "start": 2415, + "end": 2430, + "ctxt": 0 + }, + "name": { + "type": "Ident", + "span": { + "start": 2415, + "end": 2425, + "ctxt": 0 + }, + "value": "background", + "raw": "background" + }, + "value": [ + { + "type": "Ident", + "span": { + "start": 2427, + "end": 2430, + "ctxt": 0 + }, + "value": "red", + "raw": "red" + } + ], + "important": null + } + ] + } + } + ] + } + }, + { + "type": "SupportsRule", + "span": { + "start": 2437, + "end": 2513, + "ctxt": 0 + }, + "condition": { + "type": "SupportsCondition", + "span": { + "start": 2447, + "end": 2461, + "ctxt": 0 + }, + "conditions": [ + { + "type": "Declaration", + "span": { + "start": 2448, + "end": 2460, + "ctxt": 0 + }, + "name": { + "type": "DashedIdent", + "span": { + "start": 2448, + "end": 2453, + "ctxt": 0 + }, + "value": "--foo", + "raw": "--foo" + }, + "value": [ + { + "type": "PreservedToken", + "span": { + "start": 2455, + "end": 2460, + "ctxt": 0 + }, + "token": { + "Ident": { + "value": "green", + "raw": "green" + } + } + } + ], + "important": null + } + ] + }, + "block": { + "type": "SimpleBlock", + "span": { + "start": 2462, + "end": 2513, + "ctxt": 0 + }, + "name": "{", + "value": [ + { + "type": "QualifiedRule", + "span": { + "start": 2468, + "end": 2511, + "ctxt": 0 + }, + "prelude": { + "type": "SelectorList", + "span": { + "start": 2468, + "end": 2472, + "ctxt": 0 + }, + "children": [ + { + "type": "ComplexSelector", + "span": { + "start": 2468, + "end": 2472, + "ctxt": 0 + }, + "children": [ + { + "type": "CompoundSelector", + "span": { + "start": 2468, + "end": 2472, + "ctxt": 0 + }, + "nestingSelector": null, + "typeSelector": { + "type": "TagNameSelector", + "span": { + "start": 2468, + "end": 2472, + "ctxt": 0 + }, + "name": { + "type": "WqName", + "span": { + "start": 2468, + "end": 2472, + "ctxt": 0 + }, + "prefix": null, + "value": { + "type": "Ident", + "span": { + "start": 2468, + "end": 2472, + "ctxt": 0 + }, + "value": "body", + "raw": "body" + } + } + }, + "subclassSelectors": [] + } + ] + } + ] + }, + "block": { + "type": "SimpleBlock", + "span": { + "start": 2473, + "end": 2511, + "ctxt": 0 + }, + "name": "{", + "value": [ + { + "type": "Declaration", + "span": { + "start": 2483, + "end": 2504, + "ctxt": 0 + }, + "name": { + "type": "Ident", + "span": { + "start": 2483, + "end": 2488, + "ctxt": 0 + }, + "value": "color", + "raw": "color" + }, + "value": [ + { + "type": "Function", + "span": { + "start": 2490, + "end": 2504, + "ctxt": 0 + }, + "name": { + "type": "Ident", + "span": { + "start": 2490, + "end": 2493, + "ctxt": 0 + }, + "value": "var", + "raw": "var" + }, + "value": [ + { + "type": "DashedIdent", + "span": { + "start": 2494, + "end": 2503, + "ctxt": 0 + }, + "value": "--varName", + "raw": "--varName" + } + ] + } + ], + "important": null + } + ] + } + } + ] + } + }, + { + "type": "SupportsRule", + "span": { + "start": 2515, + "end": 2605, + "ctxt": 0 + }, + "condition": { + "type": "SupportsCondition", + "span": { + "start": 2525, + "end": 2548, + "ctxt": 0 + }, + "conditions": [ + { + "type": "SupportsNot", + "span": { + "start": 2525, + "end": 2548, + "ctxt": 0 + }, + "condition": { + "type": "Function", + "span": { + "start": 2529, + "end": 2548, + "ctxt": 0 + }, + "name": { + "type": "Ident", + "span": { + "start": 2529, + "end": 2537, + "ctxt": 0 + }, + "value": "selector", + "raw": "selector" + }, + "value": [ + { + "type": "ComplexSelector", + "span": { + "start": 2538, + "end": 2547, + "ctxt": 0 + }, + "children": [ + { + "type": "CompoundSelector", + "span": { + "start": 2538, + "end": 2547, + "ctxt": 0 + }, + "nestingSelector": null, + "typeSelector": null, + "subclassSelectors": [ + { + "type": "PseudoClassSelector", + "span": { + "start": 2538, + "end": 2547, + "ctxt": 0 + }, + "name": { + "type": "Ident", + "span": { + "start": 2539, + "end": 2541, + "ctxt": 0 + }, + "value": "is", + "raw": "is" + }, + "children": [ + { + "type": "SelectorList", + "span": { + "start": 2542, + "end": 2546, + "ctxt": 0 + }, + "children": [ + { + "type": "ComplexSelector", + "span": { + "start": 2542, + "end": 2543, + "ctxt": 0 + }, + "children": [ + { + "type": "CompoundSelector", + "span": { + "start": 2542, + "end": 2543, + "ctxt": 0 + }, + "nestingSelector": null, + "typeSelector": { + "type": "TagNameSelector", + "span": { + "start": 2542, + "end": 2543, + "ctxt": 0 + }, + "name": { + "type": "WqName", + "span": { + "start": 2542, + "end": 2543, + "ctxt": 0 + }, + "prefix": null, + "value": { + "type": "Ident", + "span": { + "start": 2542, + "end": 2543, + "ctxt": 0 + }, + "value": "a", + "raw": "a" + } + } + }, + "subclassSelectors": [] + } + ] + }, + { + "type": "ComplexSelector", + "span": { + "start": 2545, + "end": 2546, + "ctxt": 0 + }, + "children": [ + { + "type": "CompoundSelector", + "span": { + "start": 2545, + "end": 2546, + "ctxt": 0 + }, + "nestingSelector": null, + "typeSelector": { + "type": "TagNameSelector", + "span": { + "start": 2545, + "end": 2546, + "ctxt": 0 + }, + "name": { + "type": "WqName", + "span": { + "start": 2545, + "end": 2546, + "ctxt": 0 + }, + "prefix": null, + "value": { + "type": "Ident", + "span": { + "start": 2545, + "end": 2546, + "ctxt": 0 + }, + "value": "b", + "raw": "b" + } + } + }, + "subclassSelectors": [] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + } + ] + }, + "block": { + "type": "SimpleBlock", + "span": { + "start": 2549, + "end": 2605, + "ctxt": 0 + }, + "name": "{", + "value": [ + { + "type": "QualifiedRule", + "span": { + "start": 2555, + "end": 2603, + "ctxt": 0 + }, + "prelude": { + "type": "SelectorList", + "span": { + "start": 2555, + "end": 2575, + "ctxt": 0 + }, + "children": [ + { + "type": "ComplexSelector", + "span": { + "start": 2555, + "end": 2562, + "ctxt": 0 + }, + "children": [ + { + "type": "CompoundSelector", + "span": { + "start": 2555, + "end": 2557, + "ctxt": 0 + }, + "nestingSelector": null, + "typeSelector": { + "type": "TagNameSelector", + "span": { + "start": 2555, + "end": 2557, + "ctxt": 0 + }, + "name": { + "type": "WqName", + "span": { + "start": 2555, + "end": 2557, + "ctxt": 0 + }, + "prefix": null, + "value": { + "type": "Ident", + "span": { + "start": 2555, + "end": 2557, + "ctxt": 0 + }, + "value": "ul", + "raw": "ul" + } + } + }, + "subclassSelectors": [] + }, + { + "type": "Combinator", + "span": { + "start": 2558, + "end": 2559, + "ctxt": 0 + }, + "value": ">" + }, + { + "type": "CompoundSelector", + "span": { + "start": 2560, + "end": 2562, + "ctxt": 0 + }, + "nestingSelector": null, + "typeSelector": { + "type": "TagNameSelector", + "span": { + "start": 2560, + "end": 2562, + "ctxt": 0 + }, + "name": { + "type": "WqName", + "span": { + "start": 2560, + "end": 2562, + "ctxt": 0 + }, + "prefix": null, + "value": { + "type": "Ident", + "span": { + "start": 2560, + "end": 2562, + "ctxt": 0 + }, + "value": "li", + "raw": "li" + } + } + }, + "subclassSelectors": [] + } + ] + }, + { + "type": "ComplexSelector", + "span": { + "start": 2568, + "end": 2575, + "ctxt": 0 + }, + "children": [ + { + "type": "CompoundSelector", + "span": { + "start": 2568, + "end": 2570, + "ctxt": 0 + }, + "nestingSelector": null, + "typeSelector": { + "type": "TagNameSelector", + "span": { + "start": 2568, + "end": 2570, + "ctxt": 0 + }, + "name": { + "type": "WqName", + "span": { + "start": 2568, + "end": 2570, + "ctxt": 0 + }, + "prefix": null, + "value": { + "type": "Ident", + "span": { + "start": 2568, + "end": 2570, + "ctxt": 0 + }, + "value": "ol", + "raw": "ol" + } + } + }, + "subclassSelectors": [] + }, + { + "type": "Combinator", + "span": { + "start": 2571, + "end": 2572, + "ctxt": 0 + }, + "value": ">" + }, + { + "type": "CompoundSelector", + "span": { + "start": 2573, + "end": 2575, + "ctxt": 0 + }, + "nestingSelector": null, + "typeSelector": { + "type": "TagNameSelector", + "span": { + "start": 2573, + "end": 2575, + "ctxt": 0 + }, + "name": { + "type": "WqName", + "span": { + "start": 2573, + "end": 2575, + "ctxt": 0 + }, + "prefix": null, + "value": { + "type": "Ident", + "span": { + "start": 2573, + "end": 2575, + "ctxt": 0 + }, + "value": "li", + "raw": "li" + } + } + }, + "subclassSelectors": [] + } + ] + } + ] + }, + "block": { + "type": "SimpleBlock", + "span": { + "start": 2576, + "end": 2603, + "ctxt": 0 + }, + "name": "{", + "value": [ + { + "type": "Declaration", + "span": { + "start": 2586, + "end": 2596, + "ctxt": 0 + }, + "name": { + "type": "Ident", + "span": { + "start": 2586, + "end": 2591, + "ctxt": 0 + }, + "value": "color", + "raw": "color" + }, + "value": [ + { + "type": "Ident", + "span": { + "start": 2593, + "end": 2596, + "ctxt": 0 + }, + "value": "red", + "raw": "red" + } + ], + "important": null + } + ] + } + } + ] + } + }, + { + "type": "SupportsRule", + "span": { + "start": 2607, + "end": 2749, + "ctxt": 0 + }, + "condition": { + "type": "SupportsCondition", + "span": { + "start": 2617, + "end": 2649, + "ctxt": 0 + }, + "conditions": [ + { + "type": "Function", + "span": { + "start": 2617, + "end": 2649, + "ctxt": 0 + }, + "name": { + "type": "Ident", + "span": { + "start": 2617, + "end": 2625, + "ctxt": 0 + }, + "value": "selector", + "raw": "selector" + }, + "value": [ + { + "type": "ComplexSelector", + "span": { + "start": 2626, + "end": 2648, + "ctxt": 0 + }, + "children": [ + { + "type": "CompoundSelector", + "span": { + "start": 2626, + "end": 2648, + "ctxt": 0 + }, + "nestingSelector": null, + "typeSelector": null, + "subclassSelectors": [ + { + "type": "PseudoClassSelector", + "span": { + "start": 2626, + "end": 2648, + "ctxt": 0 + }, + "name": { + "type": "Ident", + "span": { + "start": 2627, + "end": 2636, + "ctxt": 0 + }, + "value": "nth-child", + "raw": "nth-child" + }, + "children": [ + { + "type": "AnPlusBNotation", + "span": { + "start": 2637, + "end": 2640, + "ctxt": 0 + }, + "a": 1, + "aRaw": "1", + "b": null, + "bRaw": null + }, + { + "type": "Ident", + "span": { + "start": 2640, + "end": 2642, + "ctxt": 0 + }, + "value": "of", + "raw": "of" + }, + { + "type": "SelectorList", + "span": { + "start": 2643, + "end": 2647, + "ctxt": 0 + }, + "children": [ + { + "type": "ComplexSelector", + "span": { + "start": 2643, + "end": 2644, + "ctxt": 0 + }, + "children": [ + { + "type": "CompoundSelector", + "span": { + "start": 2643, + "end": 2644, + "ctxt": 0 + }, + "nestingSelector": null, + "typeSelector": { + "type": "TagNameSelector", + "span": { + "start": 2643, + "end": 2644, + "ctxt": 0 + }, + "name": { + "type": "WqName", + "span": { + "start": 2643, + "end": 2644, + "ctxt": 0 + }, + "prefix": null, + "value": { + "type": "Ident", + "span": { + "start": 2643, + "end": 2644, + "ctxt": 0 + }, + "value": "a", + "raw": "a" + } + } + }, + "subclassSelectors": [] + } + ] + }, + { + "type": "ComplexSelector", + "span": { + "start": 2646, + "end": 2647, + "ctxt": 0 + }, + "children": [ + { + "type": "CompoundSelector", + "span": { + "start": 2646, + "end": 2647, + "ctxt": 0 + }, + "nestingSelector": null, + "typeSelector": { + "type": "TagNameSelector", + "span": { + "start": 2646, + "end": 2647, + "ctxt": 0 + }, + "name": { + "type": "WqName", + "span": { + "start": 2646, + "end": 2647, + "ctxt": 0 + }, + "prefix": null, + "value": { + "type": "Ident", + "span": { + "start": 2646, + "end": 2647, + "ctxt": 0 + }, + "value": "b", + "raw": "b" + } + } + }, + "subclassSelectors": [] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + }, + "block": { + "type": "SimpleBlock", + "span": { + "start": 2650, + "end": 2749, + "ctxt": 0 + }, + "name": "{", + "value": [ + { + "type": "QualifiedRule", + "span": { + "start": 2656, + "end": 2747, + "ctxt": 0 + }, + "prelude": { + "type": "SelectorList", + "span": { + "start": 2656, + "end": 2722, + "ctxt": 0 + }, + "children": [ + { + "type": "ComplexSelector", + "span": { + "start": 2656, + "end": 2722, + "ctxt": 0 + }, + "children": [ + { + "type": "CompoundSelector", + "span": { + "start": 2656, + "end": 2722, + "ctxt": 0 + }, + "nestingSelector": null, + "typeSelector": null, + "subclassSelectors": [ + { + "type": "PseudoClassSelector", + "span": { + "start": 2656, + "end": 2722, + "ctxt": 0 + }, + "name": { + "type": "Ident", + "span": { + "start": 2657, + "end": 2659, + "ctxt": 0 + }, + "value": "is", + "raw": "is" + }, + "children": [ + { + "type": "SelectorList", + "span": { + "start": 2667, + "end": 2718, + "ctxt": 0 + }, + "children": [ + { + "type": "ComplexSelector", + "span": { + "start": 2667, + "end": 2693, + "ctxt": 0 + }, + "children": [ + { + "type": "CompoundSelector", + "span": { + "start": 2667, + "end": 2691, + "ctxt": 0 + }, + "nestingSelector": null, + "typeSelector": null, + "subclassSelectors": [ + { + "type": "PseudoClassSelector", + "span": { + "start": 2667, + "end": 2691, + "ctxt": 0 + }, + "name": { + "type": "Ident", + "span": { + "start": 2668, + "end": 2677, + "ctxt": 0 + }, + "value": "nth-child", + "raw": "nth-child" + }, + "children": [ + { + "type": "AnPlusBNotation", + "span": { + "start": 2678, + "end": 2681, + "ctxt": 0 + }, + "a": 1, + "aRaw": "1", + "b": null, + "bRaw": null + }, + { + "type": "Ident", + "span": { + "start": 2681, + "end": 2683, + "ctxt": 0 + }, + "value": "of", + "raw": "of" + }, + { + "type": "SelectorList", + "span": { + "start": 2684, + "end": 2690, + "ctxt": 0 + }, + "children": [ + { + "type": "ComplexSelector", + "span": { + "start": 2684, + "end": 2686, + "ctxt": 0 + }, + "children": [ + { + "type": "CompoundSelector", + "span": { + "start": 2684, + "end": 2686, + "ctxt": 0 + }, + "nestingSelector": null, + "typeSelector": { + "type": "TagNameSelector", + "span": { + "start": 2684, + "end": 2686, + "ctxt": 0 + }, + "name": { + "type": "WqName", + "span": { + "start": 2684, + "end": 2686, + "ctxt": 0 + }, + "prefix": null, + "value": { + "type": "Ident", + "span": { + "start": 2684, + "end": 2686, + "ctxt": 0 + }, + "value": "ul", + "raw": "ul" + } + } + }, + "subclassSelectors": [] + } + ] + }, + { + "type": "ComplexSelector", + "span": { + "start": 2688, + "end": 2690, + "ctxt": 0 + }, + "children": [ + { + "type": "CompoundSelector", + "span": { + "start": 2688, + "end": 2690, + "ctxt": 0 + }, + "nestingSelector": null, + "typeSelector": { + "type": "TagNameSelector", + "span": { + "start": 2688, + "end": 2690, + "ctxt": 0 + }, + "name": { + "type": "WqName", + "span": { + "start": 2688, + "end": 2690, + "ctxt": 0 + }, + "prefix": null, + "value": { + "type": "Ident", + "span": { + "start": 2688, + "end": 2690, + "ctxt": 0 + }, + "value": "ol", + "raw": "ol" + } + } + }, + "subclassSelectors": [] + } + ] + } + ] + } + ] + } + ] + }, + { + "type": "Combinator", + "span": { + "start": 2691, + "end": 2692, + "ctxt": 0 + }, + "value": " " + }, + { + "type": "CompoundSelector", + "span": { + "start": 2692, + "end": 2693, + "ctxt": 0 + }, + "nestingSelector": null, + "typeSelector": { + "type": "TagNameSelector", + "span": { + "start": 2692, + "end": 2693, + "ctxt": 0 + }, + "name": { + "type": "WqName", + "span": { + "start": 2692, + "end": 2693, + "ctxt": 0 + }, + "prefix": null, + "value": { + "type": "Ident", + "span": { + "start": 2692, + "end": 2693, + "ctxt": 0 + }, + "value": "a", + "raw": "a" + } + } + }, + "subclassSelectors": [] + } + ] + }, + { + "type": "ComplexSelector", + "span": { + "start": 2701, + "end": 2718, + "ctxt": 0 + }, + "children": [ + { + "type": "CompoundSelector", + "span": { + "start": 2701, + "end": 2708, + "ctxt": 0 + }, + "nestingSelector": null, + "typeSelector": { + "type": "TagNameSelector", + "span": { + "start": 2701, + "end": 2708, + "ctxt": 0 + }, + "name": { + "type": "WqName", + "span": { + "start": 2701, + "end": 2708, + "ctxt": 0 + }, + "prefix": null, + "value": { + "type": "Ident", + "span": { + "start": 2701, + "end": 2708, + "ctxt": 0 + }, + "value": "details", + "raw": "details" + } + } + }, + "subclassSelectors": [] + }, + { + "type": "Combinator", + "span": { + "start": 2709, + "end": 2710, + "ctxt": 0 + }, + "value": ">" + }, + { + "type": "CompoundSelector", + "span": { + "start": 2711, + "end": 2718, + "ctxt": 0 + }, + "nestingSelector": null, + "typeSelector": { + "type": "TagNameSelector", + "span": { + "start": 2711, + "end": 2718, + "ctxt": 0 + }, + "name": { + "type": "WqName", + "span": { + "start": 2711, + "end": 2718, + "ctxt": 0 + }, + "prefix": null, + "value": { + "type": "Ident", + "span": { + "start": 2711, + "end": 2718, + "ctxt": 0 + }, + "value": "summary", + "raw": "summary" + } + } + }, + "subclassSelectors": [] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + }, + "block": { + "type": "SimpleBlock", + "span": { + "start": 2723, + "end": 2747, + "ctxt": 0 + }, + "name": "{", + "value": [ + { + "type": "Declaration", + "span": { + "start": 2731, + "end": 2741, + "ctxt": 0 + }, + "name": { + "type": "Ident", + "span": { + "start": 2731, + "end": 2736, + "ctxt": 0 + }, + "value": "color", + "raw": "color" + }, + "value": [ + { + "type": "Ident", + "span": { + "start": 2738, + "end": 2741, + "ctxt": 0 + }, + "value": "red", + "raw": "red" + } + ], + "important": null + } + ] + } + } + ] + } } ] } diff --git a/crates/swc_css_parser/tests/fixture/at-rule/supports/span.rust-debug b/crates/swc_css_parser/tests/fixture/at-rule/supports/span.rust-debug index a4d0bf7019d7..85771452c022 100644 --- a/crates/swc_css_parser/tests/fixture/at-rule/supports/span.rust-debug +++ b/crates/swc_css_parser/tests/fixture/at-rule/supports/span.rust-debug @@ -1,14 +1,14 @@ error: Stylesheet - --> $DIR/tests/fixture/at-rule/supports/input.css:1:1 - | -1 | / @supports (display: grid) { -2 | | div { -3 | | display: grid; -4 | | } -... | -36 | | @supports (transition-property: color) OR ((animation-name: foo) AND (transform: rotate(10deg))) {} -37 | | @supports (NOT (display: flex)) {} - | |___________________________________^ + --> $DIR/tests/fixture/at-rule/supports/input.css:1:1 + | +1 | / @supports (display: grid) { +2 | | div { +3 | | display: grid; +4 | | } +... | +119 | | } +120 | | } + | |__^ error: Rule --> $DIR/tests/fixture/at-rule/supports/input.css:1:1 @@ -3742,3 +3742,4014 @@ error: SimpleBlock 37 | @supports (NOT (display: flex)) {} | ^^ +error: Rule + --> $DIR/tests/fixture/at-rule/supports/input.css:39:1 + | +39 | / @supports selector(col || td) { +40 | | col.selected || td { +41 | | background: tan; +42 | | } +43 | | } + | |_^ + +error: AtRule + --> $DIR/tests/fixture/at-rule/supports/input.css:39:1 + | +39 | / @supports selector(col || td) { +40 | | col.selected || td { +41 | | background: tan; +42 | | } +43 | | } + | |_^ + +error: SupportsRule + --> $DIR/tests/fixture/at-rule/supports/input.css:39:1 + | +39 | / @supports selector(col || td) { +40 | | col.selected || td { +41 | | background: tan; +42 | | } +43 | | } + | |_^ + +error: SupportsCondition + --> $DIR/tests/fixture/at-rule/supports/input.css:39:11 + | +39 | @supports selector(col || td) { + | ^^^^^^^^^^^^^^^^^^^ + +error: SupportsConditionType + --> $DIR/tests/fixture/at-rule/supports/input.css:39:11 + | +39 | @supports selector(col || td) { + | ^^^^^^^^^^^^^^^^^^^ + +error: SupportsInParens + --> $DIR/tests/fixture/at-rule/supports/input.css:39:11 + | +39 | @supports selector(col || td) { + | ^^^^^^^^^^^^^^^^^^^ + +error: SupportsFeature + --> $DIR/tests/fixture/at-rule/supports/input.css:39:11 + | +39 | @supports selector(col || td) { + | ^^^^^^^^^^^^^^^^^^^ + +error: Function + --> $DIR/tests/fixture/at-rule/supports/input.css:39:11 + | +39 | @supports selector(col || td) { + | ^^^^^^^^^^^^^^^^^^^ + +error: Ident + --> $DIR/tests/fixture/at-rule/supports/input.css:39:11 + | +39 | @supports selector(col || td) { + | ^^^^^^^^ + +error: Value + --> $DIR/tests/fixture/at-rule/supports/input.css:39:20 + | +39 | @supports selector(col || td) { + | ^^^^^^^^^ + +error: ComplexSelector + --> $DIR/tests/fixture/at-rule/supports/input.css:39:20 + | +39 | @supports selector(col || td) { + | ^^^^^^^^^ + +error: CompoundSelector + --> $DIR/tests/fixture/at-rule/supports/input.css:39:20 + | +39 | @supports selector(col || td) { + | ^^^ + +error: TypeSelector + --> $DIR/tests/fixture/at-rule/supports/input.css:39:20 + | +39 | @supports selector(col || td) { + | ^^^ + +error: TagNameSelector + --> $DIR/tests/fixture/at-rule/supports/input.css:39:20 + | +39 | @supports selector(col || td) { + | ^^^ + +error: WqName + --> $DIR/tests/fixture/at-rule/supports/input.css:39:20 + | +39 | @supports selector(col || td) { + | ^^^ + +error: Ident + --> $DIR/tests/fixture/at-rule/supports/input.css:39:20 + | +39 | @supports selector(col || td) { + | ^^^ + +error: Combinator + --> $DIR/tests/fixture/at-rule/supports/input.css:39:24 + | +39 | @supports selector(col || td) { + | ^^ + +error: CompoundSelector + --> $DIR/tests/fixture/at-rule/supports/input.css:39:27 + | +39 | @supports selector(col || td) { + | ^^ + +error: TypeSelector + --> $DIR/tests/fixture/at-rule/supports/input.css:39:27 + | +39 | @supports selector(col || td) { + | ^^ + +error: TagNameSelector + --> $DIR/tests/fixture/at-rule/supports/input.css:39:27 + | +39 | @supports selector(col || td) { + | ^^ + +error: WqName + --> $DIR/tests/fixture/at-rule/supports/input.css:39:27 + | +39 | @supports selector(col || td) { + | ^^ + +error: Ident + --> $DIR/tests/fixture/at-rule/supports/input.css:39:27 + | +39 | @supports selector(col || td) { + | ^^ + +error: SimpleBlock + --> $DIR/tests/fixture/at-rule/supports/input.css:39:31 + | +39 | @supports selector(col || td) { + | _______________________________^ +40 | | col.selected || td { +41 | | background: tan; +42 | | } +43 | | } + | |_^ + +error: Rule + --> $DIR/tests/fixture/at-rule/supports/input.css:40:5 + | +40 | / col.selected || td { +41 | | background: tan; +42 | | } + | |_____^ + +error: QualifiedRule + --> $DIR/tests/fixture/at-rule/supports/input.css:40:5 + | +40 | / col.selected || td { +41 | | background: tan; +42 | | } + | |_____^ + +error: SelectorList + --> $DIR/tests/fixture/at-rule/supports/input.css:40:5 + | +40 | col.selected || td { + | ^^^^^^^^^^^^^^^^^^ + +error: ComplexSelector + --> $DIR/tests/fixture/at-rule/supports/input.css:40:5 + | +40 | col.selected || td { + | ^^^^^^^^^^^^^^^^^^ + +error: CompoundSelector + --> $DIR/tests/fixture/at-rule/supports/input.css:40:5 + | +40 | col.selected || td { + | ^^^^^^^^^^^^ + +error: TypeSelector + --> $DIR/tests/fixture/at-rule/supports/input.css:40:5 + | +40 | col.selected || td { + | ^^^ + +error: TagNameSelector + --> $DIR/tests/fixture/at-rule/supports/input.css:40:5 + | +40 | col.selected || td { + | ^^^ + +error: WqName + --> $DIR/tests/fixture/at-rule/supports/input.css:40:5 + | +40 | col.selected || td { + | ^^^ + +error: Ident + --> $DIR/tests/fixture/at-rule/supports/input.css:40:5 + | +40 | col.selected || td { + | ^^^ + +error: SubclassSelector + --> $DIR/tests/fixture/at-rule/supports/input.css:40:8 + | +40 | col.selected || td { + | ^^^^^^^^^ + +error: ClassSelector + --> $DIR/tests/fixture/at-rule/supports/input.css:40:8 + | +40 | col.selected || td { + | ^^^^^^^^^ + +error: Ident + --> $DIR/tests/fixture/at-rule/supports/input.css:40:9 + | +40 | col.selected || td { + | ^^^^^^^^ + +error: Combinator + --> $DIR/tests/fixture/at-rule/supports/input.css:40:18 + | +40 | col.selected || td { + | ^^ + +error: CompoundSelector + --> $DIR/tests/fixture/at-rule/supports/input.css:40:21 + | +40 | col.selected || td { + | ^^ + +error: TypeSelector + --> $DIR/tests/fixture/at-rule/supports/input.css:40:21 + | +40 | col.selected || td { + | ^^ + +error: TagNameSelector + --> $DIR/tests/fixture/at-rule/supports/input.css:40:21 + | +40 | col.selected || td { + | ^^ + +error: WqName + --> $DIR/tests/fixture/at-rule/supports/input.css:40:21 + | +40 | col.selected || td { + | ^^ + +error: Ident + --> $DIR/tests/fixture/at-rule/supports/input.css:40:21 + | +40 | col.selected || td { + | ^^ + +error: SimpleBlock + --> $DIR/tests/fixture/at-rule/supports/input.css:40:24 + | +40 | col.selected || td { + | ________________________^ +41 | | background: tan; +42 | | } + | |_____^ + +error: StyleBlock + --> $DIR/tests/fixture/at-rule/supports/input.css:41:9 + | +41 | background: tan; + | ^^^^^^^^^^^^^^^ + +error: Declaration + --> $DIR/tests/fixture/at-rule/supports/input.css:41:9 + | +41 | background: tan; + | ^^^^^^^^^^^^^^^ + +error: DeclarationName + --> $DIR/tests/fixture/at-rule/supports/input.css:41:9 + | +41 | background: tan; + | ^^^^^^^^^^ + +error: Ident + --> $DIR/tests/fixture/at-rule/supports/input.css:41:9 + | +41 | background: tan; + | ^^^^^^^^^^ + +error: Value + --> $DIR/tests/fixture/at-rule/supports/input.css:41:21 + | +41 | background: tan; + | ^^^ + +error: Ident + --> $DIR/tests/fixture/at-rule/supports/input.css:41:21 + | +41 | background: tan; + | ^^^ + +error: Rule + --> $DIR/tests/fixture/at-rule/supports/input.css:45:1 + | +45 | / @supports selector(:focus-visible) { +46 | | a:focus-visible { +47 | | background: yellow; +48 | | } +49 | | } + | |_^ + +error: AtRule + --> $DIR/tests/fixture/at-rule/supports/input.css:45:1 + | +45 | / @supports selector(:focus-visible) { +46 | | a:focus-visible { +47 | | background: yellow; +48 | | } +49 | | } + | |_^ + +error: SupportsRule + --> $DIR/tests/fixture/at-rule/supports/input.css:45:1 + | +45 | / @supports selector(:focus-visible) { +46 | | a:focus-visible { +47 | | background: yellow; +48 | | } +49 | | } + | |_^ + +error: SupportsCondition + --> $DIR/tests/fixture/at-rule/supports/input.css:45:11 + | +45 | @supports selector(:focus-visible) { + | ^^^^^^^^^^^^^^^^^^^^^^^^ + +error: SupportsConditionType + --> $DIR/tests/fixture/at-rule/supports/input.css:45:11 + | +45 | @supports selector(:focus-visible) { + | ^^^^^^^^^^^^^^^^^^^^^^^^ + +error: SupportsInParens + --> $DIR/tests/fixture/at-rule/supports/input.css:45:11 + | +45 | @supports selector(:focus-visible) { + | ^^^^^^^^^^^^^^^^^^^^^^^^ + +error: SupportsFeature + --> $DIR/tests/fixture/at-rule/supports/input.css:45:11 + | +45 | @supports selector(:focus-visible) { + | ^^^^^^^^^^^^^^^^^^^^^^^^ + +error: Function + --> $DIR/tests/fixture/at-rule/supports/input.css:45:11 + | +45 | @supports selector(:focus-visible) { + | ^^^^^^^^^^^^^^^^^^^^^^^^ + +error: Ident + --> $DIR/tests/fixture/at-rule/supports/input.css:45:11 + | +45 | @supports selector(:focus-visible) { + | ^^^^^^^^ + +error: Value + --> $DIR/tests/fixture/at-rule/supports/input.css:45:20 + | +45 | @supports selector(:focus-visible) { + | ^^^^^^^^^^^^^^ + +error: ComplexSelector + --> $DIR/tests/fixture/at-rule/supports/input.css:45:20 + | +45 | @supports selector(:focus-visible) { + | ^^^^^^^^^^^^^^ + +error: CompoundSelector + --> $DIR/tests/fixture/at-rule/supports/input.css:45:20 + | +45 | @supports selector(:focus-visible) { + | ^^^^^^^^^^^^^^ + +error: SubclassSelector + --> $DIR/tests/fixture/at-rule/supports/input.css:45:20 + | +45 | @supports selector(:focus-visible) { + | ^^^^^^^^^^^^^^ + +error: PseudoClassSelector + --> $DIR/tests/fixture/at-rule/supports/input.css:45:20 + | +45 | @supports selector(:focus-visible) { + | ^^^^^^^^^^^^^^ + +error: Ident + --> $DIR/tests/fixture/at-rule/supports/input.css:45:21 + | +45 | @supports selector(:focus-visible) { + | ^^^^^^^^^^^^^ + +error: SimpleBlock + --> $DIR/tests/fixture/at-rule/supports/input.css:45:36 + | +45 | @supports selector(:focus-visible) { + | ____________________________________^ +46 | | a:focus-visible { +47 | | background: yellow; +48 | | } +49 | | } + | |_^ + +error: Rule + --> $DIR/tests/fixture/at-rule/supports/input.css:46:5 + | +46 | / a:focus-visible { +47 | | background: yellow; +48 | | } + | |_____^ + +error: QualifiedRule + --> $DIR/tests/fixture/at-rule/supports/input.css:46:5 + | +46 | / a:focus-visible { +47 | | background: yellow; +48 | | } + | |_____^ + +error: SelectorList + --> $DIR/tests/fixture/at-rule/supports/input.css:46:5 + | +46 | a:focus-visible { + | ^^^^^^^^^^^^^^^ + +error: ComplexSelector + --> $DIR/tests/fixture/at-rule/supports/input.css:46:5 + | +46 | a:focus-visible { + | ^^^^^^^^^^^^^^^ + +error: CompoundSelector + --> $DIR/tests/fixture/at-rule/supports/input.css:46:5 + | +46 | a:focus-visible { + | ^^^^^^^^^^^^^^^ + +error: TypeSelector + --> $DIR/tests/fixture/at-rule/supports/input.css:46:5 + | +46 | a:focus-visible { + | ^ + +error: TagNameSelector + --> $DIR/tests/fixture/at-rule/supports/input.css:46:5 + | +46 | a:focus-visible { + | ^ + +error: WqName + --> $DIR/tests/fixture/at-rule/supports/input.css:46:5 + | +46 | a:focus-visible { + | ^ + +error: Ident + --> $DIR/tests/fixture/at-rule/supports/input.css:46:5 + | +46 | a:focus-visible { + | ^ + +error: SubclassSelector + --> $DIR/tests/fixture/at-rule/supports/input.css:46:6 + | +46 | a:focus-visible { + | ^^^^^^^^^^^^^^ + +error: PseudoClassSelector + --> $DIR/tests/fixture/at-rule/supports/input.css:46:6 + | +46 | a:focus-visible { + | ^^^^^^^^^^^^^^ + +error: Ident + --> $DIR/tests/fixture/at-rule/supports/input.css:46:7 + | +46 | a:focus-visible { + | ^^^^^^^^^^^^^ + +error: SimpleBlock + --> $DIR/tests/fixture/at-rule/supports/input.css:46:21 + | +46 | a:focus-visible { + | _____________________^ +47 | | background: yellow; +48 | | } + | |_____^ + +error: StyleBlock + --> $DIR/tests/fixture/at-rule/supports/input.css:47:9 + | +47 | background: yellow; + | ^^^^^^^^^^^^^^^^^^ + +error: Declaration + --> $DIR/tests/fixture/at-rule/supports/input.css:47:9 + | +47 | background: yellow; + | ^^^^^^^^^^^^^^^^^^ + +error: DeclarationName + --> $DIR/tests/fixture/at-rule/supports/input.css:47:9 + | +47 | background: yellow; + | ^^^^^^^^^^ + +error: Ident + --> $DIR/tests/fixture/at-rule/supports/input.css:47:9 + | +47 | background: yellow; + | ^^^^^^^^^^ + +error: Value + --> $DIR/tests/fixture/at-rule/supports/input.css:47:21 + | +47 | background: yellow; + | ^^^^^^ + +error: Ident + --> $DIR/tests/fixture/at-rule/supports/input.css:47:21 + | +47 | background: yellow; + | ^^^^^^ + +error: Rule + --> $DIR/tests/fixture/at-rule/supports/input.css:51:1 + | +51 | / @supports (--element(".minwidth")) { +52 | | [--self] { +53 | | background: greenyellow; +54 | | } +55 | | } + | |_^ + +error: AtRule + --> $DIR/tests/fixture/at-rule/supports/input.css:51:1 + | +51 | / @supports (--element(".minwidth")) { +52 | | [--self] { +53 | | background: greenyellow; +54 | | } +55 | | } + | |_^ + +error: SupportsRule + --> $DIR/tests/fixture/at-rule/supports/input.css:51:1 + | +51 | / @supports (--element(".minwidth")) { +52 | | [--self] { +53 | | background: greenyellow; +54 | | } +55 | | } + | |_^ + +error: SupportsCondition + --> $DIR/tests/fixture/at-rule/supports/input.css:51:11 + | +51 | @supports (--element(".minwidth")) { + | ^^^^^^^^^^^^^^^^^^^^^^^^ + +error: SupportsConditionType + --> $DIR/tests/fixture/at-rule/supports/input.css:51:12 + | +51 | @supports (--element(".minwidth")) { + | ^^^^^^^^^^^^^^^^^^^^^^ + +error: SupportsInParens + --> $DIR/tests/fixture/at-rule/supports/input.css:51:12 + | +51 | @supports (--element(".minwidth")) { + | ^^^^^^^^^^^^^^^^^^^^^^ + +error: SupportsCondition + --> $DIR/tests/fixture/at-rule/supports/input.css:51:12 + | +51 | @supports (--element(".minwidth")) { + | ^^^^^^^^^^^^^^^^^^^^^^ + +error: Function + --> $DIR/tests/fixture/at-rule/supports/input.css:51:12 + | +51 | @supports (--element(".minwidth")) { + | ^^^^^^^^^^^^^^^^^^^^^^ + +error: Ident + --> $DIR/tests/fixture/at-rule/supports/input.css:51:12 + | +51 | @supports (--element(".minwidth")) { + | ^^^^^^^^^ + +error: Value + --> $DIR/tests/fixture/at-rule/supports/input.css:51:22 + | +51 | @supports (--element(".minwidth")) { + | ^^^^^^^^^^^ + +error: Str + --> $DIR/tests/fixture/at-rule/supports/input.css:51:22 + | +51 | @supports (--element(".minwidth")) { + | ^^^^^^^^^^^ + +error: SimpleBlock + --> $DIR/tests/fixture/at-rule/supports/input.css:51:36 + | +51 | @supports (--element(".minwidth")) { + | ____________________________________^ +52 | | [--self] { +53 | | background: greenyellow; +54 | | } +55 | | } + | |_^ + +error: Rule + --> $DIR/tests/fixture/at-rule/supports/input.css:52:5 + | +52 | / [--self] { +53 | | background: greenyellow; +54 | | } + | |_____^ + +error: QualifiedRule + --> $DIR/tests/fixture/at-rule/supports/input.css:52:5 + | +52 | / [--self] { +53 | | background: greenyellow; +54 | | } + | |_____^ + +error: SelectorList + --> $DIR/tests/fixture/at-rule/supports/input.css:52:5 + | +52 | [--self] { + | ^^^^^^^^ + +error: ComplexSelector + --> $DIR/tests/fixture/at-rule/supports/input.css:52:5 + | +52 | [--self] { + | ^^^^^^^^ + +error: CompoundSelector + --> $DIR/tests/fixture/at-rule/supports/input.css:52:5 + | +52 | [--self] { + | ^^^^^^^^ + +error: SubclassSelector + --> $DIR/tests/fixture/at-rule/supports/input.css:52:5 + | +52 | [--self] { + | ^^^^^^^^ + +error: AttributeSelector + --> $DIR/tests/fixture/at-rule/supports/input.css:52:5 + | +52 | [--self] { + | ^^^^^^^^ + +error: WqName + --> $DIR/tests/fixture/at-rule/supports/input.css:52:6 + | +52 | [--self] { + | ^^^^^^ + +error: Ident + --> $DIR/tests/fixture/at-rule/supports/input.css:52:6 + | +52 | [--self] { + | ^^^^^^ + +error: SimpleBlock + --> $DIR/tests/fixture/at-rule/supports/input.css:52:14 + | +52 | [--self] { + | ______________^ +53 | | background: greenyellow; +54 | | } + | |_____^ + +error: StyleBlock + --> $DIR/tests/fixture/at-rule/supports/input.css:53:9 + | +53 | background: greenyellow; + | ^^^^^^^^^^^^^^^^^^^^^^^ + +error: Declaration + --> $DIR/tests/fixture/at-rule/supports/input.css:53:9 + | +53 | background: greenyellow; + | ^^^^^^^^^^^^^^^^^^^^^^^ + +error: DeclarationName + --> $DIR/tests/fixture/at-rule/supports/input.css:53:9 + | +53 | background: greenyellow; + | ^^^^^^^^^^ + +error: Ident + --> $DIR/tests/fixture/at-rule/supports/input.css:53:9 + | +53 | background: greenyellow; + | ^^^^^^^^^^ + +error: Value + --> $DIR/tests/fixture/at-rule/supports/input.css:53:21 + | +53 | background: greenyellow; + | ^^^^^^^^^^^ + +error: Ident + --> $DIR/tests/fixture/at-rule/supports/input.css:53:21 + | +53 | background: greenyellow; + | ^^^^^^^^^^^ + +error: Rule + --> $DIR/tests/fixture/at-rule/supports/input.css:57:1 + | +57 | / @supports (ident: 1) { +58 | | * { background: red; } +59 | | } + | |_^ + +error: AtRule + --> $DIR/tests/fixture/at-rule/supports/input.css:57:1 + | +57 | / @supports (ident: 1) { +58 | | * { background: red; } +59 | | } + | |_^ + +error: SupportsRule + --> $DIR/tests/fixture/at-rule/supports/input.css:57:1 + | +57 | / @supports (ident: 1) { +58 | | * { background: red; } +59 | | } + | |_^ + +error: SupportsCondition + --> $DIR/tests/fixture/at-rule/supports/input.css:57:11 + | +57 | @supports (ident: 1) { + | ^^^^^^^^^^ + +error: SupportsConditionType + --> $DIR/tests/fixture/at-rule/supports/input.css:57:12 + | +57 | @supports (ident: 1) { + | ^^^^^^^^ + +error: SupportsInParens + --> $DIR/tests/fixture/at-rule/supports/input.css:57:12 + | +57 | @supports (ident: 1) { + | ^^^^^^^^ + +error: SupportsFeature + --> $DIR/tests/fixture/at-rule/supports/input.css:57:12 + | +57 | @supports (ident: 1) { + | ^^^^^^^^ + +error: Declaration + --> $DIR/tests/fixture/at-rule/supports/input.css:57:12 + | +57 | @supports (ident: 1) { + | ^^^^^^^^ + +error: DeclarationName + --> $DIR/tests/fixture/at-rule/supports/input.css:57:12 + | +57 | @supports (ident: 1) { + | ^^^^^ + +error: Ident + --> $DIR/tests/fixture/at-rule/supports/input.css:57:12 + | +57 | @supports (ident: 1) { + | ^^^^^ + +error: Value + --> $DIR/tests/fixture/at-rule/supports/input.css:57:19 + | +57 | @supports (ident: 1) { + | ^ + +error: Number + --> $DIR/tests/fixture/at-rule/supports/input.css:57:19 + | +57 | @supports (ident: 1) { + | ^ + +error: SimpleBlock + --> $DIR/tests/fixture/at-rule/supports/input.css:57:22 + | +57 | @supports (ident: 1) { + | ______________________^ +58 | | * { background: red; } +59 | | } + | |_^ + +error: Rule + --> $DIR/tests/fixture/at-rule/supports/input.css:58:5 + | +58 | * { background: red; } + | ^^^^^^^^^^^^^^^^^^^^^^ + +error: QualifiedRule + --> $DIR/tests/fixture/at-rule/supports/input.css:58:5 + | +58 | * { background: red; } + | ^^^^^^^^^^^^^^^^^^^^^^ + +error: SelectorList + --> $DIR/tests/fixture/at-rule/supports/input.css:58:5 + | +58 | * { background: red; } + | ^ + +error: ComplexSelector + --> $DIR/tests/fixture/at-rule/supports/input.css:58:5 + | +58 | * { background: red; } + | ^ + +error: CompoundSelector + --> $DIR/tests/fixture/at-rule/supports/input.css:58:5 + | +58 | * { background: red; } + | ^ + +error: TypeSelector + --> $DIR/tests/fixture/at-rule/supports/input.css:58:5 + | +58 | * { background: red; } + | ^ + +error: UniversalSelector + --> $DIR/tests/fixture/at-rule/supports/input.css:58:5 + | +58 | * { background: red; } + | ^ + +error: SimpleBlock + --> $DIR/tests/fixture/at-rule/supports/input.css:58:7 + | +58 | * { background: red; } + | ^^^^^^^^^^^^^^^^^^^^ + +error: StyleBlock + --> $DIR/tests/fixture/at-rule/supports/input.css:58:9 + | +58 | * { background: red; } + | ^^^^^^^^^^^^^^^ + +error: Declaration + --> $DIR/tests/fixture/at-rule/supports/input.css:58:9 + | +58 | * { background: red; } + | ^^^^^^^^^^^^^^^ + +error: DeclarationName + --> $DIR/tests/fixture/at-rule/supports/input.css:58:9 + | +58 | * { background: red; } + | ^^^^^^^^^^ + +error: Ident + --> $DIR/tests/fixture/at-rule/supports/input.css:58:9 + | +58 | * { background: red; } + | ^^^^^^^^^^ + +error: Value + --> $DIR/tests/fixture/at-rule/supports/input.css:58:21 + | +58 | * { background: red; } + | ^^^ + +error: Ident + --> $DIR/tests/fixture/at-rule/supports/input.css:58:21 + | +58 | * { background: red; } + | ^^^ + +error: Rule + --> $DIR/tests/fixture/at-rule/supports/input.css:61:1 + | +61 | / @supports ((ident: 1)) { +62 | | * { background: red; } +63 | | } + | |_^ + +error: AtRule + --> $DIR/tests/fixture/at-rule/supports/input.css:61:1 + | +61 | / @supports ((ident: 1)) { +62 | | * { background: red; } +63 | | } + | |_^ + +error: SupportsRule + --> $DIR/tests/fixture/at-rule/supports/input.css:61:1 + | +61 | / @supports ((ident: 1)) { +62 | | * { background: red; } +63 | | } + | |_^ + +error: SupportsCondition + --> $DIR/tests/fixture/at-rule/supports/input.css:61:11 + | +61 | @supports ((ident: 1)) { + | ^^^^^^^^^^^^ + +error: SupportsConditionType + --> $DIR/tests/fixture/at-rule/supports/input.css:61:12 + | +61 | @supports ((ident: 1)) { + | ^^^^^^^^^^ + +error: SupportsInParens + --> $DIR/tests/fixture/at-rule/supports/input.css:61:12 + | +61 | @supports ((ident: 1)) { + | ^^^^^^^^^^ + +error: SupportsCondition + --> $DIR/tests/fixture/at-rule/supports/input.css:61:12 + | +61 | @supports ((ident: 1)) { + | ^^^^^^^^^^ + +error: SupportsConditionType + --> $DIR/tests/fixture/at-rule/supports/input.css:61:13 + | +61 | @supports ((ident: 1)) { + | ^^^^^^^^ + +error: SupportsInParens + --> $DIR/tests/fixture/at-rule/supports/input.css:61:13 + | +61 | @supports ((ident: 1)) { + | ^^^^^^^^ + +error: SupportsFeature + --> $DIR/tests/fixture/at-rule/supports/input.css:61:13 + | +61 | @supports ((ident: 1)) { + | ^^^^^^^^ + +error: Declaration + --> $DIR/tests/fixture/at-rule/supports/input.css:61:13 + | +61 | @supports ((ident: 1)) { + | ^^^^^^^^ + +error: DeclarationName + --> $DIR/tests/fixture/at-rule/supports/input.css:61:13 + | +61 | @supports ((ident: 1)) { + | ^^^^^ + +error: Ident + --> $DIR/tests/fixture/at-rule/supports/input.css:61:13 + | +61 | @supports ((ident: 1)) { + | ^^^^^ + +error: Value + --> $DIR/tests/fixture/at-rule/supports/input.css:61:20 + | +61 | @supports ((ident: 1)) { + | ^ + +error: Number + --> $DIR/tests/fixture/at-rule/supports/input.css:61:20 + | +61 | @supports ((ident: 1)) { + | ^ + +error: SimpleBlock + --> $DIR/tests/fixture/at-rule/supports/input.css:61:24 + | +61 | @supports ((ident: 1)) { + | ________________________^ +62 | | * { background: red; } +63 | | } + | |_^ + +error: Rule + --> $DIR/tests/fixture/at-rule/supports/input.css:62:5 + | +62 | * { background: red; } + | ^^^^^^^^^^^^^^^^^^^^^^ + +error: QualifiedRule + --> $DIR/tests/fixture/at-rule/supports/input.css:62:5 + | +62 | * { background: red; } + | ^^^^^^^^^^^^^^^^^^^^^^ + +error: SelectorList + --> $DIR/tests/fixture/at-rule/supports/input.css:62:5 + | +62 | * { background: red; } + | ^ + +error: ComplexSelector + --> $DIR/tests/fixture/at-rule/supports/input.css:62:5 + | +62 | * { background: red; } + | ^ + +error: CompoundSelector + --> $DIR/tests/fixture/at-rule/supports/input.css:62:5 + | +62 | * { background: red; } + | ^ + +error: TypeSelector + --> $DIR/tests/fixture/at-rule/supports/input.css:62:5 + | +62 | * { background: red; } + | ^ + +error: UniversalSelector + --> $DIR/tests/fixture/at-rule/supports/input.css:62:5 + | +62 | * { background: red; } + | ^ + +error: SimpleBlock + --> $DIR/tests/fixture/at-rule/supports/input.css:62:7 + | +62 | * { background: red; } + | ^^^^^^^^^^^^^^^^^^^^ + +error: StyleBlock + --> $DIR/tests/fixture/at-rule/supports/input.css:62:9 + | +62 | * { background: red; } + | ^^^^^^^^^^^^^^^ + +error: Declaration + --> $DIR/tests/fixture/at-rule/supports/input.css:62:9 + | +62 | * { background: red; } + | ^^^^^^^^^^^^^^^ + +error: DeclarationName + --> $DIR/tests/fixture/at-rule/supports/input.css:62:9 + | +62 | * { background: red; } + | ^^^^^^^^^^ + +error: Ident + --> $DIR/tests/fixture/at-rule/supports/input.css:62:9 + | +62 | * { background: red; } + | ^^^^^^^^^^ + +error: Value + --> $DIR/tests/fixture/at-rule/supports/input.css:62:21 + | +62 | * { background: red; } + | ^^^ + +error: Ident + --> $DIR/tests/fixture/at-rule/supports/input.css:62:21 + | +62 | * { background: red; } + | ^^^ + +error: Rule + --> $DIR/tests/fixture/at-rule/supports/input.css:65:1 + | +65 | / @supports (ident "str") { +66 | | * { background: red; } +67 | | } + | |_^ + +error: AtRule + --> $DIR/tests/fixture/at-rule/supports/input.css:65:1 + | +65 | / @supports (ident "str") { +66 | | * { background: red; } +67 | | } + | |_^ + +error: SupportsRule + --> $DIR/tests/fixture/at-rule/supports/input.css:65:1 + | +65 | / @supports (ident "str") { +66 | | * { background: red; } +67 | | } + | |_^ + +error: SupportsCondition + --> $DIR/tests/fixture/at-rule/supports/input.css:65:11 + | +65 | @supports (ident "str") { + | ^^^^^^^^^^^^^ + +error: SupportsConditionType + --> $DIR/tests/fixture/at-rule/supports/input.css:65:11 + | +65 | @supports (ident "str") { + | ^^^^^^^^^^^^^ + +error: SupportsInParens + --> $DIR/tests/fixture/at-rule/supports/input.css:65:11 + | +65 | @supports (ident "str") { + | ^^^^^^^^^^^^^ + +error: SimpleBlock + --> $DIR/tests/fixture/at-rule/supports/input.css:65:11 + | +65 | @supports (ident "str") { + | ^^^^^^^^^^^^^ + +error: Value + --> $DIR/tests/fixture/at-rule/supports/input.css:65:12 + | +65 | @supports (ident "str") { + | ^^^^^ + +error: Ident { value: Atom('ident' type=inline), raw: Atom('ident' type=inline) } + --> $DIR/tests/fixture/at-rule/supports/input.css:65:12 + | +65 | @supports (ident "str") { + | ^^^^^ + +error: Value + --> $DIR/tests/fixture/at-rule/supports/input.css:65:17 + | +65 | @supports (ident "str") { + | ^ + +error: WhiteSpace { value: Atom(' ' type=inline) } + --> $DIR/tests/fixture/at-rule/supports/input.css:65:17 + | +65 | @supports (ident "str") { + | ^ + +error: Value + --> $DIR/tests/fixture/at-rule/supports/input.css:65:18 + | +65 | @supports (ident "str") { + | ^^^^^ + +error: String { value: Atom('str' type=inline), raw: Atom('"str"' type=inline) } + --> $DIR/tests/fixture/at-rule/supports/input.css:65:18 + | +65 | @supports (ident "str") { + | ^^^^^ + +error: SimpleBlock + --> $DIR/tests/fixture/at-rule/supports/input.css:65:25 + | +65 | @supports (ident "str") { + | _________________________^ +66 | | * { background: red; } +67 | | } + | |_^ + +error: Rule + --> $DIR/tests/fixture/at-rule/supports/input.css:66:5 + | +66 | * { background: red; } + | ^^^^^^^^^^^^^^^^^^^^^^ + +error: QualifiedRule + --> $DIR/tests/fixture/at-rule/supports/input.css:66:5 + | +66 | * { background: red; } + | ^^^^^^^^^^^^^^^^^^^^^^ + +error: SelectorList + --> $DIR/tests/fixture/at-rule/supports/input.css:66:5 + | +66 | * { background: red; } + | ^ + +error: ComplexSelector + --> $DIR/tests/fixture/at-rule/supports/input.css:66:5 + | +66 | * { background: red; } + | ^ + +error: CompoundSelector + --> $DIR/tests/fixture/at-rule/supports/input.css:66:5 + | +66 | * { background: red; } + | ^ + +error: TypeSelector + --> $DIR/tests/fixture/at-rule/supports/input.css:66:5 + | +66 | * { background: red; } + | ^ + +error: UniversalSelector + --> $DIR/tests/fixture/at-rule/supports/input.css:66:5 + | +66 | * { background: red; } + | ^ + +error: SimpleBlock + --> $DIR/tests/fixture/at-rule/supports/input.css:66:7 + | +66 | * { background: red; } + | ^^^^^^^^^^^^^^^^^^^^ + +error: StyleBlock + --> $DIR/tests/fixture/at-rule/supports/input.css:66:9 + | +66 | * { background: red; } + | ^^^^^^^^^^^^^^^ + +error: Declaration + --> $DIR/tests/fixture/at-rule/supports/input.css:66:9 + | +66 | * { background: red; } + | ^^^^^^^^^^^^^^^ + +error: DeclarationName + --> $DIR/tests/fixture/at-rule/supports/input.css:66:9 + | +66 | * { background: red; } + | ^^^^^^^^^^ + +error: Ident + --> $DIR/tests/fixture/at-rule/supports/input.css:66:9 + | +66 | * { background: red; } + | ^^^^^^^^^^ + +error: Value + --> $DIR/tests/fixture/at-rule/supports/input.css:66:21 + | +66 | * { background: red; } + | ^^^ + +error: Ident + --> $DIR/tests/fixture/at-rule/supports/input.css:66:21 + | +66 | * { background: red; } + | ^^^ + +error: Rule + --> $DIR/tests/fixture/at-rule/supports/input.css:69:1 + | +69 | / @supports ((ident "str")) { +70 | | * { background: red; } +71 | | } + | |_^ + +error: AtRule + --> $DIR/tests/fixture/at-rule/supports/input.css:69:1 + | +69 | / @supports ((ident "str")) { +70 | | * { background: red; } +71 | | } + | |_^ + +error: SupportsRule + --> $DIR/tests/fixture/at-rule/supports/input.css:69:1 + | +69 | / @supports ((ident "str")) { +70 | | * { background: red; } +71 | | } + | |_^ + +error: SupportsCondition + --> $DIR/tests/fixture/at-rule/supports/input.css:69:11 + | +69 | @supports ((ident "str")) { + | ^^^^^^^^^^^^^^^ + +error: SupportsConditionType + --> $DIR/tests/fixture/at-rule/supports/input.css:69:12 + | +69 | @supports ((ident "str")) { + | ^^^^^^^^^^^^^ + +error: SupportsInParens + --> $DIR/tests/fixture/at-rule/supports/input.css:69:12 + | +69 | @supports ((ident "str")) { + | ^^^^^^^^^^^^^ + +error: SupportsCondition + --> $DIR/tests/fixture/at-rule/supports/input.css:69:12 + | +69 | @supports ((ident "str")) { + | ^^^^^^^^^^^^^ + +error: SimpleBlock + --> $DIR/tests/fixture/at-rule/supports/input.css:69:12 + | +69 | @supports ((ident "str")) { + | ^^^^^^^^^^^^^ + +error: Value + --> $DIR/tests/fixture/at-rule/supports/input.css:69:13 + | +69 | @supports ((ident "str")) { + | ^^^^^ + +error: Ident { value: Atom('ident' type=inline), raw: Atom('ident' type=inline) } + --> $DIR/tests/fixture/at-rule/supports/input.css:69:13 + | +69 | @supports ((ident "str")) { + | ^^^^^ + +error: Value + --> $DIR/tests/fixture/at-rule/supports/input.css:69:18 + | +69 | @supports ((ident "str")) { + | ^ + +error: WhiteSpace { value: Atom(' ' type=inline) } + --> $DIR/tests/fixture/at-rule/supports/input.css:69:18 + | +69 | @supports ((ident "str")) { + | ^ + +error: Value + --> $DIR/tests/fixture/at-rule/supports/input.css:69:19 + | +69 | @supports ((ident "str")) { + | ^^^^^ + +error: String { value: Atom('str' type=inline), raw: Atom('"str"' type=inline) } + --> $DIR/tests/fixture/at-rule/supports/input.css:69:19 + | +69 | @supports ((ident "str")) { + | ^^^^^ + +error: SimpleBlock + --> $DIR/tests/fixture/at-rule/supports/input.css:69:27 + | +69 | @supports ((ident "str")) { + | ___________________________^ +70 | | * { background: red; } +71 | | } + | |_^ + +error: Rule + --> $DIR/tests/fixture/at-rule/supports/input.css:70:5 + | +70 | * { background: red; } + | ^^^^^^^^^^^^^^^^^^^^^^ + +error: QualifiedRule + --> $DIR/tests/fixture/at-rule/supports/input.css:70:5 + | +70 | * { background: red; } + | ^^^^^^^^^^^^^^^^^^^^^^ + +error: SelectorList + --> $DIR/tests/fixture/at-rule/supports/input.css:70:5 + | +70 | * { background: red; } + | ^ + +error: ComplexSelector + --> $DIR/tests/fixture/at-rule/supports/input.css:70:5 + | +70 | * { background: red; } + | ^ + +error: CompoundSelector + --> $DIR/tests/fixture/at-rule/supports/input.css:70:5 + | +70 | * { background: red; } + | ^ + +error: TypeSelector + --> $DIR/tests/fixture/at-rule/supports/input.css:70:5 + | +70 | * { background: red; } + | ^ + +error: UniversalSelector + --> $DIR/tests/fixture/at-rule/supports/input.css:70:5 + | +70 | * { background: red; } + | ^ + +error: SimpleBlock + --> $DIR/tests/fixture/at-rule/supports/input.css:70:7 + | +70 | * { background: red; } + | ^^^^^^^^^^^^^^^^^^^^ + +error: StyleBlock + --> $DIR/tests/fixture/at-rule/supports/input.css:70:9 + | +70 | * { background: red; } + | ^^^^^^^^^^^^^^^ + +error: Declaration + --> $DIR/tests/fixture/at-rule/supports/input.css:70:9 + | +70 | * { background: red; } + | ^^^^^^^^^^^^^^^ + +error: DeclarationName + --> $DIR/tests/fixture/at-rule/supports/input.css:70:9 + | +70 | * { background: red; } + | ^^^^^^^^^^ + +error: Ident + --> $DIR/tests/fixture/at-rule/supports/input.css:70:9 + | +70 | * { background: red; } + | ^^^^^^^^^^ + +error: Value + --> $DIR/tests/fixture/at-rule/supports/input.css:70:21 + | +70 | * { background: red; } + | ^^^ + +error: Ident + --> $DIR/tests/fixture/at-rule/supports/input.css:70:21 + | +70 | * { background: red; } + | ^^^ + +error: Rule + --> $DIR/tests/fixture/at-rule/supports/input.css:73:1 + | +73 | / @supports func(10, 20, 40) { +74 | | * { background: red; } +75 | | } + | |_^ + +error: AtRule + --> $DIR/tests/fixture/at-rule/supports/input.css:73:1 + | +73 | / @supports func(10, 20, 40) { +74 | | * { background: red; } +75 | | } + | |_^ + +error: SupportsRule + --> $DIR/tests/fixture/at-rule/supports/input.css:73:1 + | +73 | / @supports func(10, 20, 40) { +74 | | * { background: red; } +75 | | } + | |_^ + +error: SupportsCondition + --> $DIR/tests/fixture/at-rule/supports/input.css:73:11 + | +73 | @supports func(10, 20, 40) { + | ^^^^^^^^^^^^^^^^ + +error: SupportsConditionType + --> $DIR/tests/fixture/at-rule/supports/input.css:73:11 + | +73 | @supports func(10, 20, 40) { + | ^^^^^^^^^^^^^^^^ + +error: SupportsInParens + --> $DIR/tests/fixture/at-rule/supports/input.css:73:11 + | +73 | @supports func(10, 20, 40) { + | ^^^^^^^^^^^^^^^^ + +error: Function + --> $DIR/tests/fixture/at-rule/supports/input.css:73:11 + | +73 | @supports func(10, 20, 40) { + | ^^^^^^^^^^^^^^^^ + +error: Ident + --> $DIR/tests/fixture/at-rule/supports/input.css:73:11 + | +73 | @supports func(10, 20, 40) { + | ^^^^ + +error: Value + --> $DIR/tests/fixture/at-rule/supports/input.css:73:16 + | +73 | @supports func(10, 20, 40) { + | ^^ + +error: Number + --> $DIR/tests/fixture/at-rule/supports/input.css:73:16 + | +73 | @supports func(10, 20, 40) { + | ^^ + +error: Value + --> $DIR/tests/fixture/at-rule/supports/input.css:73:18 + | +73 | @supports func(10, 20, 40) { + | ^ + +error: Delimiter + --> $DIR/tests/fixture/at-rule/supports/input.css:73:18 + | +73 | @supports func(10, 20, 40) { + | ^ + +error: Value + --> $DIR/tests/fixture/at-rule/supports/input.css:73:20 + | +73 | @supports func(10, 20, 40) { + | ^^ + +error: Number + --> $DIR/tests/fixture/at-rule/supports/input.css:73:20 + | +73 | @supports func(10, 20, 40) { + | ^^ + +error: Value + --> $DIR/tests/fixture/at-rule/supports/input.css:73:22 + | +73 | @supports func(10, 20, 40) { + | ^ + +error: Delimiter + --> $DIR/tests/fixture/at-rule/supports/input.css:73:22 + | +73 | @supports func(10, 20, 40) { + | ^ + +error: Value + --> $DIR/tests/fixture/at-rule/supports/input.css:73:24 + | +73 | @supports func(10, 20, 40) { + | ^^ + +error: Number + --> $DIR/tests/fixture/at-rule/supports/input.css:73:24 + | +73 | @supports func(10, 20, 40) { + | ^^ + +error: SimpleBlock + --> $DIR/tests/fixture/at-rule/supports/input.css:73:28 + | +73 | @supports func(10, 20, 40) { + | ____________________________^ +74 | | * { background: red; } +75 | | } + | |_^ + +error: Rule + --> $DIR/tests/fixture/at-rule/supports/input.css:74:5 + | +74 | * { background: red; } + | ^^^^^^^^^^^^^^^^^^^^^^ + +error: QualifiedRule + --> $DIR/tests/fixture/at-rule/supports/input.css:74:5 + | +74 | * { background: red; } + | ^^^^^^^^^^^^^^^^^^^^^^ + +error: SelectorList + --> $DIR/tests/fixture/at-rule/supports/input.css:74:5 + | +74 | * { background: red; } + | ^ + +error: ComplexSelector + --> $DIR/tests/fixture/at-rule/supports/input.css:74:5 + | +74 | * { background: red; } + | ^ + +error: CompoundSelector + --> $DIR/tests/fixture/at-rule/supports/input.css:74:5 + | +74 | * { background: red; } + | ^ + +error: TypeSelector + --> $DIR/tests/fixture/at-rule/supports/input.css:74:5 + | +74 | * { background: red; } + | ^ + +error: UniversalSelector + --> $DIR/tests/fixture/at-rule/supports/input.css:74:5 + | +74 | * { background: red; } + | ^ + +error: SimpleBlock + --> $DIR/tests/fixture/at-rule/supports/input.css:74:7 + | +74 | * { background: red; } + | ^^^^^^^^^^^^^^^^^^^^ + +error: StyleBlock + --> $DIR/tests/fixture/at-rule/supports/input.css:74:9 + | +74 | * { background: red; } + | ^^^^^^^^^^^^^^^ + +error: Declaration + --> $DIR/tests/fixture/at-rule/supports/input.css:74:9 + | +74 | * { background: red; } + | ^^^^^^^^^^^^^^^ + +error: DeclarationName + --> $DIR/tests/fixture/at-rule/supports/input.css:74:9 + | +74 | * { background: red; } + | ^^^^^^^^^^ + +error: Ident + --> $DIR/tests/fixture/at-rule/supports/input.css:74:9 + | +74 | * { background: red; } + | ^^^^^^^^^^ + +error: Value + --> $DIR/tests/fixture/at-rule/supports/input.css:74:21 + | +74 | * { background: red; } + | ^^^ + +error: Ident + --> $DIR/tests/fixture/at-rule/supports/input.css:74:21 + | +74 | * { background: red; } + | ^^^ + +error: Rule + --> $DIR/tests/fixture/at-rule/supports/input.css:77:1 + | +77 | / @supports (func(10, 20, 40)) { +78 | | * { background: red; } +79 | | } + | |_^ + +error: AtRule + --> $DIR/tests/fixture/at-rule/supports/input.css:77:1 + | +77 | / @supports (func(10, 20, 40)) { +78 | | * { background: red; } +79 | | } + | |_^ + +error: SupportsRule + --> $DIR/tests/fixture/at-rule/supports/input.css:77:1 + | +77 | / @supports (func(10, 20, 40)) { +78 | | * { background: red; } +79 | | } + | |_^ + +error: SupportsCondition + --> $DIR/tests/fixture/at-rule/supports/input.css:77:11 + | +77 | @supports (func(10, 20, 40)) { + | ^^^^^^^^^^^^^^^^^^ + +error: SupportsConditionType + --> $DIR/tests/fixture/at-rule/supports/input.css:77:12 + | +77 | @supports (func(10, 20, 40)) { + | ^^^^^^^^^^^^^^^^ + +error: SupportsInParens + --> $DIR/tests/fixture/at-rule/supports/input.css:77:12 + | +77 | @supports (func(10, 20, 40)) { + | ^^^^^^^^^^^^^^^^ + +error: SupportsCondition + --> $DIR/tests/fixture/at-rule/supports/input.css:77:12 + | +77 | @supports (func(10, 20, 40)) { + | ^^^^^^^^^^^^^^^^ + +error: Function + --> $DIR/tests/fixture/at-rule/supports/input.css:77:12 + | +77 | @supports (func(10, 20, 40)) { + | ^^^^^^^^^^^^^^^^ + +error: Ident + --> $DIR/tests/fixture/at-rule/supports/input.css:77:12 + | +77 | @supports (func(10, 20, 40)) { + | ^^^^ + +error: Value + --> $DIR/tests/fixture/at-rule/supports/input.css:77:17 + | +77 | @supports (func(10, 20, 40)) { + | ^^ + +error: Number + --> $DIR/tests/fixture/at-rule/supports/input.css:77:17 + | +77 | @supports (func(10, 20, 40)) { + | ^^ + +error: Value + --> $DIR/tests/fixture/at-rule/supports/input.css:77:19 + | +77 | @supports (func(10, 20, 40)) { + | ^ + +error: Delimiter + --> $DIR/tests/fixture/at-rule/supports/input.css:77:19 + | +77 | @supports (func(10, 20, 40)) { + | ^ + +error: Value + --> $DIR/tests/fixture/at-rule/supports/input.css:77:21 + | +77 | @supports (func(10, 20, 40)) { + | ^^ + +error: Number + --> $DIR/tests/fixture/at-rule/supports/input.css:77:21 + | +77 | @supports (func(10, 20, 40)) { + | ^^ + +error: Value + --> $DIR/tests/fixture/at-rule/supports/input.css:77:23 + | +77 | @supports (func(10, 20, 40)) { + | ^ + +error: Delimiter + --> $DIR/tests/fixture/at-rule/supports/input.css:77:23 + | +77 | @supports (func(10, 20, 40)) { + | ^ + +error: Value + --> $DIR/tests/fixture/at-rule/supports/input.css:77:25 + | +77 | @supports (func(10, 20, 40)) { + | ^^ + +error: Number + --> $DIR/tests/fixture/at-rule/supports/input.css:77:25 + | +77 | @supports (func(10, 20, 40)) { + | ^^ + +error: SimpleBlock + --> $DIR/tests/fixture/at-rule/supports/input.css:77:30 + | +77 | @supports (func(10, 20, 40)) { + | ______________________________^ +78 | | * { background: red; } +79 | | } + | |_^ + +error: Rule + --> $DIR/tests/fixture/at-rule/supports/input.css:78:5 + | +78 | * { background: red; } + | ^^^^^^^^^^^^^^^^^^^^^^ + +error: QualifiedRule + --> $DIR/tests/fixture/at-rule/supports/input.css:78:5 + | +78 | * { background: red; } + | ^^^^^^^^^^^^^^^^^^^^^^ + +error: SelectorList + --> $DIR/tests/fixture/at-rule/supports/input.css:78:5 + | +78 | * { background: red; } + | ^ + +error: ComplexSelector + --> $DIR/tests/fixture/at-rule/supports/input.css:78:5 + | +78 | * { background: red; } + | ^ + +error: CompoundSelector + --> $DIR/tests/fixture/at-rule/supports/input.css:78:5 + | +78 | * { background: red; } + | ^ + +error: TypeSelector + --> $DIR/tests/fixture/at-rule/supports/input.css:78:5 + | +78 | * { background: red; } + | ^ + +error: UniversalSelector + --> $DIR/tests/fixture/at-rule/supports/input.css:78:5 + | +78 | * { background: red; } + | ^ + +error: SimpleBlock + --> $DIR/tests/fixture/at-rule/supports/input.css:78:7 + | +78 | * { background: red; } + | ^^^^^^^^^^^^^^^^^^^^ + +error: StyleBlock + --> $DIR/tests/fixture/at-rule/supports/input.css:78:9 + | +78 | * { background: red; } + | ^^^^^^^^^^^^^^^ + +error: Declaration + --> $DIR/tests/fixture/at-rule/supports/input.css:78:9 + | +78 | * { background: red; } + | ^^^^^^^^^^^^^^^ + +error: DeclarationName + --> $DIR/tests/fixture/at-rule/supports/input.css:78:9 + | +78 | * { background: red; } + | ^^^^^^^^^^ + +error: Ident + --> $DIR/tests/fixture/at-rule/supports/input.css:78:9 + | +78 | * { background: red; } + | ^^^^^^^^^^ + +error: Value + --> $DIR/tests/fixture/at-rule/supports/input.css:78:21 + | +78 | * { background: red; } + | ^^^ + +error: Ident + --> $DIR/tests/fixture/at-rule/supports/input.css:78:21 + | +78 | * { background: red; } + | ^^^ + +error: Rule + --> $DIR/tests/fixture/at-rule/supports/input.css:81:1 + | +81 | / @supports ( func( 10 , 20 , 40 ) ) { +82 | | * { background: red; } +83 | | } + | |_^ + +error: AtRule + --> $DIR/tests/fixture/at-rule/supports/input.css:81:1 + | +81 | / @supports ( func( 10 , 20 , 40 ) ) { +82 | | * { background: red; } +83 | | } + | |_^ + +error: SupportsRule + --> $DIR/tests/fixture/at-rule/supports/input.css:81:1 + | +81 | / @supports ( func( 10 , 20 , 40 ) ) { +82 | | * { background: red; } +83 | | } + | |_^ + +error: SupportsCondition + --> $DIR/tests/fixture/at-rule/supports/input.css:81:11 + | +81 | @supports ( func( 10 , 20 , 40 ) ) { + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +error: SupportsConditionType + --> $DIR/tests/fixture/at-rule/supports/input.css:81:15 + | +81 | @supports ( func( 10 , 20 , 40 ) ) { + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +error: SupportsInParens + --> $DIR/tests/fixture/at-rule/supports/input.css:81:15 + | +81 | @supports ( func( 10 , 20 , 40 ) ) { + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +error: SupportsCondition + --> $DIR/tests/fixture/at-rule/supports/input.css:81:15 + | +81 | @supports ( func( 10 , 20 , 40 ) ) { + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +error: Function + --> $DIR/tests/fixture/at-rule/supports/input.css:81:15 + | +81 | @supports ( func( 10 , 20 , 40 ) ) { + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +error: Ident + --> $DIR/tests/fixture/at-rule/supports/input.css:81:15 + | +81 | @supports ( func( 10 , 20 , 40 ) ) { + | ^^^^ + +error: Value + --> $DIR/tests/fixture/at-rule/supports/input.css:81:23 + | +81 | @supports ( func( 10 , 20 , 40 ) ) { + | ^^ + +error: Number + --> $DIR/tests/fixture/at-rule/supports/input.css:81:23 + | +81 | @supports ( func( 10 , 20 , 40 ) ) { + | ^^ + +error: Value + --> $DIR/tests/fixture/at-rule/supports/input.css:81:28 + | +81 | @supports ( func( 10 , 20 , 40 ) ) { + | ^ + +error: Delimiter + --> $DIR/tests/fixture/at-rule/supports/input.css:81:28 + | +81 | @supports ( func( 10 , 20 , 40 ) ) { + | ^ + +error: Value + --> $DIR/tests/fixture/at-rule/supports/input.css:81:32 + | +81 | @supports ( func( 10 , 20 , 40 ) ) { + | ^^ + +error: Number + --> $DIR/tests/fixture/at-rule/supports/input.css:81:32 + | +81 | @supports ( func( 10 , 20 , 40 ) ) { + | ^^ + +error: Value + --> $DIR/tests/fixture/at-rule/supports/input.css:81:37 + | +81 | @supports ( func( 10 , 20 , 40 ) ) { + | ^ + +error: Delimiter + --> $DIR/tests/fixture/at-rule/supports/input.css:81:37 + | +81 | @supports ( func( 10 , 20 , 40 ) ) { + | ^ + +error: Value + --> $DIR/tests/fixture/at-rule/supports/input.css:81:41 + | +81 | @supports ( func( 10 , 20 , 40 ) ) { + | ^^ + +error: Number + --> $DIR/tests/fixture/at-rule/supports/input.css:81:41 + | +81 | @supports ( func( 10 , 20 , 40 ) ) { + | ^^ + +error: SimpleBlock + --> $DIR/tests/fixture/at-rule/supports/input.css:81:51 + | +81 | @supports ( func( 10 , 20 , 40 ) ) { + | ___________________________________________________^ +82 | | * { background: red; } +83 | | } + | |_^ + +error: Rule + --> $DIR/tests/fixture/at-rule/supports/input.css:82:5 + | +82 | * { background: red; } + | ^^^^^^^^^^^^^^^^^^^^^^ + +error: QualifiedRule + --> $DIR/tests/fixture/at-rule/supports/input.css:82:5 + | +82 | * { background: red; } + | ^^^^^^^^^^^^^^^^^^^^^^ + +error: SelectorList + --> $DIR/tests/fixture/at-rule/supports/input.css:82:5 + | +82 | * { background: red; } + | ^ + +error: ComplexSelector + --> $DIR/tests/fixture/at-rule/supports/input.css:82:5 + | +82 | * { background: red; } + | ^ + +error: CompoundSelector + --> $DIR/tests/fixture/at-rule/supports/input.css:82:5 + | +82 | * { background: red; } + | ^ + +error: TypeSelector + --> $DIR/tests/fixture/at-rule/supports/input.css:82:5 + | +82 | * { background: red; } + | ^ + +error: UniversalSelector + --> $DIR/tests/fixture/at-rule/supports/input.css:82:5 + | +82 | * { background: red; } + | ^ + +error: SimpleBlock + --> $DIR/tests/fixture/at-rule/supports/input.css:82:7 + | +82 | * { background: red; } + | ^^^^^^^^^^^^^^^^^^^^ + +error: StyleBlock + --> $DIR/tests/fixture/at-rule/supports/input.css:82:9 + | +82 | * { background: red; } + | ^^^^^^^^^^^^^^^ + +error: Declaration + --> $DIR/tests/fixture/at-rule/supports/input.css:82:9 + | +82 | * { background: red; } + | ^^^^^^^^^^^^^^^ + +error: DeclarationName + --> $DIR/tests/fixture/at-rule/supports/input.css:82:9 + | +82 | * { background: red; } + | ^^^^^^^^^^ + +error: Ident + --> $DIR/tests/fixture/at-rule/supports/input.css:82:9 + | +82 | * { background: red; } + | ^^^^^^^^^^ + +error: Value + --> $DIR/tests/fixture/at-rule/supports/input.css:82:21 + | +82 | * { background: red; } + | ^^^ + +error: Ident + --> $DIR/tests/fixture/at-rule/supports/input.css:82:21 + | +82 | * { background: red; } + | ^^^ + +error: Rule + --> $DIR/tests/fixture/at-rule/supports/input.css:85:1 + | +85 | / @supports (animation-name: test) { +86 | | @-custom-keyframe anim { +87 | | from { +88 | | color: black; +... | +93 | | } +94 | | } + | |_^ + +error: AtRule + --> $DIR/tests/fixture/at-rule/supports/input.css:85:1 + | +85 | / @supports (animation-name: test) { +86 | | @-custom-keyframe anim { +87 | | from { +88 | | color: black; +... | +93 | | } +94 | | } + | |_^ + +error: SupportsRule + --> $DIR/tests/fixture/at-rule/supports/input.css:85:1 + | +85 | / @supports (animation-name: test) { +86 | | @-custom-keyframe anim { +87 | | from { +88 | | color: black; +... | +93 | | } +94 | | } + | |_^ + +error: SupportsCondition + --> $DIR/tests/fixture/at-rule/supports/input.css:85:11 + | +85 | @supports (animation-name: test) { + | ^^^^^^^^^^^^^^^^^^^^^^ + +error: SupportsConditionType + --> $DIR/tests/fixture/at-rule/supports/input.css:85:12 + | +85 | @supports (animation-name: test) { + | ^^^^^^^^^^^^^^^^^^^^ + +error: SupportsInParens + --> $DIR/tests/fixture/at-rule/supports/input.css:85:12 + | +85 | @supports (animation-name: test) { + | ^^^^^^^^^^^^^^^^^^^^ + +error: SupportsFeature + --> $DIR/tests/fixture/at-rule/supports/input.css:85:12 + | +85 | @supports (animation-name: test) { + | ^^^^^^^^^^^^^^^^^^^^ + +error: Declaration + --> $DIR/tests/fixture/at-rule/supports/input.css:85:12 + | +85 | @supports (animation-name: test) { + | ^^^^^^^^^^^^^^^^^^^^ + +error: DeclarationName + --> $DIR/tests/fixture/at-rule/supports/input.css:85:12 + | +85 | @supports (animation-name: test) { + | ^^^^^^^^^^^^^^ + +error: Ident + --> $DIR/tests/fixture/at-rule/supports/input.css:85:12 + | +85 | @supports (animation-name: test) { + | ^^^^^^^^^^^^^^ + +error: Value + --> $DIR/tests/fixture/at-rule/supports/input.css:85:28 + | +85 | @supports (animation-name: test) { + | ^^^^ + +error: Ident + --> $DIR/tests/fixture/at-rule/supports/input.css:85:28 + | +85 | @supports (animation-name: test) { + | ^^^^ + +error: SimpleBlock + --> $DIR/tests/fixture/at-rule/supports/input.css:85:34 + | +85 | @supports (animation-name: test) { + | __________________________________^ +86 | | @-custom-keyframe anim { +87 | | from { +88 | | color: black; +... | +93 | | } +94 | | } + | |_^ + +error: Rule + --> $DIR/tests/fixture/at-rule/supports/input.css:86:5 + | +86 | / @-custom-keyframe anim { +87 | | from { +88 | | color: black; +89 | | } +... | +92 | | } +93 | | } + | |_____^ + +error: AtRule + --> $DIR/tests/fixture/at-rule/supports/input.css:86:5 + | +86 | / @-custom-keyframe anim { +87 | | from { +88 | | color: black; +89 | | } +... | +92 | | } +93 | | } + | |_____^ + +error: UnknownAtRule + --> $DIR/tests/fixture/at-rule/supports/input.css:86:5 + | +86 | / @-custom-keyframe anim { +87 | | from { +88 | | color: black; +89 | | } +... | +92 | | } +93 | | } + | |_____^ + +error: AtRuleName + --> $DIR/tests/fixture/at-rule/supports/input.css:86:6 + | +86 | @-custom-keyframe anim { + | ^^^^^^^^^^^^^^^^ + +error: Ident + --> $DIR/tests/fixture/at-rule/supports/input.css:86:6 + | +86 | @-custom-keyframe anim { + | ^^^^^^^^^^^^^^^^ + +error: Value + --> $DIR/tests/fixture/at-rule/supports/input.css:86:22 + | +86 | @-custom-keyframe anim { + | ^ + +error: WhiteSpace { value: Atom(' ' type=inline) } + --> $DIR/tests/fixture/at-rule/supports/input.css:86:22 + | +86 | @-custom-keyframe anim { + | ^ + +error: Value + --> $DIR/tests/fixture/at-rule/supports/input.css:86:23 + | +86 | @-custom-keyframe anim { + | ^^^^ + +error: Ident { value: Atom('anim' type=inline), raw: Atom('anim' type=inline) } + --> $DIR/tests/fixture/at-rule/supports/input.css:86:23 + | +86 | @-custom-keyframe anim { + | ^^^^ + +error: Value + --> $DIR/tests/fixture/at-rule/supports/input.css:86:27 + | +86 | @-custom-keyframe anim { + | ^ + +error: WhiteSpace { value: Atom(' ' type=inline) } + --> $DIR/tests/fixture/at-rule/supports/input.css:86:27 + | +86 | @-custom-keyframe anim { + | ^ + +error: SimpleBlock + --> $DIR/tests/fixture/at-rule/supports/input.css:86:28 + | +86 | @-custom-keyframe anim { + | ____________________________^ +87 | | from { +88 | | color: black; +89 | | } +... | +92 | | } +93 | | } + | |_____^ + +error: Value + --> $DIR/tests/fixture/at-rule/supports/input.css:86:29 + | +86 | @-custom-keyframe anim { + | _____________________________^ +87 | | from { + | |________^ + +error: WhiteSpace { value: Atom(' + ' type=dynamic) } + --> $DIR/tests/fixture/at-rule/supports/input.css:86:29 + | +86 | @-custom-keyframe anim { + | _____________________________^ +87 | | from { + | |________^ + +error: Value + --> $DIR/tests/fixture/at-rule/supports/input.css:87:9 + | +87 | from { + | ^^^^ + +error: Ident { value: Atom('from' type=static), raw: Atom('from' type=static) } + --> $DIR/tests/fixture/at-rule/supports/input.css:87:9 + | +87 | from { + | ^^^^ + +error: Value + --> $DIR/tests/fixture/at-rule/supports/input.css:87:13 + | +87 | from { + | ^ + +error: WhiteSpace { value: Atom(' ' type=inline) } + --> $DIR/tests/fixture/at-rule/supports/input.css:87:13 + | +87 | from { + | ^ + +error: Value + --> $DIR/tests/fixture/at-rule/supports/input.css:87:14 + | +87 | from { + | ______________^ +88 | | color: black; +89 | | } + | |_________^ + +error: SimpleBlock + --> $DIR/tests/fixture/at-rule/supports/input.css:87:14 + | +87 | from { + | ______________^ +88 | | color: black; +89 | | } + | |_________^ + +error: Value + --> $DIR/tests/fixture/at-rule/supports/input.css:87:15 + | +87 | from { + | _______________^ +88 | | color: black; + | |____________^ + +error: WhiteSpace { value: Atom(' + ' type=dynamic) } + --> $DIR/tests/fixture/at-rule/supports/input.css:87:15 + | +87 | from { + | _______________^ +88 | | color: black; + | |____________^ + +error: Value + --> $DIR/tests/fixture/at-rule/supports/input.css:88:13 + | +88 | color: black; + | ^^^^^ + +error: Ident { value: Atom('color' type=inline), raw: Atom('color' type=inline) } + --> $DIR/tests/fixture/at-rule/supports/input.css:88:13 + | +88 | color: black; + | ^^^^^ + +error: Value + --> $DIR/tests/fixture/at-rule/supports/input.css:88:18 + | +88 | color: black; + | ^ + +error: Colon + --> $DIR/tests/fixture/at-rule/supports/input.css:88:18 + | +88 | color: black; + | ^ + +error: Value + --> $DIR/tests/fixture/at-rule/supports/input.css:88:19 + | +88 | color: black; + | ^ + +error: WhiteSpace { value: Atom(' ' type=inline) } + --> $DIR/tests/fixture/at-rule/supports/input.css:88:19 + | +88 | color: black; + | ^ + +error: Value + --> $DIR/tests/fixture/at-rule/supports/input.css:88:20 + | +88 | color: black; + | ^^^^^ + +error: Ident { value: Atom('black' type=inline), raw: Atom('black' type=inline) } + --> $DIR/tests/fixture/at-rule/supports/input.css:88:20 + | +88 | color: black; + | ^^^^^ + +error: Value + --> $DIR/tests/fixture/at-rule/supports/input.css:88:25 + | +88 | color: black; + | ^ + +error: Semi + --> $DIR/tests/fixture/at-rule/supports/input.css:88:25 + | +88 | color: black; + | ^ + +error: Value + --> $DIR/tests/fixture/at-rule/supports/input.css:88:26 + | +88 | color: black; + | __________________________^ +89 | | } + | |________^ + +error: WhiteSpace { value: Atom(' + ' type=dynamic) } + --> $DIR/tests/fixture/at-rule/supports/input.css:88:26 + | +88 | color: black; + | __________________________^ +89 | | } + | |________^ + +error: Value + --> $DIR/tests/fixture/at-rule/supports/input.css:89:10 + | +89 | } + | __________^ +90 | | to { + | |________^ + +error: WhiteSpace { value: Atom(' + ' type=dynamic) } + --> $DIR/tests/fixture/at-rule/supports/input.css:89:10 + | +89 | } + | __________^ +90 | | to { + | |________^ + +error: Value + --> $DIR/tests/fixture/at-rule/supports/input.css:90:9 + | +90 | to { + | ^^ + +error: Ident { value: Atom('to' type=inline), raw: Atom('to' type=inline) } + --> $DIR/tests/fixture/at-rule/supports/input.css:90:9 + | +90 | to { + | ^^ + +error: Value + --> $DIR/tests/fixture/at-rule/supports/input.css:90:11 + | +90 | to { + | ^ + +error: WhiteSpace { value: Atom(' ' type=inline) } + --> $DIR/tests/fixture/at-rule/supports/input.css:90:11 + | +90 | to { + | ^ + +error: Value + --> $DIR/tests/fixture/at-rule/supports/input.css:90:12 + | +90 | to { + | ____________^ +91 | | color: white +92 | | } + | |_________^ + +error: SimpleBlock + --> $DIR/tests/fixture/at-rule/supports/input.css:90:12 + | +90 | to { + | ____________^ +91 | | color: white +92 | | } + | |_________^ + +error: Value + --> $DIR/tests/fixture/at-rule/supports/input.css:90:13 + | +90 | to { + | _____________^ +91 | | color: white + | |____________^ + +error: WhiteSpace { value: Atom(' + ' type=dynamic) } + --> $DIR/tests/fixture/at-rule/supports/input.css:90:13 + | +90 | to { + | _____________^ +91 | | color: white + | |____________^ + +error: Value + --> $DIR/tests/fixture/at-rule/supports/input.css:91:13 + | +91 | color: white + | ^^^^^ + +error: Ident { value: Atom('color' type=inline), raw: Atom('color' type=inline) } + --> $DIR/tests/fixture/at-rule/supports/input.css:91:13 + | +91 | color: white + | ^^^^^ + +error: Value + --> $DIR/tests/fixture/at-rule/supports/input.css:91:18 + | +91 | color: white + | ^ + +error: Colon + --> $DIR/tests/fixture/at-rule/supports/input.css:91:18 + | +91 | color: white + | ^ + +error: Value + --> $DIR/tests/fixture/at-rule/supports/input.css:91:19 + | +91 | color: white + | ^ + +error: WhiteSpace { value: Atom(' ' type=inline) } + --> $DIR/tests/fixture/at-rule/supports/input.css:91:19 + | +91 | color: white + | ^ + +error: Value + --> $DIR/tests/fixture/at-rule/supports/input.css:91:20 + | +91 | color: white + | ^^^^^ + +error: Ident { value: Atom('white' type=inline), raw: Atom('white' type=inline) } + --> $DIR/tests/fixture/at-rule/supports/input.css:91:20 + | +91 | color: white + | ^^^^^ + +error: Value + --> $DIR/tests/fixture/at-rule/supports/input.css:91:25 + | +91 | color: white + | _________________________^ +92 | | } + | |________^ + +error: WhiteSpace { value: Atom(' + ' type=dynamic) } + --> $DIR/tests/fixture/at-rule/supports/input.css:91:25 + | +91 | color: white + | _________________________^ +92 | | } + | |________^ + +error: Value + --> $DIR/tests/fixture/at-rule/supports/input.css:92:10 + | +92 | } + | __________^ +93 | | } + | |____^ + +error: WhiteSpace { value: Atom(' + ' type=inline) } + --> $DIR/tests/fixture/at-rule/supports/input.css:92:10 + | +92 | } + | __________^ +93 | | } + | |____^ + +error: Rule + --> $DIR/tests/fixture/at-rule/supports/input.css:96:1 + | +96 | / @supports (--var) { +97 | | * { background: red; } +98 | | } + | |_^ + +error: AtRule + --> $DIR/tests/fixture/at-rule/supports/input.css:96:1 + | +96 | / @supports (--var) { +97 | | * { background: red; } +98 | | } + | |_^ + +error: SupportsRule + --> $DIR/tests/fixture/at-rule/supports/input.css:96:1 + | +96 | / @supports (--var) { +97 | | * { background: red; } +98 | | } + | |_^ + +error: SupportsCondition + --> $DIR/tests/fixture/at-rule/supports/input.css:96:11 + | +96 | @supports (--var) { + | ^^^^^^^ + +error: SupportsConditionType + --> $DIR/tests/fixture/at-rule/supports/input.css:96:11 + | +96 | @supports (--var) { + | ^^^^^^^ + +error: SupportsInParens + --> $DIR/tests/fixture/at-rule/supports/input.css:96:11 + | +96 | @supports (--var) { + | ^^^^^^^ + +error: SimpleBlock + --> $DIR/tests/fixture/at-rule/supports/input.css:96:11 + | +96 | @supports (--var) { + | ^^^^^^^ + +error: Value + --> $DIR/tests/fixture/at-rule/supports/input.css:96:12 + | +96 | @supports (--var) { + | ^^^^^ + +error: Ident { value: Atom('--var' type=inline), raw: Atom('--var' type=inline) } + --> $DIR/tests/fixture/at-rule/supports/input.css:96:12 + | +96 | @supports (--var) { + | ^^^^^ + +error: SimpleBlock + --> $DIR/tests/fixture/at-rule/supports/input.css:96:19 + | +96 | @supports (--var) { + | ___________________^ +97 | | * { background: red; } +98 | | } + | |_^ + +error: Rule + --> $DIR/tests/fixture/at-rule/supports/input.css:97:5 + | +97 | * { background: red; } + | ^^^^^^^^^^^^^^^^^^^^^^ + +error: QualifiedRule + --> $DIR/tests/fixture/at-rule/supports/input.css:97:5 + | +97 | * { background: red; } + | ^^^^^^^^^^^^^^^^^^^^^^ + +error: SelectorList + --> $DIR/tests/fixture/at-rule/supports/input.css:97:5 + | +97 | * { background: red; } + | ^ + +error: ComplexSelector + --> $DIR/tests/fixture/at-rule/supports/input.css:97:5 + | +97 | * { background: red; } + | ^ + +error: CompoundSelector + --> $DIR/tests/fixture/at-rule/supports/input.css:97:5 + | +97 | * { background: red; } + | ^ + +error: TypeSelector + --> $DIR/tests/fixture/at-rule/supports/input.css:97:5 + | +97 | * { background: red; } + | ^ + +error: UniversalSelector + --> $DIR/tests/fixture/at-rule/supports/input.css:97:5 + | +97 | * { background: red; } + | ^ + +error: SimpleBlock + --> $DIR/tests/fixture/at-rule/supports/input.css:97:7 + | +97 | * { background: red; } + | ^^^^^^^^^^^^^^^^^^^^ + +error: StyleBlock + --> $DIR/tests/fixture/at-rule/supports/input.css:97:9 + | +97 | * { background: red; } + | ^^^^^^^^^^^^^^^ + +error: Declaration + --> $DIR/tests/fixture/at-rule/supports/input.css:97:9 + | +97 | * { background: red; } + | ^^^^^^^^^^^^^^^ + +error: DeclarationName + --> $DIR/tests/fixture/at-rule/supports/input.css:97:9 + | +97 | * { background: red; } + | ^^^^^^^^^^ + +error: Ident + --> $DIR/tests/fixture/at-rule/supports/input.css:97:9 + | +97 | * { background: red; } + | ^^^^^^^^^^ + +error: Value + --> $DIR/tests/fixture/at-rule/supports/input.css:97:21 + | +97 | * { background: red; } + | ^^^ + +error: Ident + --> $DIR/tests/fixture/at-rule/supports/input.css:97:21 + | +97 | * { background: red; } + | ^^^ + +error: Rule + --> $DIR/tests/fixture/at-rule/supports/input.css:100:1 + | +100 | / @supports (--foo: green) { +101 | | body { +102 | | color: var(--varName); +103 | | } +104 | | } + | |_^ + +error: AtRule + --> $DIR/tests/fixture/at-rule/supports/input.css:100:1 + | +100 | / @supports (--foo: green) { +101 | | body { +102 | | color: var(--varName); +103 | | } +104 | | } + | |_^ + +error: SupportsRule + --> $DIR/tests/fixture/at-rule/supports/input.css:100:1 + | +100 | / @supports (--foo: green) { +101 | | body { +102 | | color: var(--varName); +103 | | } +104 | | } + | |_^ + +error: SupportsCondition + --> $DIR/tests/fixture/at-rule/supports/input.css:100:11 + | +100 | @supports (--foo: green) { + | ^^^^^^^^^^^^^^ + +error: SupportsConditionType + --> $DIR/tests/fixture/at-rule/supports/input.css:100:12 + | +100 | @supports (--foo: green) { + | ^^^^^^^^^^^^ + +error: SupportsInParens + --> $DIR/tests/fixture/at-rule/supports/input.css:100:12 + | +100 | @supports (--foo: green) { + | ^^^^^^^^^^^^ + +error: SupportsFeature + --> $DIR/tests/fixture/at-rule/supports/input.css:100:12 + | +100 | @supports (--foo: green) { + | ^^^^^^^^^^^^ + +error: Declaration + --> $DIR/tests/fixture/at-rule/supports/input.css:100:12 + | +100 | @supports (--foo: green) { + | ^^^^^^^^^^^^ + +error: DeclarationName + --> $DIR/tests/fixture/at-rule/supports/input.css:100:12 + | +100 | @supports (--foo: green) { + | ^^^^^ + +error: DashedIdent + --> $DIR/tests/fixture/at-rule/supports/input.css:100:12 + | +100 | @supports (--foo: green) { + | ^^^^^ + +error: Value + --> $DIR/tests/fixture/at-rule/supports/input.css:100:19 + | +100 | @supports (--foo: green) { + | ^^^^^ + +error: Ident { value: Atom('green' type=inline), raw: Atom('green' type=inline) } + --> $DIR/tests/fixture/at-rule/supports/input.css:100:19 + | +100 | @supports (--foo: green) { + | ^^^^^ + +error: SimpleBlock + --> $DIR/tests/fixture/at-rule/supports/input.css:100:26 + | +100 | @supports (--foo: green) { + | __________________________^ +101 | | body { +102 | | color: var(--varName); +103 | | } +104 | | } + | |_^ + +error: Rule + --> $DIR/tests/fixture/at-rule/supports/input.css:101:5 + | +101 | / body { +102 | | color: var(--varName); +103 | | } + | |_____^ + +error: QualifiedRule + --> $DIR/tests/fixture/at-rule/supports/input.css:101:5 + | +101 | / body { +102 | | color: var(--varName); +103 | | } + | |_____^ + +error: SelectorList + --> $DIR/tests/fixture/at-rule/supports/input.css:101:5 + | +101 | body { + | ^^^^ + +error: ComplexSelector + --> $DIR/tests/fixture/at-rule/supports/input.css:101:5 + | +101 | body { + | ^^^^ + +error: CompoundSelector + --> $DIR/tests/fixture/at-rule/supports/input.css:101:5 + | +101 | body { + | ^^^^ + +error: TypeSelector + --> $DIR/tests/fixture/at-rule/supports/input.css:101:5 + | +101 | body { + | ^^^^ + +error: TagNameSelector + --> $DIR/tests/fixture/at-rule/supports/input.css:101:5 + | +101 | body { + | ^^^^ + +error: WqName + --> $DIR/tests/fixture/at-rule/supports/input.css:101:5 + | +101 | body { + | ^^^^ + +error: Ident + --> $DIR/tests/fixture/at-rule/supports/input.css:101:5 + | +101 | body { + | ^^^^ + +error: SimpleBlock + --> $DIR/tests/fixture/at-rule/supports/input.css:101:10 + | +101 | body { + | __________^ +102 | | color: var(--varName); +103 | | } + | |_____^ + +error: StyleBlock + --> $DIR/tests/fixture/at-rule/supports/input.css:102:9 + | +102 | color: var(--varName); + | ^^^^^^^^^^^^^^^^^^^^^ + +error: Declaration + --> $DIR/tests/fixture/at-rule/supports/input.css:102:9 + | +102 | color: var(--varName); + | ^^^^^^^^^^^^^^^^^^^^^ + +error: DeclarationName + --> $DIR/tests/fixture/at-rule/supports/input.css:102:9 + | +102 | color: var(--varName); + | ^^^^^ + +error: Ident + --> $DIR/tests/fixture/at-rule/supports/input.css:102:9 + | +102 | color: var(--varName); + | ^^^^^ + +error: Value + --> $DIR/tests/fixture/at-rule/supports/input.css:102:16 + | +102 | color: var(--varName); + | ^^^^^^^^^^^^^^ + +error: Function + --> $DIR/tests/fixture/at-rule/supports/input.css:102:16 + | +102 | color: var(--varName); + | ^^^^^^^^^^^^^^ + +error: Ident + --> $DIR/tests/fixture/at-rule/supports/input.css:102:16 + | +102 | color: var(--varName); + | ^^^ + +error: Value + --> $DIR/tests/fixture/at-rule/supports/input.css:102:20 + | +102 | color: var(--varName); + | ^^^^^^^^^ + +error: DashedIdent + --> $DIR/tests/fixture/at-rule/supports/input.css:102:20 + | +102 | color: var(--varName); + | ^^^^^^^^^ + +error: Rule + --> $DIR/tests/fixture/at-rule/supports/input.css:106:1 + | +106 | / @supports not selector(:is(a, b)) { +107 | | ul > li, +108 | | ol > li { +109 | | color: red; +110 | | } +111 | | } + | |_^ + +error: AtRule + --> $DIR/tests/fixture/at-rule/supports/input.css:106:1 + | +106 | / @supports not selector(:is(a, b)) { +107 | | ul > li, +108 | | ol > li { +109 | | color: red; +110 | | } +111 | | } + | |_^ + +error: SupportsRule + --> $DIR/tests/fixture/at-rule/supports/input.css:106:1 + | +106 | / @supports not selector(:is(a, b)) { +107 | | ul > li, +108 | | ol > li { +109 | | color: red; +110 | | } +111 | | } + | |_^ + +error: SupportsCondition + --> $DIR/tests/fixture/at-rule/supports/input.css:106:11 + | +106 | @supports not selector(:is(a, b)) { + | ^^^^^^^^^^^^^^^^^^^^^^^ + +error: SupportsConditionType + --> $DIR/tests/fixture/at-rule/supports/input.css:106:11 + | +106 | @supports not selector(:is(a, b)) { + | ^^^^^^^^^^^^^^^^^^^^^^^ + +error: SupportsNot + --> $DIR/tests/fixture/at-rule/supports/input.css:106:11 + | +106 | @supports not selector(:is(a, b)) { + | ^^^^^^^^^^^^^^^^^^^^^^^ + +error: SupportsInParens + --> $DIR/tests/fixture/at-rule/supports/input.css:106:15 + | +106 | @supports not selector(:is(a, b)) { + | ^^^^^^^^^^^^^^^^^^^ + +error: SupportsFeature + --> $DIR/tests/fixture/at-rule/supports/input.css:106:15 + | +106 | @supports not selector(:is(a, b)) { + | ^^^^^^^^^^^^^^^^^^^ + +error: Function + --> $DIR/tests/fixture/at-rule/supports/input.css:106:15 + | +106 | @supports not selector(:is(a, b)) { + | ^^^^^^^^^^^^^^^^^^^ + +error: Ident + --> $DIR/tests/fixture/at-rule/supports/input.css:106:15 + | +106 | @supports not selector(:is(a, b)) { + | ^^^^^^^^ + +error: Value + --> $DIR/tests/fixture/at-rule/supports/input.css:106:24 + | +106 | @supports not selector(:is(a, b)) { + | ^^^^^^^^^ + +error: ComplexSelector + --> $DIR/tests/fixture/at-rule/supports/input.css:106:24 + | +106 | @supports not selector(:is(a, b)) { + | ^^^^^^^^^ + +error: CompoundSelector + --> $DIR/tests/fixture/at-rule/supports/input.css:106:24 + | +106 | @supports not selector(:is(a, b)) { + | ^^^^^^^^^ + +error: SubclassSelector + --> $DIR/tests/fixture/at-rule/supports/input.css:106:24 + | +106 | @supports not selector(:is(a, b)) { + | ^^^^^^^^^ + +error: PseudoClassSelector + --> $DIR/tests/fixture/at-rule/supports/input.css:106:24 + | +106 | @supports not selector(:is(a, b)) { + | ^^^^^^^^^ + +error: Ident + --> $DIR/tests/fixture/at-rule/supports/input.css:106:25 + | +106 | @supports not selector(:is(a, b)) { + | ^^ + +error: PseudoClassSelectorChildren + --> $DIR/tests/fixture/at-rule/supports/input.css:106:28 + | +106 | @supports not selector(:is(a, b)) { + | ^^^^ + +error: SelectorList + --> $DIR/tests/fixture/at-rule/supports/input.css:106:28 + | +106 | @supports not selector(:is(a, b)) { + | ^^^^ + +error: ComplexSelector + --> $DIR/tests/fixture/at-rule/supports/input.css:106:28 + | +106 | @supports not selector(:is(a, b)) { + | ^ + +error: CompoundSelector + --> $DIR/tests/fixture/at-rule/supports/input.css:106:28 + | +106 | @supports not selector(:is(a, b)) { + | ^ + +error: TypeSelector + --> $DIR/tests/fixture/at-rule/supports/input.css:106:28 + | +106 | @supports not selector(:is(a, b)) { + | ^ + +error: TagNameSelector + --> $DIR/tests/fixture/at-rule/supports/input.css:106:28 + | +106 | @supports not selector(:is(a, b)) { + | ^ + +error: WqName + --> $DIR/tests/fixture/at-rule/supports/input.css:106:28 + | +106 | @supports not selector(:is(a, b)) { + | ^ + +error: Ident + --> $DIR/tests/fixture/at-rule/supports/input.css:106:28 + | +106 | @supports not selector(:is(a, b)) { + | ^ + +error: ComplexSelector + --> $DIR/tests/fixture/at-rule/supports/input.css:106:31 + | +106 | @supports not selector(:is(a, b)) { + | ^ + +error: CompoundSelector + --> $DIR/tests/fixture/at-rule/supports/input.css:106:31 + | +106 | @supports not selector(:is(a, b)) { + | ^ + +error: TypeSelector + --> $DIR/tests/fixture/at-rule/supports/input.css:106:31 + | +106 | @supports not selector(:is(a, b)) { + | ^ + +error: TagNameSelector + --> $DIR/tests/fixture/at-rule/supports/input.css:106:31 + | +106 | @supports not selector(:is(a, b)) { + | ^ + +error: WqName + --> $DIR/tests/fixture/at-rule/supports/input.css:106:31 + | +106 | @supports not selector(:is(a, b)) { + | ^ + +error: Ident + --> $DIR/tests/fixture/at-rule/supports/input.css:106:31 + | +106 | @supports not selector(:is(a, b)) { + | ^ + +error: SimpleBlock + --> $DIR/tests/fixture/at-rule/supports/input.css:106:35 + | +106 | @supports not selector(:is(a, b)) { + | ___________________________________^ +107 | | ul > li, +108 | | ol > li { +109 | | color: red; +110 | | } +111 | | } + | |_^ + +error: Rule + --> $DIR/tests/fixture/at-rule/supports/input.css:107:5 + | +107 | / ul > li, +108 | | ol > li { +109 | | color: red; +110 | | } + | |_____^ + +error: QualifiedRule + --> $DIR/tests/fixture/at-rule/supports/input.css:107:5 + | +107 | / ul > li, +108 | | ol > li { +109 | | color: red; +110 | | } + | |_____^ + +error: SelectorList + --> $DIR/tests/fixture/at-rule/supports/input.css:107:5 + | +107 | / ul > li, +108 | | ol > li { + | |___________^ + +error: ComplexSelector + --> $DIR/tests/fixture/at-rule/supports/input.css:107:5 + | +107 | ul > li, + | ^^^^^^^ + +error: CompoundSelector + --> $DIR/tests/fixture/at-rule/supports/input.css:107:5 + | +107 | ul > li, + | ^^ + +error: TypeSelector + --> $DIR/tests/fixture/at-rule/supports/input.css:107:5 + | +107 | ul > li, + | ^^ + +error: TagNameSelector + --> $DIR/tests/fixture/at-rule/supports/input.css:107:5 + | +107 | ul > li, + | ^^ + +error: WqName + --> $DIR/tests/fixture/at-rule/supports/input.css:107:5 + | +107 | ul > li, + | ^^ + +error: Ident + --> $DIR/tests/fixture/at-rule/supports/input.css:107:5 + | +107 | ul > li, + | ^^ + +error: Combinator + --> $DIR/tests/fixture/at-rule/supports/input.css:107:8 + | +107 | ul > li, + | ^ + +error: CompoundSelector + --> $DIR/tests/fixture/at-rule/supports/input.css:107:10 + | +107 | ul > li, + | ^^ + +error: TypeSelector + --> $DIR/tests/fixture/at-rule/supports/input.css:107:10 + | +107 | ul > li, + | ^^ + +error: TagNameSelector + --> $DIR/tests/fixture/at-rule/supports/input.css:107:10 + | +107 | ul > li, + | ^^ + +error: WqName + --> $DIR/tests/fixture/at-rule/supports/input.css:107:10 + | +107 | ul > li, + | ^^ + +error: Ident + --> $DIR/tests/fixture/at-rule/supports/input.css:107:10 + | +107 | ul > li, + | ^^ + +error: ComplexSelector + --> $DIR/tests/fixture/at-rule/supports/input.css:108:5 + | +108 | ol > li { + | ^^^^^^^ + +error: CompoundSelector + --> $DIR/tests/fixture/at-rule/supports/input.css:108:5 + | +108 | ol > li { + | ^^ + +error: TypeSelector + --> $DIR/tests/fixture/at-rule/supports/input.css:108:5 + | +108 | ol > li { + | ^^ + +error: TagNameSelector + --> $DIR/tests/fixture/at-rule/supports/input.css:108:5 + | +108 | ol > li { + | ^^ + +error: WqName + --> $DIR/tests/fixture/at-rule/supports/input.css:108:5 + | +108 | ol > li { + | ^^ + +error: Ident + --> $DIR/tests/fixture/at-rule/supports/input.css:108:5 + | +108 | ol > li { + | ^^ + +error: Combinator + --> $DIR/tests/fixture/at-rule/supports/input.css:108:8 + | +108 | ol > li { + | ^ + +error: CompoundSelector + --> $DIR/tests/fixture/at-rule/supports/input.css:108:10 + | +108 | ol > li { + | ^^ + +error: TypeSelector + --> $DIR/tests/fixture/at-rule/supports/input.css:108:10 + | +108 | ol > li { + | ^^ + +error: TagNameSelector + --> $DIR/tests/fixture/at-rule/supports/input.css:108:10 + | +108 | ol > li { + | ^^ + +error: WqName + --> $DIR/tests/fixture/at-rule/supports/input.css:108:10 + | +108 | ol > li { + | ^^ + +error: Ident + --> $DIR/tests/fixture/at-rule/supports/input.css:108:10 + | +108 | ol > li { + | ^^ + +error: SimpleBlock + --> $DIR/tests/fixture/at-rule/supports/input.css:108:13 + | +108 | ol > li { + | _____________^ +109 | | color: red; +110 | | } + | |_____^ + +error: StyleBlock + --> $DIR/tests/fixture/at-rule/supports/input.css:109:9 + | +109 | color: red; + | ^^^^^^^^^^ + +error: Declaration + --> $DIR/tests/fixture/at-rule/supports/input.css:109:9 + | +109 | color: red; + | ^^^^^^^^^^ + +error: DeclarationName + --> $DIR/tests/fixture/at-rule/supports/input.css:109:9 + | +109 | color: red; + | ^^^^^ + +error: Ident + --> $DIR/tests/fixture/at-rule/supports/input.css:109:9 + | +109 | color: red; + | ^^^^^ + +error: Value + --> $DIR/tests/fixture/at-rule/supports/input.css:109:16 + | +109 | color: red; + | ^^^ + +error: Ident + --> $DIR/tests/fixture/at-rule/supports/input.css:109:16 + | +109 | color: red; + | ^^^ + +error: Rule + --> $DIR/tests/fixture/at-rule/supports/input.css:113:1 + | +113 | / @supports selector(:nth-child(1n of a, b)) { +114 | | :is( +115 | | :nth-child(1n of ul, ol) a, +116 | | details > summary +... | +119 | | } +120 | | } + | |_^ + +error: AtRule + --> $DIR/tests/fixture/at-rule/supports/input.css:113:1 + | +113 | / @supports selector(:nth-child(1n of a, b)) { +114 | | :is( +115 | | :nth-child(1n of ul, ol) a, +116 | | details > summary +... | +119 | | } +120 | | } + | |_^ + +error: SupportsRule + --> $DIR/tests/fixture/at-rule/supports/input.css:113:1 + | +113 | / @supports selector(:nth-child(1n of a, b)) { +114 | | :is( +115 | | :nth-child(1n of ul, ol) a, +116 | | details > summary +... | +119 | | } +120 | | } + | |_^ + +error: SupportsCondition + --> $DIR/tests/fixture/at-rule/supports/input.css:113:11 + | +113 | @supports selector(:nth-child(1n of a, b)) { + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +error: SupportsConditionType + --> $DIR/tests/fixture/at-rule/supports/input.css:113:11 + | +113 | @supports selector(:nth-child(1n of a, b)) { + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +error: SupportsInParens + --> $DIR/tests/fixture/at-rule/supports/input.css:113:11 + | +113 | @supports selector(:nth-child(1n of a, b)) { + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +error: SupportsFeature + --> $DIR/tests/fixture/at-rule/supports/input.css:113:11 + | +113 | @supports selector(:nth-child(1n of a, b)) { + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +error: Function + --> $DIR/tests/fixture/at-rule/supports/input.css:113:11 + | +113 | @supports selector(:nth-child(1n of a, b)) { + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +error: Ident + --> $DIR/tests/fixture/at-rule/supports/input.css:113:11 + | +113 | @supports selector(:nth-child(1n of a, b)) { + | ^^^^^^^^ + +error: Value + --> $DIR/tests/fixture/at-rule/supports/input.css:113:20 + | +113 | @supports selector(:nth-child(1n of a, b)) { + | ^^^^^^^^^^^^^^^^^^^^^^ + +error: ComplexSelector + --> $DIR/tests/fixture/at-rule/supports/input.css:113:20 + | +113 | @supports selector(:nth-child(1n of a, b)) { + | ^^^^^^^^^^^^^^^^^^^^^^ + +error: CompoundSelector + --> $DIR/tests/fixture/at-rule/supports/input.css:113:20 + | +113 | @supports selector(:nth-child(1n of a, b)) { + | ^^^^^^^^^^^^^^^^^^^^^^ + +error: SubclassSelector + --> $DIR/tests/fixture/at-rule/supports/input.css:113:20 + | +113 | @supports selector(:nth-child(1n of a, b)) { + | ^^^^^^^^^^^^^^^^^^^^^^ + +error: PseudoClassSelector + --> $DIR/tests/fixture/at-rule/supports/input.css:113:20 + | +113 | @supports selector(:nth-child(1n of a, b)) { + | ^^^^^^^^^^^^^^^^^^^^^^ + +error: Ident + --> $DIR/tests/fixture/at-rule/supports/input.css:113:21 + | +113 | @supports selector(:nth-child(1n of a, b)) { + | ^^^^^^^^^ + +error: PseudoClassSelectorChildren + --> $DIR/tests/fixture/at-rule/supports/input.css:113:31 + | +113 | @supports selector(:nth-child(1n of a, b)) { + | ^^^ + +error: AnPlusB + --> $DIR/tests/fixture/at-rule/supports/input.css:113:31 + | +113 | @supports selector(:nth-child(1n of a, b)) { + | ^^^ + +error: AnPlusBNotation + --> $DIR/tests/fixture/at-rule/supports/input.css:113:31 + | +113 | @supports selector(:nth-child(1n of a, b)) { + | ^^^ + +error: PseudoClassSelectorChildren + --> $DIR/tests/fixture/at-rule/supports/input.css:113:34 + | +113 | @supports selector(:nth-child(1n of a, b)) { + | ^^ + +error: Ident + --> $DIR/tests/fixture/at-rule/supports/input.css:113:34 + | +113 | @supports selector(:nth-child(1n of a, b)) { + | ^^ + +error: PseudoClassSelectorChildren + --> $DIR/tests/fixture/at-rule/supports/input.css:113:37 + | +113 | @supports selector(:nth-child(1n of a, b)) { + | ^^^^ + +error: SelectorList + --> $DIR/tests/fixture/at-rule/supports/input.css:113:37 + | +113 | @supports selector(:nth-child(1n of a, b)) { + | ^^^^ + +error: ComplexSelector + --> $DIR/tests/fixture/at-rule/supports/input.css:113:37 + | +113 | @supports selector(:nth-child(1n of a, b)) { + | ^ + +error: CompoundSelector + --> $DIR/tests/fixture/at-rule/supports/input.css:113:37 + | +113 | @supports selector(:nth-child(1n of a, b)) { + | ^ + +error: TypeSelector + --> $DIR/tests/fixture/at-rule/supports/input.css:113:37 + | +113 | @supports selector(:nth-child(1n of a, b)) { + | ^ + +error: TagNameSelector + --> $DIR/tests/fixture/at-rule/supports/input.css:113:37 + | +113 | @supports selector(:nth-child(1n of a, b)) { + | ^ + +error: WqName + --> $DIR/tests/fixture/at-rule/supports/input.css:113:37 + | +113 | @supports selector(:nth-child(1n of a, b)) { + | ^ + +error: Ident + --> $DIR/tests/fixture/at-rule/supports/input.css:113:37 + | +113 | @supports selector(:nth-child(1n of a, b)) { + | ^ + +error: ComplexSelector + --> $DIR/tests/fixture/at-rule/supports/input.css:113:40 + | +113 | @supports selector(:nth-child(1n of a, b)) { + | ^ + +error: CompoundSelector + --> $DIR/tests/fixture/at-rule/supports/input.css:113:40 + | +113 | @supports selector(:nth-child(1n of a, b)) { + | ^ + +error: TypeSelector + --> $DIR/tests/fixture/at-rule/supports/input.css:113:40 + | +113 | @supports selector(:nth-child(1n of a, b)) { + | ^ + +error: TagNameSelector + --> $DIR/tests/fixture/at-rule/supports/input.css:113:40 + | +113 | @supports selector(:nth-child(1n of a, b)) { + | ^ + +error: WqName + --> $DIR/tests/fixture/at-rule/supports/input.css:113:40 + | +113 | @supports selector(:nth-child(1n of a, b)) { + | ^ + +error: Ident + --> $DIR/tests/fixture/at-rule/supports/input.css:113:40 + | +113 | @supports selector(:nth-child(1n of a, b)) { + | ^ + +error: SimpleBlock + --> $DIR/tests/fixture/at-rule/supports/input.css:113:44 + | +113 | @supports selector(:nth-child(1n of a, b)) { + | ____________________________________________^ +114 | | :is( +115 | | :nth-child(1n of ul, ol) a, +116 | | details > summary +... | +119 | | } +120 | | } + | |_^ + +error: Rule + --> $DIR/tests/fixture/at-rule/supports/input.css:114:5 + | +114 | / :is( +115 | | :nth-child(1n of ul, ol) a, +116 | | details > summary +117 | | ) { +118 | | color: red +119 | | } + | |_____^ + +error: QualifiedRule + --> $DIR/tests/fixture/at-rule/supports/input.css:114:5 + | +114 | / :is( +115 | | :nth-child(1n of ul, ol) a, +116 | | details > summary +117 | | ) { +118 | | color: red +119 | | } + | |_____^ + +error: SelectorList + --> $DIR/tests/fixture/at-rule/supports/input.css:114:5 + | +114 | / :is( +115 | | :nth-child(1n of ul, ol) a, +116 | | details > summary +117 | | ) { + | |___^ + +error: ComplexSelector + --> $DIR/tests/fixture/at-rule/supports/input.css:114:5 + | +114 | / :is( +115 | | :nth-child(1n of ul, ol) a, +116 | | details > summary +117 | | ) { + | |___^ + +error: CompoundSelector + --> $DIR/tests/fixture/at-rule/supports/input.css:114:5 + | +114 | / :is( +115 | | :nth-child(1n of ul, ol) a, +116 | | details > summary +117 | | ) { + | |___^ + +error: SubclassSelector + --> $DIR/tests/fixture/at-rule/supports/input.css:114:5 + | +114 | / :is( +115 | | :nth-child(1n of ul, ol) a, +116 | | details > summary +117 | | ) { + | |___^ + +error: PseudoClassSelector + --> $DIR/tests/fixture/at-rule/supports/input.css:114:5 + | +114 | / :is( +115 | | :nth-child(1n of ul, ol) a, +116 | | details > summary +117 | | ) { + | |___^ + +error: Ident + --> $DIR/tests/fixture/at-rule/supports/input.css:114:6 + | +114 | :is( + | ^^ + +error: PseudoClassSelectorChildren + --> $DIR/tests/fixture/at-rule/supports/input.css:115:7 + | +115 | / :nth-child(1n of ul, ol) a, +116 | | details > summary + | |_______________________^ + +error: SelectorList + --> $DIR/tests/fixture/at-rule/supports/input.css:115:7 + | +115 | / :nth-child(1n of ul, ol) a, +116 | | details > summary + | |_______________________^ + +error: ComplexSelector + --> $DIR/tests/fixture/at-rule/supports/input.css:115:7 + | +115 | :nth-child(1n of ul, ol) a, + | ^^^^^^^^^^^^^^^^^^^^^^^^^^ + +error: CompoundSelector + --> $DIR/tests/fixture/at-rule/supports/input.css:115:7 + | +115 | :nth-child(1n of ul, ol) a, + | ^^^^^^^^^^^^^^^^^^^^^^^^ + +error: SubclassSelector + --> $DIR/tests/fixture/at-rule/supports/input.css:115:7 + | +115 | :nth-child(1n of ul, ol) a, + | ^^^^^^^^^^^^^^^^^^^^^^^^ + +error: PseudoClassSelector + --> $DIR/tests/fixture/at-rule/supports/input.css:115:7 + | +115 | :nth-child(1n of ul, ol) a, + | ^^^^^^^^^^^^^^^^^^^^^^^^ + +error: Ident + --> $DIR/tests/fixture/at-rule/supports/input.css:115:8 + | +115 | :nth-child(1n of ul, ol) a, + | ^^^^^^^^^ + +error: PseudoClassSelectorChildren + --> $DIR/tests/fixture/at-rule/supports/input.css:115:18 + | +115 | :nth-child(1n of ul, ol) a, + | ^^^ + +error: AnPlusB + --> $DIR/tests/fixture/at-rule/supports/input.css:115:18 + | +115 | :nth-child(1n of ul, ol) a, + | ^^^ + +error: AnPlusBNotation + --> $DIR/tests/fixture/at-rule/supports/input.css:115:18 + | +115 | :nth-child(1n of ul, ol) a, + | ^^^ + +error: PseudoClassSelectorChildren + --> $DIR/tests/fixture/at-rule/supports/input.css:115:21 + | +115 | :nth-child(1n of ul, ol) a, + | ^^ + +error: Ident + --> $DIR/tests/fixture/at-rule/supports/input.css:115:21 + | +115 | :nth-child(1n of ul, ol) a, + | ^^ + +error: PseudoClassSelectorChildren + --> $DIR/tests/fixture/at-rule/supports/input.css:115:24 + | +115 | :nth-child(1n of ul, ol) a, + | ^^^^^^ + +error: SelectorList + --> $DIR/tests/fixture/at-rule/supports/input.css:115:24 + | +115 | :nth-child(1n of ul, ol) a, + | ^^^^^^ + +error: ComplexSelector + --> $DIR/tests/fixture/at-rule/supports/input.css:115:24 + | +115 | :nth-child(1n of ul, ol) a, + | ^^ + +error: CompoundSelector + --> $DIR/tests/fixture/at-rule/supports/input.css:115:24 + | +115 | :nth-child(1n of ul, ol) a, + | ^^ + +error: TypeSelector + --> $DIR/tests/fixture/at-rule/supports/input.css:115:24 + | +115 | :nth-child(1n of ul, ol) a, + | ^^ + +error: TagNameSelector + --> $DIR/tests/fixture/at-rule/supports/input.css:115:24 + | +115 | :nth-child(1n of ul, ol) a, + | ^^ + +error: WqName + --> $DIR/tests/fixture/at-rule/supports/input.css:115:24 + | +115 | :nth-child(1n of ul, ol) a, + | ^^ + +error: Ident + --> $DIR/tests/fixture/at-rule/supports/input.css:115:24 + | +115 | :nth-child(1n of ul, ol) a, + | ^^ + +error: ComplexSelector + --> $DIR/tests/fixture/at-rule/supports/input.css:115:28 + | +115 | :nth-child(1n of ul, ol) a, + | ^^ + +error: CompoundSelector + --> $DIR/tests/fixture/at-rule/supports/input.css:115:28 + | +115 | :nth-child(1n of ul, ol) a, + | ^^ + +error: TypeSelector + --> $DIR/tests/fixture/at-rule/supports/input.css:115:28 + | +115 | :nth-child(1n of ul, ol) a, + | ^^ + +error: TagNameSelector + --> $DIR/tests/fixture/at-rule/supports/input.css:115:28 + | +115 | :nth-child(1n of ul, ol) a, + | ^^ + +error: WqName + --> $DIR/tests/fixture/at-rule/supports/input.css:115:28 + | +115 | :nth-child(1n of ul, ol) a, + | ^^ + +error: Ident + --> $DIR/tests/fixture/at-rule/supports/input.css:115:28 + | +115 | :nth-child(1n of ul, ol) a, + | ^^ + +error: Combinator + --> $DIR/tests/fixture/at-rule/supports/input.css:115:31 + | +115 | :nth-child(1n of ul, ol) a, + | ^ + +error: CompoundSelector + --> $DIR/tests/fixture/at-rule/supports/input.css:115:32 + | +115 | :nth-child(1n of ul, ol) a, + | ^ + +error: TypeSelector + --> $DIR/tests/fixture/at-rule/supports/input.css:115:32 + | +115 | :nth-child(1n of ul, ol) a, + | ^ + +error: TagNameSelector + --> $DIR/tests/fixture/at-rule/supports/input.css:115:32 + | +115 | :nth-child(1n of ul, ol) a, + | ^ + +error: WqName + --> $DIR/tests/fixture/at-rule/supports/input.css:115:32 + | +115 | :nth-child(1n of ul, ol) a, + | ^ + +error: Ident + --> $DIR/tests/fixture/at-rule/supports/input.css:115:32 + | +115 | :nth-child(1n of ul, ol) a, + | ^ + +error: ComplexSelector + --> $DIR/tests/fixture/at-rule/supports/input.css:116:7 + | +116 | details > summary + | ^^^^^^^^^^^^^^^^^ + +error: CompoundSelector + --> $DIR/tests/fixture/at-rule/supports/input.css:116:7 + | +116 | details > summary + | ^^^^^^^ + +error: TypeSelector + --> $DIR/tests/fixture/at-rule/supports/input.css:116:7 + | +116 | details > summary + | ^^^^^^^ + +error: TagNameSelector + --> $DIR/tests/fixture/at-rule/supports/input.css:116:7 + | +116 | details > summary + | ^^^^^^^ + +error: WqName + --> $DIR/tests/fixture/at-rule/supports/input.css:116:7 + | +116 | details > summary + | ^^^^^^^ + +error: Ident + --> $DIR/tests/fixture/at-rule/supports/input.css:116:7 + | +116 | details > summary + | ^^^^^^^ + +error: Combinator + --> $DIR/tests/fixture/at-rule/supports/input.css:116:15 + | +116 | details > summary + | ^ + +error: CompoundSelector + --> $DIR/tests/fixture/at-rule/supports/input.css:116:17 + | +116 | details > summary + | ^^^^^^^ + +error: TypeSelector + --> $DIR/tests/fixture/at-rule/supports/input.css:116:17 + | +116 | details > summary + | ^^^^^^^ + +error: TagNameSelector + --> $DIR/tests/fixture/at-rule/supports/input.css:116:17 + | +116 | details > summary + | ^^^^^^^ + +error: WqName + --> $DIR/tests/fixture/at-rule/supports/input.css:116:17 + | +116 | details > summary + | ^^^^^^^ + +error: Ident + --> $DIR/tests/fixture/at-rule/supports/input.css:116:17 + | +116 | details > summary + | ^^^^^^^ + +error: SimpleBlock + --> $DIR/tests/fixture/at-rule/supports/input.css:117:5 + | +117 | ) { + | _____^ +118 | | color: red +119 | | } + | |_____^ + +error: StyleBlock + --> $DIR/tests/fixture/at-rule/supports/input.css:118:7 + | +118 | color: red + | ^^^^^^^^^^ + +error: Declaration + --> $DIR/tests/fixture/at-rule/supports/input.css:118:7 + | +118 | color: red + | ^^^^^^^^^^ + +error: DeclarationName + --> $DIR/tests/fixture/at-rule/supports/input.css:118:7 + | +118 | color: red + | ^^^^^ + +error: Ident + --> $DIR/tests/fixture/at-rule/supports/input.css:118:7 + | +118 | color: red + | ^^^^^ + +error: Value + --> $DIR/tests/fixture/at-rule/supports/input.css:118:14 + | +118 | color: red + | ^^^ + +error: Ident + --> $DIR/tests/fixture/at-rule/supports/input.css:118:14 + | +118 | color: red + | ^^^ + diff --git a/crates/swc_css_parser/tests/recovery/at-rule/supports/no-parens/output.swc-stderr b/crates/swc_css_parser/tests/recovery/at-rule/supports/no-parens/output.swc-stderr index d90c31430e8c..cc28cb97ad34 100644 --- a/crates/swc_css_parser/tests/recovery/at-rule/supports/no-parens/output.swc-stderr +++ b/crates/swc_css_parser/tests/recovery/at-rule/supports/no-parens/output.swc-stderr @@ -1,4 +1,4 @@ -error: Expected "(" +error: Expected function or '(' token --> $DIR/tests/recovery/at-rule/supports/no-parens/input.css:1:11 | 1 | @supports display: flex {} diff --git a/crates/swc_css_visit/src/lib.rs b/crates/swc_css_visit/src/lib.rs index b5b7ae92defb..886ac9e00a01 100644 --- a/crates/swc_css_visit/src/lib.rs +++ b/crates/swc_css_visit/src/lib.rs @@ -116,6 +116,7 @@ define!({ Delimiter(Delimiter), Urange(Urange), Url(Url), + ComplexSelector(ComplexSelector), PreservedToken(TokenAndSpan), } @@ -772,10 +773,17 @@ define!({ pub enum SupportsInParens { SupportsCondition(SupportsCondition), Feature(SupportsFeature), + GeneralEnclosed(GeneralEnclosed), } pub enum SupportsFeature { Declaration(Declaration), + Function(Function), + } + + pub enum GeneralEnclosed { + Function(Function), + SimpleBlock(SimpleBlock), } pub enum ColorProfileName {