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(">") } ||