use tree_sitter_language::LanguageFn;
unsafe extern "C" {
fn tree_sitter_postgres() -> *const ();
fn tree_sitter_plpgsql() -> *const ();
}
pub const LANGUAGE: LanguageFn = unsafe { LanguageFn::from_raw(tree_sitter_postgres) };
pub const LANGUAGE_PLPGSQL: LanguageFn = unsafe { LanguageFn::from_raw(tree_sitter_plpgsql) };
pub const NODE_TYPES: &str = include_str!("../../postgres/src/node-types.json");
pub const NODE_TYPES_PLPGSQL: &str = include_str!("../../plpgsql/src/node-types.json");
#[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 Postgres parser");
}
#[test]
fn test_can_load_plpgsql_grammar() {
let mut parser = tree_sitter::Parser::new();
parser
.set_language(&super::LANGUAGE_PLPGSQL.into())
.expect("Error loading PL/pgSQL parser");
}
}