1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
from tree_sitter import Language, Parser
import tree_sitter_bash
import tree_sitter_c
import tree_sitter_cmake
import tree_sitter_cpp
import tree_sitter_css
import tree_sitter_html
import tree_sitter_javascript
import tree_sitter_markdown
import tree_sitter_python
import tree_sitter_xml
USING_TSL_PACK = True
LANGUAGE_MAPPING = {
"bash": tree_sitter_bash.language(),
"c": tree_sitter_c.language(),
"cmake": tree_sitter_cmake.language(),
"cpp": tree_sitter_cpp.language(),
"css": tree_sitter_css.language(),
"dtd": tree_sitter_xml.language_dtd(),
"html": tree_sitter_html.language(),
"javascript": tree_sitter_javascript.language(),
"markdown": tree_sitter_markdown.language(),
"markdown_inline": tree_sitter_markdown.inline_language(),
"python": tree_sitter_python.language(),
"xml": tree_sitter_xml.language_xml(),
}
def get_language(lang: str):
if lang in LANGUAGE_MAPPING:
return Language(LANGUAGE_MAPPING[lang])
raise ValueError(f"Unsupported language: {lang}")
def get_parser(lang: str):
lang_obj = get_language(lang)
parser = Parser(lang_obj)
return parser
__all__ = [get_parser, get_language, USING_TSL_PACK]
|