From 17993ef9ff4a7f2fa9b05830b8486dab937a0884 Mon Sep 17 00:00:00 2001 From: Paul Gauthier Date: Fri, 7 Feb 2025 14:26:59 -0800 Subject: [PATCH] works --- aider/linter.py | 2 +- aider/queries/tree-sitter-javascript-tags.scm | 10 +++++----- aider/repomap.py | 14 ++++++++++---- requirements.txt | 2 +- 4 files changed, 17 insertions(+), 11 deletions(-) diff --git a/aider/linter.py b/aider/linter.py index 77d9b5eb2..4e38f1767 100644 --- a/aider/linter.py +++ b/aider/linter.py @@ -8,7 +8,7 @@ from dataclasses import dataclass from pathlib import Path from grep_ast import TreeContext, filename_to_lang -from tree_sitter_languages import get_parser # noqa: E402 +from tree_sitter_language_pack import get_parser # noqa: E402 from aider.dump import dump # noqa: F401 from aider.run_cmd import run_cmd_subprocess # noqa: F401 diff --git a/aider/queries/tree-sitter-javascript-tags.scm b/aider/queries/tree-sitter-javascript-tags.scm index 3bc55c5c5..c143e3efd 100644 --- a/aider/queries/tree-sitter-javascript-tags.scm +++ b/aider/queries/tree-sitter-javascript-tags.scm @@ -25,7 +25,7 @@ (comment)* @doc . [ - (function + (function_expression name: (identifier) @name.definition.function) (function_declaration name: (identifier) @name.definition.function) @@ -44,7 +44,7 @@ (lexical_declaration (variable_declarator name: (identifier) @name.definition.function - value: [(arrow_function) (function)]) @definition.function) + value: [(arrow_function) (function_expression)]) @definition.function) (#strip! @doc "^[\\s\\*/]+|^[\\s\\*/]$") (#select-adjacent! @doc @definition.function) ) @@ -55,7 +55,7 @@ (variable_declaration (variable_declarator name: (identifier) @name.definition.function - value: [(arrow_function) (function)]) @definition.function) + value: [(arrow_function) (function_expression)]) @definition.function) (#strip! @doc "^[\\s\\*/]+|^[\\s\\*/]$") (#select-adjacent! @doc @definition.function) ) @@ -66,12 +66,12 @@ (member_expression property: (property_identifier) @name.definition.function) ] - right: [(arrow_function) (function)] + right: [(arrow_function) (function_expression)] ) @definition.function (pair key: (property_identifier) @name.definition.function - value: [(arrow_function) (function)]) @definition.function + value: [(arrow_function) (function_expression)]) @definition.function ( (call_expression diff --git a/aider/repomap.py b/aider/repomap.py index cfc20f9a1..789891866 100644 --- a/aider/repomap.py +++ b/aider/repomap.py @@ -11,6 +11,7 @@ from collections import Counter, defaultdict, namedtuple from importlib import resources from pathlib import Path +import tree_sitter from diskcache import Cache from grep_ast import TreeContext, filename_to_lang from pygments.lexers import guess_lexer_for_filename @@ -279,12 +280,17 @@ class RepoMap: tree = parser.parse(bytes(code, "utf-8")) # Run the tags queries - query = language.query(query_scm) + try: + query = language.query(query_scm) + except tree_sitter.QueryError as err: + dump(fname, err) + return + captures = query.captures(tree.root_node) - dump(fname) - dump(captures) - dump(captures.keys()) + # dump(fname) + # dump(captures) + # dump(captures.keys()) saw = set() for tag, nodes in captures.items(): diff --git a/requirements.txt b/requirements.txt index 98e3824bf..586b9048f 100644 --- a/requirements.txt +++ b/requirements.txt @@ -63,7 +63,7 @@ gitdb==4.0.12 # via gitpython gitpython==3.1.44 # via -r requirements/requirements.in -grep-ast==0.5.0 +#grep-ast==0.5.0 # via -r requirements/requirements.in h11==0.14.0 # via httpcore