my_rust_css_parser/
lib.rs

1//! CSS Parser CLI
2//! 
3//! This parser allows you to parse CSS files, identifying the main selector types
4//! (class, id, or element selector) and primary attributes with their values.
5
6use pest::Parser;
7use pest_derive::Parser;
8#[derive(Parser)]
9#[grammar = "grammar.pest"]
10struct CSSParser;pub fn parse_css(input: &str) -> anyhow::Result<()> {
11    let pairs = CSSParser::parse(Rule::CSS_RULE, input)?;
12
13    for pair in pairs {
14        println!("Rule: {:?}", pair.as_rule());
15        println!("Span: {:?}", pair.as_span());
16        println!("Text: {}", pair.as_str());
17
18        for inner_pair in pair.clone().into_inner() {
19            println!("  Inner Rule: {:?}", inner_pair.as_rule());
20            println!("  Inner Span: {:?}", inner_pair.as_span());
21            println!("  Inner Text: {}", inner_pair.as_str());
22        }
23    }
24
25    Ok(())
26}