From 2a387707ef44166f6c2efe60682161b6fb1d88c1 Mon Sep 17 00:00:00 2001 From: "Paul Gauthier (aider)" Date: Thu, 21 Nov 2024 09:52:14 -0800 Subject: [PATCH] feat: Add --editor switch to specify editor for /editor command --- aider/args.py | 4 ++++ aider/commands.py | 13 +++++++++++-- aider/main.py | 8 +++++++- 3 files changed, 22 insertions(+), 3 deletions(-) diff --git a/aider/args.py b/aider/args.py index ec2545c8c..0ea85182f 100644 --- a/aider/args.py +++ b/aider/args.py @@ -738,6 +738,10 @@ def get_parser(default_config_files, git_root): default=True, help="Enable/disable fancy input with history and completion (default: True)", ) + group.add_argument( + "--editor", + help="Specify which editor to use for the /editor command", + ) ########## group = parser.add_argument_group("Voice Settings") diff --git a/aider/commands.py b/aider/commands.py index f846179e0..401baebe1 100644 --- a/aider/commands.py +++ b/aider/commands.py @@ -46,7 +46,15 @@ class Commands: ) def __init__( - self, io, coder, voice_language=None, verify_ssl=True, args=None, parser=None, verbose=False + self, + io, + coder, + voice_language=None, + verify_ssl=True, + args=None, + parser=None, + verbose=False, + editor=None, ): self.io = io self.coder = coder @@ -61,6 +69,7 @@ class Commands: self.voice_language = voice_language self.help = None + self.editor = editor def cmd_model(self, args): "Switch to a new LLM" @@ -1355,7 +1364,7 @@ class Commands: def cmd_editor(self, initial_content=""): "Open an editor to write a prompt" - user_input = pipe_editor(initial_content, suffix="md") + user_input = pipe_editor(initial_content, suffix="md", editor=self.editor) self.io.user_input(user_input, log_only=False) self.io.add_to_input_history(user_input) return user_input diff --git a/aider/main.py b/aider/main.py index d38f3cc20..4c9206419 100644 --- a/aider/main.py +++ b/aider/main.py @@ -689,7 +689,13 @@ def main(argv=None, input=None, output=None, force_git_root=None, return_coder=F return 1 commands = Commands( - io, None, verify_ssl=args.verify_ssl, args=args, parser=parser, verbose=args.verbose + io, + None, + verify_ssl=args.verify_ssl, + args=args, + parser=parser, + verbose=args.verbose, + editor=args.editor, ) summarizer = ChatSummary(