use crate::Language;
pub fn parse_file(source: &str, language: Language) -> Option<tree_sitter::Tree> {
let mut parser = tree_sitter::Parser::new();
let ts_language = match language {
Language::JavaScript => tree_sitter_javascript::LANGUAGE.into(),
Language::Python => tree_sitter_python::LANGUAGE.into(),
Language::Go => tree_sitter_go::LANGUAGE.into(),
Language::Ruby => tree_sitter_ruby::LANGUAGE.into(),
Language::Java => tree_sitter_java::LANGUAGE.into(),
Language::Php => tree_sitter_php::LANGUAGE_PHP.into(),
Language::Rust => tree_sitter_rust::LANGUAGE.into(),
Language::CSharp => tree_sitter_c_sharp::LANGUAGE.into(),
Language::Swift => tree_sitter_swift::LANGUAGE.into(),
Language::Kotlin => tree_sitter_kotlin_sg::LANGUAGE.into(),
};
parser.set_language(&ts_language).ok()?;
parser.parse(source, None)
}