floem_css_parser/
lib.rs

1pub mod analyzer;
2pub mod declaration;
3pub mod lexer;
4mod parser;
5mod read;
6
7use analyzer::{analyze_tokens, SyntaxError};
8use lexer::Lexer;
9use parser::{replace_vars, Parser};
10
11pub use parser::{PseudoClass, Rule};
12pub use read::read_styles;
13
14#[must_use]
15pub fn css_to_rules(input: &str) -> Vec<Rule<'_>> {
16    let tokens = Lexer::new(input).tokens();
17    let rules = Parser::new(tokens).parse();
18    replace_vars(rules)
19}
20
21pub fn analyze(input: &str) -> Vec<SyntaxError> {
22    let tokens = Lexer::new(input).tokens();
23    analyze_tokens(&tokens, input)
24}