syncat_stylesheet/
parser.rs

1use std::cell::RefCell;
2use tree_sitter::{Parser, Tree};
3
4thread_local! {
5    static PARSER: RefCell<Parser> = RefCell::new({
6        let mut parser = Parser::new();
7        parser.set_language(&unsafe { crate::tree_sitter_syncat_stylesheet() }).unwrap();
8        parser
9    });
10}
11
12pub(crate) fn parse(source: impl AsRef<[u8]>) -> Option<Tree> {
13    PARSER.with(|parser| parser.borrow_mut().parse(source, None))
14}