diff options
| author | Crucible <crucible@localhost> | 2026-09-30 03:05:07 -0500 |
|---|---|---|
| committer | Crucible <crucible@localhost> | 2026-09-30 03:05:07 -0500 |
| commit | 9c4e6e8fed8999df35813182c3b9577d541394e0 (patch) | |
| tree | 2466b7bb1ca606d88c3191c59d1b1c0a3b87e398 /dev-python/grep-ast/files | |
| parent | c5a9b07f13fb47e9869f0433ea92068acfe47038 (diff) | |
| download | srcux-9c4e6e8fed8999df35813182c3b9577d541394e0.tar.gz srcux-9c4e6e8fed8999df35813182c3b9577d541394e0.tar.xz srcux-9c4e6e8fed8999df35813182c3b9577d541394e0.zip | |
Publish srcux candidate 0000000524-20260930-030309
Diffstat (limited to 'dev-python/grep-ast/files')
| -rw-r--r-- | dev-python/grep-ast/files/grep-ast-20250508-treesitter.patch | 14 | ||||
| -rw-r--r-- | dev-python/grep-ast/files/tsl.py | 40 |
2 files changed, 54 insertions, 0 deletions
diff --git a/dev-python/grep-ast/files/grep-ast-20250508-treesitter.patch b/dev-python/grep-ast/files/grep-ast-20250508-treesitter.patch new file mode 100644 index 000000000000..3565832f5b92 --- /dev/null +++ b/dev-python/grep-ast/files/grep-ast-20250508-treesitter.patch @@ -0,0 +1,14 @@ +--- a/tests/test_parsers.py 2026-09-24 14:10:15.753263357 +0200 ++++ b/tests/test_parsers.py 2026-09-24 14:11:05.104668455 +0200 +@@ -1,9 +1,8 @@ +-from tree_sitter_languages import get_parser +- + from grep_ast.dump import dump # noqa: F401 + from grep_ast.parsers import PARSERS ++from grep_ast.tsl import get_parser, LANGUAGE_MAPPING + + + def test_get_parser_for_all_parsers(): +- for lang in PARSERS.values(): ++ for lang in LANGUAGE_MAPPING.keys(): + assert get_parser(lang) is not None diff --git a/dev-python/grep-ast/files/tsl.py b/dev-python/grep-ast/files/tsl.py new file mode 100644 index 000000000000..21638a0640ce --- /dev/null +++ b/dev-python/grep-ast/files/tsl.py @@ -0,0 +1,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] |
