diff --git a/aider/args.py b/aider/args.py index c02254e49..852b42ee2 100644 --- a/aider/args.py +++ b/aider/args.py @@ -630,6 +630,12 @@ def get_parser(default_config_files, git_root): metavar="FILE", help="Apply the changes from the given file instead of running the chat (debug)", ) + group.add_argument( + "--apply-clipboard-edits", + action="store_true", + help="Apply clipboard contents as edits using the main model's editor format", + default=False, + ) group.add_argument( "--yes-always", action="store_true", diff --git a/aider/main.py b/aider/main.py index 9ad59dc0b..463400a38 100644 --- a/aider/main.py +++ b/aider/main.py @@ -1,4 +1,3 @@ -#ai: add a --apply-clipboard-edits switch which sets the edit-format to the main models editor format and acts as if "--msg /paste" was provided as an arg! import configparser import json @@ -776,6 +775,10 @@ def main(argv=None, input=None, output=None, force_git_root=None, return_coder=F coder.apply_updates() return + if args.apply_clipboard_edits: + args.edit_format = main_model.editor_edit_format + args.message = "/paste" + if "VSCODE_GIT_IPC_HANDLE" in os.environ: args.pretty = False io.tool_output("VSCode terminal detected, pretty output has been disabled.")