From c2b58530b691334f31214e28a4ec5312a0972673 Mon Sep 17 00:00:00 2001 From: Mike Dalessio Date: Tue, 4 Jun 2024 16:02:20 -0400 Subject: [PATCH] Improve how whitespace is consumed in complex selectors --- lib/syntax_tree/css/selectors.rb | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/lib/syntax_tree/css/selectors.rb b/lib/syntax_tree/css/selectors.rb index 32bf420..f8dbe6c 100644 --- a/lib/syntax_tree/css/selectors.rb +++ b/lib/syntax_tree/css/selectors.rb @@ -334,9 +334,14 @@ def complex_selector child_nodes = [compound_selector] loop do + maybe { consume_whitespace } + if (c = maybe { combinator }) child_nodes << c + + maybe { consume_whitespace } end + if (s = maybe { compound_selector }) child_nodes << s else @@ -363,8 +368,6 @@ def relative_selector # = [ ? * # [ * ]* ]! def compound_selector - consume_whitespace - type = maybe { type_selector } subclasses = [] @@ -401,8 +404,6 @@ def simple_selector # = '>' | '+' | '~' | [ '|' '|' ] def combinator - consume_whitespace - value = options do maybe { consume(">") } ||