From ff3d2b006fb3cffc1fc19a082d1d43329d077c88 Mon Sep 17 00:00:00 2001 From: "Paul Gauthier (aider)" Date: Wed, 5 Mar 2025 15:30:44 -0800 Subject: [PATCH] refactor: Handle EOFError gracefully in confirm_ask and prompt_ask methods --- aider/io.py | 43 ++++++++++++++++++++++++++----------------- 1 file changed, 26 insertions(+), 17 deletions(-) diff --git a/aider/io.py b/aider/io.py index 5ab11f0d6..c00004364 100644 --- a/aider/io.py +++ b/aider/io.py @@ -750,14 +750,19 @@ class InputOutput: self.user_input(f"{question}{res}", log_only=False) else: while True: - if self.prompt_session: - res = self.prompt_session.prompt( - question, - style=style, - complete_while_typing=False, - ) - else: - res = input(question) + try: + if self.prompt_session: + res = self.prompt_session.prompt( + question, + style=style, + complete_while_typing=False, + ) + else: + res = input(question) + except EOFError: + # Treat EOF (Ctrl+D) as if the user pressed Enter + res = default + break if not res: res = default @@ -812,15 +817,19 @@ class InputOutput: elif self.yes is False: res = "no" else: - if self.prompt_session: - res = self.prompt_session.prompt( - question + " ", - default=default, - style=style, - complete_while_typing=True, - ) - else: - res = input(question + " ") + try: + if self.prompt_session: + res = self.prompt_session.prompt( + question + " ", + default=default, + style=style, + complete_while_typing=True, + ) + else: + res = input(question + " ") + except EOFError: + # Treat EOF (Ctrl+D) as if the user pressed Enter + res = default hist = f"{question.strip()} {res.strip()}" self.append_chat_history(hist, linebreak=True, blockquote=True)