@@ -504,8 +504,11 @@ export class AtRulePreludeParser {
504504 if ( content_length > 0 ) {
505505 let trimmed = trim_boundaries ( this . source , content_start , content_start + content_length )
506506 if ( trimmed ) {
507+ // Set both content fields (for .name) and value fields (for .value)
507508 this . arena . set_content_start_delta ( layer_node , trimmed [ 0 ] - layer_start )
508509 this . arena . set_content_length ( layer_node , trimmed [ 1 ] - trimmed [ 0 ] )
510+ this . arena . set_value_start_delta ( layer_node , trimmed [ 0 ] - layer_start )
511+ this . arena . set_value_length ( layer_node , trimmed [ 1 ] - trimmed [ 0 ] )
509512 }
510513 }
511514
@@ -530,10 +533,12 @@ export class AtRulePreludeParser {
530533 let text = this . source . substring ( this . lexer . token_start , this . lexer . token_end - 1 ) // -1 to exclude '('
531534 if ( str_equals ( 'supports' , text ) ) {
532535 let supports_start = this . lexer . token_start
536+ let content_start = this . lexer . token_end // After the opening '('
533537
534538 // Find matching closing parenthesis
535539 let paren_depth = 1
536540 let supports_end = this . lexer . token_end
541+ let content_end = content_start
537542
538543 while ( this . lexer . pos < this . prelude_end && paren_depth > 0 ) {
539544 let tokenType = this . next_token ( )
@@ -542,6 +547,7 @@ export class AtRulePreludeParser {
542547 } else if ( tokenType === TOKEN_RIGHT_PAREN ) {
543548 paren_depth --
544549 if ( paren_depth === 0 ) {
550+ content_end = this . lexer . token_start // Before the closing ')'
545551 supports_end = this . lexer . token_end
546552 }
547553 } else if ( tokenType === TOKEN_EOF ) {
@@ -552,6 +558,13 @@ export class AtRulePreludeParser {
552558 // Create supports node
553559 let supports_node = this . create_node ( SUPPORTS_QUERY , supports_start , supports_end )
554560
561+ // Store query content in value fields, trimmed
562+ let trimmed = trim_boundaries ( this . source , content_start , content_end )
563+ if ( trimmed ) {
564+ this . arena . set_value_start_delta ( supports_node , trimmed [ 0 ] - supports_start )
565+ this . arena . set_value_length ( supports_node , trimmed [ 1 ] - trimmed [ 0 ] )
566+ }
567+
555568 return supports_node
556569 }
557570 }
0 commit comments