my_rust_css_parser/
lib.rs1use 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}