tree-sitter-msbasic2 0.2.0

Tree-sitter grammar for Microsoft BASIC 2.0
Documentation
use tree_sitter_language::LanguageFn;

extern "C" {
    fn tree_sitter_msbasic2() -> *const ();
}

/// Language function for Microsoft BASIC 2.0.
pub const LANGUAGE: LanguageFn = unsafe { LanguageFn::from_raw(tree_sitter_msbasic2) };

#[cfg(test)]
mod tests {
    #[test]
    fn test_can_load_grammar() {
        let mut parser = tree_sitter::Parser::new();
        parser
            .set_language(&super::LANGUAGE.into())
            .expect("Error loading msbasic2 parser");
    }

    #[test]
    fn test_parse_hello_world() {
        let mut parser = tree_sitter::Parser::new();
        parser
            .set_language(&super::LANGUAGE.into())
            .expect("Error loading msbasic2 parser");
        let tree = parser
            .parse("10 PRINT \"HELLO WORLD\"\n", None)
            .expect("Failed to parse");
        let root = tree.root_node();
        assert_eq!(root.kind(), "program");
        assert!(!root.has_error());
    }
}