From a5f4cba72fb1deab83e85f0f3d3d1ee7be47b85f Mon Sep 17 00:00:00 2001 From: Paul Gauthier Date: Wed, 27 Nov 2024 08:53:41 -0800 Subject: [PATCH] wip --- aider/repomap.py | 39 +++++++++++++++++++++------------------ 1 file changed, 21 insertions(+), 18 deletions(-) diff --git a/aider/repomap.py b/aider/repomap.py index 8313992f2..1751d677b 100644 --- a/aider/repomap.py +++ b/aider/repomap.py @@ -21,7 +21,7 @@ from aider.utils import Spinner # tree_sitter is throwing a FutureWarning warnings.simplefilter("ignore", category=FutureWarning) -from tree_sitter_languages import get_language, get_parser # noqa: E402 +from tree_sitter_language_pack import get_language, get_parser # noqa: E402 Tag = namedtuple("Tag", "rel_fname fname line name kind".split()) @@ -216,28 +216,31 @@ class RepoMap: query = language.query(query_scm) captures = query.captures(tree.root_node) - captures = list(captures) + dump(fname) + dump(captures) + dump(captures.keys()) saw = set() - for node, tag in captures: - if tag.startswith("name.definition."): - kind = "def" - elif tag.startswith("name.reference."): - kind = "ref" - else: - continue + for tag, nodes in captures.items(): + for node in nodes: + if tag.startswith("name.definition."): + kind = "def" + elif tag.startswith("name.reference."): + kind = "ref" + else: + continue - saw.add(kind) + saw.add(kind) - result = Tag( - rel_fname=rel_fname, - fname=fname, - name=node.text.decode("utf-8"), - kind=kind, - line=node.start_point[0], - ) + result = Tag( + rel_fname=rel_fname, + fname=fname, + name=node.text.decode("utf-8"), + kind=kind, + line=node.start_point[0], + ) - yield result + yield result if "ref" in saw: return