mirror of
https://github.com/Aider-AI/aider.git
synced 2025-05-30 01:04:59 +00:00
Fixed TAGS_CACHE
This commit is contained in:
parent
5801bd9ca4
commit
77d20b6819
1 changed files with 9 additions and 8 deletions
|
@ -8,7 +8,6 @@ import tiktoken
|
||||||
|
|
||||||
from aider import prompts
|
from aider import prompts
|
||||||
|
|
||||||
|
|
||||||
# from aider.dump import dump
|
# from aider.dump import dump
|
||||||
|
|
||||||
|
|
||||||
|
@ -46,15 +45,17 @@ def fname_to_components(fname, with_colon):
|
||||||
return res
|
return res
|
||||||
|
|
||||||
|
|
||||||
class RepoMap:
|
class RepoMap:
|
||||||
ctags_cmd = ["ctags", "--fields=+S", "--extras=-F", "--output-format=json"]
|
ctags_cmd = ["ctags", "--fields=+S", "--extras=-F", "--output-format=json"]
|
||||||
TAGS_CACHE = {}
|
TAGS_CACHE = None
|
||||||
|
|
||||||
def __init__(self, use_ctags=None, root=None, main_model="gpt-4"):
|
def __init__(self, use_ctags=None, root=None, main_model="gpt-4"):
|
||||||
if not root:
|
if not root:
|
||||||
root = os.getcwd()
|
root = os.getcwd()
|
||||||
self.root = root
|
self.root = root
|
||||||
|
|
||||||
|
self.TAGS_CACHE = dict()
|
||||||
|
|
||||||
if use_ctags is None:
|
if use_ctags is None:
|
||||||
self.use_ctags = self.check_for_ctags()
|
self.use_ctags = self.check_for_ctags()
|
||||||
else:
|
else:
|
||||||
|
@ -135,8 +136,8 @@ def fname_to_components(fname, with_colon):
|
||||||
# Check if the file is in the cache and if the modification time has not changed
|
# Check if the file is in the cache and if the modification time has not changed
|
||||||
file_mtime = os.path.getmtime(filename)
|
file_mtime = os.path.getmtime(filename)
|
||||||
cache_key = filename
|
cache_key = filename
|
||||||
if cache_key in TAGS_CACHE and TAGS_CACHE[cache_key]["mtime"] == file_mtime:
|
if cache_key in self.TAGS_CACHE and self.TAGS_CACHE[cache_key]["mtime"] == file_mtime:
|
||||||
return TAGS_CACHE[cache_key]["tags"]
|
return self.TAGS_CACHE[cache_key]["tags"]
|
||||||
|
|
||||||
cmd = self.ctags_cmd + [filename]
|
cmd = self.ctags_cmd + [filename]
|
||||||
output = subprocess.check_output(cmd).decode("utf-8")
|
output = subprocess.check_output(cmd).decode("utf-8")
|
||||||
|
@ -165,7 +166,7 @@ def fname_to_components(fname, with_colon):
|
||||||
tags.append(res)
|
tags.append(res)
|
||||||
|
|
||||||
# Update the cache
|
# Update the cache
|
||||||
TAGS_CACHE[cache_key] = {"mtime": file_mtime, "tags": tags}
|
self.TAGS_CACHE[cache_key] = {"mtime": file_mtime, "tags": tags}
|
||||||
return tags
|
return tags
|
||||||
|
|
||||||
def check_for_ctags(self):
|
def check_for_ctags(self):
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue