Merge pull request #1757 from jbellis/read-nonrepo

feat: include non-repo files for completing /read
This commit is contained in:
paul-gauthier 2024-09-27 13:15:23 -07:00 committed by GitHub
commit 2dfc47f5c6
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 11 additions and 5 deletions

View file

@ -1660,11 +1660,14 @@ class Coder:
except OSError:
return
def get_all_relative_files(self):
if self.repo:
files = self.repo.get_tracked_files()
def get_all_relative_files(self, include_nonrepo=False):
if not self.repo or include_nonrepo:
files = []
for root, _, fnames in os.walk(self.root):
for fname in fnames:
files.append(os.path.relpath(os.path.join(root, fname), self.root))
else:
files = self.get_inchat_relative_files()
files = self.repo.get_tracked_files()
# This is quite slow in large repos
# files = [fname for fname in files if self.is_file_safe(fname)]

View file

@ -570,7 +570,10 @@ class Commands:
return fname
def completions_read_only(self):
return self.completions_add()
files = set(self.coder.get_all_relative_files(include_nonrepo=True))
files = files - set(self.coder.get_inchat_relative_files())
files = [self.quote_fname(fn) for fn in files]
return files
def completions_add(self):
files = set(self.coder.get_all_relative_files())