tree_sitter_gwbasic/
lib.rs1use tree_sitter_language::LanguageFn;
2
3extern "C" {
4 fn tree_sitter_gwbasic() -> *const ();
5}
6
7pub const LANGUAGE: LanguageFn = unsafe { LanguageFn::from_raw(tree_sitter_gwbasic) };
9
10#[cfg(test)]
11mod tests {
12 #[test]
13 fn test_can_load_grammar() {
14 let mut parser = tree_sitter::Parser::new();
15 parser
16 .set_language(&super::LANGUAGE.into())
17 .expect("Error loading gwbasic parser");
18 }
19
20 #[test]
21 fn test_parse_hello_world() {
22 let mut parser = tree_sitter::Parser::new();
23 parser
24 .set_language(&super::LANGUAGE.into())
25 .expect("Error loading gwbasic parser");
26 let tree = parser
27 .parse("10 PRINT \"HELLO WORLD\"\n", None)
28 .expect("Failed to parse");
29 let root = tree.root_node();
30 assert_eq!(root.kind(), "program");
31 assert!(!root.has_error());
32 }
33}