garbage_code_hunter/treesitter/
parsers.rs1use crate::language::Language;
2use tree_sitter_c;
3use tree_sitter_cpp;
4use tree_sitter_go;
5use tree_sitter_java;
6use tree_sitter_javascript;
7use tree_sitter_python;
8use tree_sitter_ruby;
9use tree_sitter_rust;
10use tree_sitter_swift;
11use tree_sitter_typescript;
12use tree_sitter_zig;
13
14pub fn get_grammar(lang: Language) -> Option<tree_sitter::Language> {
17 match lang {
18 Language::Rust => Some(tree_sitter_rust::LANGUAGE.into()),
19 Language::Python => Some(tree_sitter_python::LANGUAGE.into()),
20 Language::JavaScript => Some(tree_sitter_javascript::LANGUAGE.into()),
21 Language::TypeScript => Some(tree_sitter_typescript::LANGUAGE_TYPESCRIPT.into()),
22 Language::Go => Some(tree_sitter_go::LANGUAGE.into()),
23 Language::Java => Some(tree_sitter_java::LANGUAGE.into()),
24 Language::Ruby => Some(tree_sitter_ruby::LANGUAGE.into()),
25 Language::Swift => Some(tree_sitter_swift::LANGUAGE.into()),
26 Language::Zig => Some(tree_sitter_zig::LANGUAGE.into()),
27 Language::C => Some(tree_sitter_c::LANGUAGE.into()),
28 Language::Cpp => Some(tree_sitter_cpp::LANGUAGE.into()),
29 _ => None,
30 }
31}