From a482ef9bfae70b0583509a862999bc84cd28a0fd Mon Sep 17 00:00:00 2001 From: "Paul Gauthier (aider)" Date: Sat, 5 Oct 2024 11:29:44 -0700 Subject: [PATCH] feat: add error handling for 'yes:' config issue --- aider/main.py | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/aider/main.py b/aider/main.py index a5b3e5242..190cd81ca 100644 --- a/aider/main.py +++ b/aider/main.py @@ -361,7 +361,20 @@ def main(argv=None, input=None, output=None, force_git_root=None, return_coder=F default_config_files = list(map(str, default_config_files)) parser = get_parser(default_config_files, git_root) - args, unknown = parser.parse_known_args(argv) + try: + args, unknown = parser.parse_known_args(argv) + except AttributeError as e: + if "'bool' object has no attribute 'strip'" in str(e): + io.tool_error("Configuration error detected.") + io.tool_output("It seems you have 'yes:' in one of your configuration files.") + io.tool_output("Please replace 'yes:' with 'yes-always:' in the relevant .aider.conf.yml file.") + io.tool_output("Configuration files are searched for in this order:") + for config_file in default_config_files: + io.tool_output(f" - {config_file}") + io.tool_output("For more information, refer to the aider documentation on configuration.") + return 1 + else: + raise if args.verbose: print("Config files search order, if no --config:")