mirror of
https://github.com/Aider-AI/aider.git
synced 2025-05-25 06:44:59 +00:00
refactor: improve AI comment processing in FileWatcher
This commit is contained in:
parent
2ab1b4b1c2
commit
ddbe2853ea
1 changed files with 7 additions and 11 deletions
|
@ -6,6 +6,8 @@ from typing import Optional
|
||||||
from pathspec import PathSpec
|
from pathspec import PathSpec
|
||||||
from pathspec.patterns import GitWildMatchPattern
|
from pathspec.patterns import GitWildMatchPattern
|
||||||
from watchfiles import watch
|
from watchfiles import watch
|
||||||
|
from grep_ast import TreeContext
|
||||||
|
|
||||||
|
|
||||||
from aider.dump import dump # noqa
|
from aider.dump import dump # noqa
|
||||||
|
|
||||||
|
@ -64,6 +66,7 @@ class FileWatcher:
|
||||||
"""Watches source files for changes and AI comments"""
|
"""Watches source files for changes and AI comments"""
|
||||||
|
|
||||||
# Compiled regex pattern for AI comments
|
# Compiled regex pattern for AI comments
|
||||||
|
# make this pattern match at the end of a line ai!
|
||||||
ai_comment_pattern = re.compile(r"(?:#|//) *(ai\b.*|ai|.*\bai!)", re.IGNORECASE)
|
ai_comment_pattern = re.compile(r"(?:#|//) *(ai\b.*|ai|.*\bai!)", re.IGNORECASE)
|
||||||
|
|
||||||
def __init__(self, coder, gitignores=None, verbose=False):
|
def __init__(self, coder, gitignores=None, verbose=False):
|
||||||
|
@ -165,15 +168,6 @@ class FileWatcher:
|
||||||
|
|
||||||
self.io.tool_output("Processing your request...")
|
self.io.tool_output("Processing your request...")
|
||||||
|
|
||||||
# Refresh all AI comments from tracked files
|
|
||||||
ai_comments = {}
|
|
||||||
for fname in self.coder.abs_fnames:
|
|
||||||
line_nums, comments, _has_bang = self.get_ai_comments(fname)
|
|
||||||
if line_nums:
|
|
||||||
ai_comments[fname] = comments
|
|
||||||
|
|
||||||
from grep_ast import TreeContext
|
|
||||||
|
|
||||||
res = """The "ai" comments below can be found in the code files I've shared with you.
|
res = """The "ai" comments below can be found in the code files I've shared with you.
|
||||||
They contain your instructions.
|
They contain your instructions.
|
||||||
Make the requested changes.
|
Make the requested changes.
|
||||||
|
@ -181,8 +175,10 @@ Be sure to remove all these "ai" comments from the code!
|
||||||
|
|
||||||
"""
|
"""
|
||||||
|
|
||||||
for fname, comments in ai_comments.items():
|
# Refresh all AI comments from tracked files
|
||||||
if not comments:
|
for fname in self.coder.abs_fnames:
|
||||||
|
line_nums, comments, _has_bang = self.get_ai_comments(fname)
|
||||||
|
if not line_nums:
|
||||||
continue
|
continue
|
||||||
|
|
||||||
code = self.io.read_text(fname)
|
code = self.io.read_text(fname)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue