biome_css_parser 0.5.8

Biome's CSS parser
Documentation
---
source: crates/biome_css_parser/tests/spec_test.rs
expression: snapshot
---
## Input

```css
* , * {}
*|* {}
foo|* {}

```


## AST

```
CssRoot {
    bom_token: missing (optional),
    rules: CssRuleList [
        CssQualifiedRule {
            prelude: CssSelectorList [
                CssCompoundSelector {
                    nesting_selectors: CssNestedSelectorList [],
                    simple_selector: CssUniversalSelector {
                        namespace: missing (optional),
                        star_token: STAR@0..2 "*" [] [Whitespace(" ")],
                    },
                    sub_selectors: CssSubSelectorList [],
                },
                COMMA@2..4 "," [] [Whitespace(" ")],
                CssCompoundSelector {
                    nesting_selectors: CssNestedSelectorList [],
                    simple_selector: CssUniversalSelector {
                        namespace: missing (optional),
                        star_token: STAR@4..6 "*" [] [Whitespace(" ")],
                    },
                    sub_selectors: CssSubSelectorList [],
                },
            ],
            block: CssDeclarationOrRuleBlock {
                l_curly_token: L_CURLY@6..7 "{" [] [],
                items: CssDeclarationOrRuleList [],
                r_curly_token: R_CURLY@7..8 "}" [] [],
            },
        },
        CssQualifiedRule {
            prelude: CssSelectorList [
                CssCompoundSelector {
                    nesting_selectors: CssNestedSelectorList [],
                    simple_selector: CssUniversalSelector {
                        namespace: CssNamespace {
                            prefix: CssUniversalNamespacePrefix {
                                star_token: STAR@8..10 "*" [Newline("\n")] [],
                            },
                            bitwise_or_token: PIPE@10..11 "|" [] [],
                        },
                        star_token: STAR@11..13 "*" [] [Whitespace(" ")],
                    },
                    sub_selectors: CssSubSelectorList [],
                },
            ],
            block: CssDeclarationOrRuleBlock {
                l_curly_token: L_CURLY@13..14 "{" [] [],
                items: CssDeclarationOrRuleList [],
                r_curly_token: R_CURLY@14..15 "}" [] [],
            },
        },
        CssQualifiedRule {
            prelude: CssSelectorList [
                CssCompoundSelector {
                    nesting_selectors: CssNestedSelectorList [],
                    simple_selector: CssUniversalSelector {
                        namespace: CssNamespace {
                            prefix: CssNamedNamespacePrefix {
                                name: CssIdentifier {
                                    value_token: IDENT@15..19 "foo" [Newline("\n")] [],
                                },
                            },
                            bitwise_or_token: PIPE@19..20 "|" [] [],
                        },
                        star_token: STAR@20..22 "*" [] [Whitespace(" ")],
                    },
                    sub_selectors: CssSubSelectorList [],
                },
            ],
            block: CssDeclarationOrRuleBlock {
                l_curly_token: L_CURLY@22..23 "{" [] [],
                items: CssDeclarationOrRuleList [],
                r_curly_token: R_CURLY@23..24 "}" [] [],
            },
        },
    ],
    eof_token: EOF@24..25 "" [Newline("\n")] [],
}
```

## CST

```
0: CSS_ROOT@0..25
  0: (empty)
  1: CSS_RULE_LIST@0..24
    0: CSS_QUALIFIED_RULE@0..8
      0: CSS_SELECTOR_LIST@0..6
        0: CSS_COMPOUND_SELECTOR@0..2
          0: CSS_NESTED_SELECTOR_LIST@0..0
          1: CSS_UNIVERSAL_SELECTOR@0..2
            0: (empty)
            1: STAR@0..2 "*" [] [Whitespace(" ")]
          2: CSS_SUB_SELECTOR_LIST@2..2
        1: COMMA@2..4 "," [] [Whitespace(" ")]
        2: CSS_COMPOUND_SELECTOR@4..6
          0: CSS_NESTED_SELECTOR_LIST@4..4
          1: CSS_UNIVERSAL_SELECTOR@4..6
            0: (empty)
            1: STAR@4..6 "*" [] [Whitespace(" ")]
          2: CSS_SUB_SELECTOR_LIST@6..6
      1: CSS_DECLARATION_OR_RULE_BLOCK@6..8
        0: L_CURLY@6..7 "{" [] []
        1: CSS_DECLARATION_OR_RULE_LIST@7..7
        2: R_CURLY@7..8 "}" [] []
    1: CSS_QUALIFIED_RULE@8..15
      0: CSS_SELECTOR_LIST@8..13
        0: CSS_COMPOUND_SELECTOR@8..13
          0: CSS_NESTED_SELECTOR_LIST@8..8
          1: CSS_UNIVERSAL_SELECTOR@8..13
            0: CSS_NAMESPACE@8..11
              0: CSS_UNIVERSAL_NAMESPACE_PREFIX@8..10
                0: STAR@8..10 "*" [Newline("\n")] []
              1: PIPE@10..11 "|" [] []
            1: STAR@11..13 "*" [] [Whitespace(" ")]
          2: CSS_SUB_SELECTOR_LIST@13..13
      1: CSS_DECLARATION_OR_RULE_BLOCK@13..15
        0: L_CURLY@13..14 "{" [] []
        1: CSS_DECLARATION_OR_RULE_LIST@14..14
        2: R_CURLY@14..15 "}" [] []
    2: CSS_QUALIFIED_RULE@15..24
      0: CSS_SELECTOR_LIST@15..22
        0: CSS_COMPOUND_SELECTOR@15..22
          0: CSS_NESTED_SELECTOR_LIST@15..15
          1: CSS_UNIVERSAL_SELECTOR@15..22
            0: CSS_NAMESPACE@15..20
              0: CSS_NAMED_NAMESPACE_PREFIX@15..19
                0: CSS_IDENTIFIER@15..19
                  0: IDENT@15..19 "foo" [Newline("\n")] []
              1: PIPE@19..20 "|" [] []
            1: STAR@20..22 "*" [] [Whitespace(" ")]
          2: CSS_SUB_SELECTOR_LIST@22..22
      1: CSS_DECLARATION_OR_RULE_BLOCK@22..24
        0: L_CURLY@22..23 "{" [] []
        1: CSS_DECLARATION_OR_RULE_LIST@23..23
        2: R_CURLY@23..24 "}" [] []
  2: EOF@24..25 "" [Newline("\n")] []

```