1use tree_sitter_language::LanguageFn;
4
5extern "C" {
6 fn tree_sitter_cfml() -> *const ();
7 fn tree_sitter_cfscript() -> *const ();
8 fn tree_sitter_cfquery() -> *const ();
9}
10
11pub const LANGUAGE_CFML: LanguageFn = unsafe { LanguageFn::from_raw(tree_sitter_cfml) };
15
16pub const LANGUAGE_CFSCRIPT: LanguageFn = unsafe { LanguageFn::from_raw(tree_sitter_cfscript) };
20
21pub const LANGUAGE_CFQUERY: LanguageFn = unsafe { LanguageFn::from_raw(tree_sitter_cfquery) };
25
26pub const CFML_NODE_TYPES: &str = include_str!("../../cfml/src/node-types.json");
30pub const CFSCRIPT_NODE_TYPES: &str = include_str!("../../cfscript/src/node-types.json");
31pub const CFQUERY_NODE_TYPES: &str = include_str!("../../cfquery/src/node-types.json");
32
33pub const HIGHLIGHTS_QUERY: &str = include_str!("../../cfml/queries/highlights.scm");
35
36pub const INJECTIONS_QUERY: &str = include_str!("../../cfml/queries/injections.scm");
38
39pub const TAGS_QUERY: &str = include_str!("../../cfml/queries/tags.scm");
41
42#[cfg(test)]
43mod tests {
44 #[test]
45 fn test_can_load_cfml_grammar() {
46 let mut parser = tree_sitter::Parser::new();
47 parser
48 .set_language(&super::LANGUAGE_CFML.into())
49 .expect("Error loading CFML parser");
50 }
51
52 #[test]
53 fn test_can_load_cfscript_grammar() {
54 let mut parser = tree_sitter::Parser::new();
55 parser
56 .set_language(&super::LANGUAGE_CFSCRIPT.into())
57 .expect("Error loading CFSCRIPT parser");
58 }
59
60 #[test]
61 fn test_can_load_cfquery_grammar() {
62 let mut parser = tree_sitter::Parser::new();
63 parser
64 .set_language(&super::LANGUAGE_CFQUERY.into())
65 .expect("Error loading CFQUERY parser");
66 }
67}