diff --git a/HISTORY.md b/HISTORY.md index 9851e10db..9d0ba7b47 100644 --- a/HISTORY.md +++ b/HISTORY.md @@ -14,6 +14,7 @@ - ModelSettings takes `extra_params` dict to specify any extras to pass to `litellm.completion()`. - Renamed `/clipboard` to `/paste`. - New `/copy` command to copy the last LLM response to the clipboard. +- Autocomplete for `/read-only` supports the entire filesystem. - Support for litellm's `extra_body` parameter. - Support for cursor shapes when in vim mode. - Numerous bug fixes. diff --git a/aider/coders/base_coder.py b/aider/coders/base_coder.py index 55bf2b32f..6158e7a77 100755 --- a/aider/coders/base_coder.py +++ b/aider/coders/base_coder.py @@ -789,7 +789,9 @@ class Coder: group = ConfirmGroup(urls) for url in urls: if url not in self.rejected_urls: - if self.io.confirm_ask("Add URL to the chat?", subject=url, group=group): + if self.io.confirm_ask( + "Add URL to the chat?", subject=url, group=group, allow_never=True + ): inp += "\n\n" inp += self.commands.cmd_web(url) added_urls.append(url) @@ -1380,7 +1382,7 @@ class Coder: added_fnames = [] group = ConfirmGroup(new_mentions) for rel_fname in sorted(new_mentions): - if self.io.confirm_ask(f"Add {rel_fname} to the chat?", group=group): + if self.io.confirm_ask(f"Add {rel_fname} to the chat?", group=group, allow_never=True): self.add_rel_fname(rel_fname) added_fnames.append(rel_fname) else: @@ -1957,7 +1959,11 @@ class Coder: ) prompt = "Run shell command?" if command_count == 1 else "Run shell commands?" if not self.io.confirm_ask( - prompt, subject="\n".join(commands), explicit_yes_required=True, group=group + prompt, + subject="\n".join(commands), + explicit_yes_required=True, + group=group, + allow_never=True, ): return @@ -1976,7 +1982,7 @@ class Coder: accumulated_output += f"Output from {command}\n{output}\n" if accumulated_output.strip() and not self.io.confirm_ask( - "Add command output to the chat?" + "Add command output to the chat?", allow_never=True ): accumulated_output = "" diff --git a/aider/io.py b/aider/io.py index 45ff367fb..81829a83b 100644 --- a/aider/io.py +++ b/aider/io.py @@ -488,11 +488,15 @@ class InputOutput: ): self.num_user_asks += 1 - if question in self.never_prompts: + question_id = (question, subject) + + if question_id in self.never_prompts: return False if group and not group.show_group: group = None + if group: + allow_never = True valid_responses = ["yes", "no"] options = " (Y)es/(N)o" @@ -503,8 +507,9 @@ class InputOutput: options += "/(S)kip all" valid_responses.append("skip") if allow_never: - options += "/(X)Never" - valid_responses.append("never") + options += "/(D)on't ask again" + valid_responses.append("don't") + question += options + " [Yes]: " if subject: @@ -555,8 +560,8 @@ class InputOutput: res = res.lower()[0] - if res == "x" and allow_never: - self.never_prompts.add(question) + if res == "d" and allow_never: + self.never_prompts.add(question_id) hist = f"{question.strip()} {res}" self.append_chat_history(hist, linebreak=True, blockquote=True) return False