summaryrefslogtreecommitdiff
path: root/dev-python/grep-ast
diff options
context:
space:
mode:
authorCrucible <crucible@localhost>2026-09-30 03:05:07 -0500
committerCrucible <crucible@localhost>2026-09-30 03:05:07 -0500
commit9c4e6e8fed8999df35813182c3b9577d541394e0 (patch)
tree2466b7bb1ca606d88c3191c59d1b1c0a3b87e398 /dev-python/grep-ast
parentc5a9b07f13fb47e9869f0433ea92068acfe47038 (diff)
downloadsrcux-9c4e6e8fed8999df35813182c3b9577d541394e0.tar.gz
srcux-9c4e6e8fed8999df35813182c3b9577d541394e0.tar.xz
srcux-9c4e6e8fed8999df35813182c3b9577d541394e0.zip
Publish srcux candidate 0000000524-20260930-030309
Diffstat (limited to 'dev-python/grep-ast')
-rw-r--r--dev-python/grep-ast/Manifest1
-rw-r--r--dev-python/grep-ast/files/grep-ast-20250508-treesitter.patch14
-rw-r--r--dev-python/grep-ast/files/tsl.py40
-rw-r--r--dev-python/grep-ast/grep-ast-20250508.ebuild69
-rw-r--r--dev-python/grep-ast/metadata.xml13
5 files changed, 137 insertions, 0 deletions
diff --git a/dev-python/grep-ast/Manifest b/dev-python/grep-ast/Manifest
new file mode 100644
index 000000000000..1deee60e4077
--- /dev/null
+++ b/dev-python/grep-ast/Manifest
@@ -0,0 +1 @@
+DIST grep-ast-20250508.gh.tar.gz 24355 BLAKE2B f20d10b641e2ff0a880b359d7105a0d83feb9f385acfff87656be445c14bdcdf77ae4acfbd77f9c2bac0af9de8885d1a1007de1cdd80f6d2b89380539d059006 SHA512 f2e24153b2f95f86e4c93c8a9fe806415989db7d410bdb1be627feb238d917f981a3b4852912b350c56bdaffee6dd3518714801d76994192b974124dd0149d3b
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]
diff --git a/dev-python/grep-ast/grep-ast-20250508.ebuild b/dev-python/grep-ast/grep-ast-20250508.ebuild
new file mode 100644
index 000000000000..f4e0dbb60758
--- /dev/null
+++ b/dev-python/grep-ast/grep-ast-20250508.ebuild
@@ -0,0 +1,69 @@
+# Copyright 2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1 pypi
+
+CommitId=9a2c49b00852d012dc97850a3c0b3248f15bd043
+DESCRIPTION="Grep source code and see useful code context about matching lines"
+HOMEPAGE="
+ https://pypi.org/project/grep_ast/
+"
+SRC_URI="https://github.com/Aider-AI/${PN}/archive/${CommitId}.tar.gz
+ -> ${P}.gh.tar.gz"
+S="${WORKDIR}"/${PN}-${CommitId}
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+
+# In portage, to add here
+#"clojure",
+#"csharp",
+#"erlang",
+#"gleam",
+#"go",
+#"haskell",
+#"java",
+#"jsdoc",
+#"json",
+#"julia",
+#"kconfig",
+#"lua",
+#"ocaml",
+#"php",
+#"powershell",
+#"racket",
+#"ruby",
+#"rust",
+#"scala",
+#"typescript",
+#"vim",
+
+RDEPEND="
+ dev-python/tree-sitter[${PYTHON_USEDEP}]
+ dev-libs/tree-sitter-bash[python,${PYTHON_USEDEP}]
+ dev-libs/tree-sitter-c[python,${PYTHON_USEDEP}]
+ dev-libs/tree-sitter-cmake[python,${PYTHON_USEDEP}]
+ dev-libs/tree-sitter-cpp[python,${PYTHON_USEDEP}]
+ dev-libs/tree-sitter-css[python(-),${PYTHON_USEDEP}]
+ dev-libs/tree-sitter-html[python,${PYTHON_USEDEP}]
+ dev-libs/tree-sitter-javascript[python,${PYTHON_USEDEP}]
+ dev-libs/tree-sitter-markdown[python(-),${PYTHON_USEDEP}]
+ dev-libs/tree-sitter-python[python,${PYTHON_USEDEP}]
+ dev-libs/tree-sitter-xml[python,${PYTHON_USEDEP}]
+"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
+
+PATCHES=( "${FILESDIR}"/${P}-treesitter.patch )
+
+src_prepare() {
+ cp "${FILESDIR}"/tsl.py grep_ast/tsl.py || die
+ distutils-r1_src_prepare
+}
diff --git a/dev-python/grep-ast/metadata.xml b/dev-python/grep-ast/metadata.xml
new file mode 100644
index 000000000000..a05649e5caee
--- /dev/null
+++ b/dev-python/grep-ast/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://srcux.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ </maintainer>
+ <maintainer type="person">
+ <email>tupone@gentoo.org</email>
+ <name>Tupone Alfredo</name>
+ </maintainer>
+ <stabilize-allarches />
+ <origin>srcux</origin>
+</pkgmetadata>