File: parse.rs

package info (click to toggle)
rust-simplecss 0.2.0-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, bullseye, forky, sid, trixie
  • size: 196 kB
  • sloc: makefile: 2
file content (29 lines) | stat: -rw-r--r-- 817 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
use std::io::{Read, Write};

fn main() {
    let args: Vec<_> = std::env::args().collect();
    if args.len() != 2 {
        println!("Usage:\n\tparse style.css\n\tparse - 'p {{ color:red }}'");
        std::process::exit(1);
    }

    std::env::set_var("RUST_LOG", "simplecss=warn");
    env_logger::builder()
        .format(|buf, record| {
            writeln!(buf, "{}: {}", record.level(), record.args())
        })
        .init();

    let text = if args[1] == "-" {
        let mut buffer = String::new();
        let stdin = std::io::stdin();
        let mut handle = stdin.lock();
        handle.read_to_string(&mut buffer).unwrap();
        buffer
    } else {
        std::fs::read_to_string(&args[1]).unwrap()
    };

    let style = simplecss::StyleSheet::parse(&text);
    println!("{:#?}", style);
}