From 29905a534a24aff8a13f851978f7aaaaafa5eb22 Mon Sep 17 00:00:00 2001 From: Paul Gauthier Date: Tue, 25 Jun 2024 06:08:43 -0700 Subject: [PATCH] restored full --help --- aider/args.py | 54 +++++++++++++++------------------------------------ aider/main.py | 11 ++++++----- 2 files changed, 22 insertions(+), 43 deletions(-) diff --git a/aider/args.py b/aider/args.py index dc9b7def4..bb3fd2cfc 100644 --- a/aider/args.py +++ b/aider/args.py @@ -20,42 +20,6 @@ def default_env_file(git_root): return os.path.join(git_root, ".env") if git_root else ".env" -def get_preparser(default_config_files, git_root): - parser = configargparse.ArgumentParser( - description="aider is GPT powered coding in your terminal", - add_config_file_help=True, - default_config_files=default_config_files, - config_file_parser_class=configargparse.YAMLConfigFileParser, - auto_env_var_prefix="AIDER_", - ) - - add_env_file(parser, git_root) - add_config_option(parser) - return parser - - -def add_env_file(parser, git_root): - parser.add_argument( - "--env-file", - metavar="ENV_FILE", - default=default_env_file(git_root), - help="Specify the .env file to load (default: .env in git root)", - ) - - -def add_config_option(parser): - parser.add_argument( - "-c", - "--config", - is_config_file=True, - metavar="CONFIG_FILE", - help=( - "Specify the config file (default: search for .aider.conf.yml in git root, cwd" - " or home directory)" - ), - ) - - def get_parser(default_config_files, git_root): parser = configargparse.ArgumentParser( description="aider is GPT powered coding in your terminal", @@ -239,7 +203,12 @@ def get_parser(default_config_files, git_root): ) # This is a duplicate of the argument in the preparser and is a no-op by this time of # argument parsing, but it's here so that the help is displayed as expected. - add_env_file(group, git_root) + group.add_argument( + "--env-file", + metavar="ENV_FILE", + default=default_env_file(git_root), + help="Specify the .env file to load (default: .env in git root)", + ) ########## group = parser.add_argument_group("History Files") @@ -513,7 +482,16 @@ def get_parser(default_config_files, git_root): default="utf-8", help="Specify the encoding for input and output (default: utf-8)", ) - add_config_option(group) + group.add_argument( + "-c", + "--config", + is_config_file=True, + metavar="CONFIG_FILE", + help=( + "Specify the config file (default: search for .aider.conf.yml in git root, cwd" + " or home directory)" + ), + ) group.add_argument( "--gui", "--browser", diff --git a/aider/main.py b/aider/main.py index 7e5a09f69..ef22d2c4f 100644 --- a/aider/main.py +++ b/aider/main.py @@ -11,7 +11,7 @@ from prompt_toolkit.enums import EditingMode from streamlit.web import cli from aider import __version__, models, utils -from aider.args import get_parser, get_preparser +from aider.args import get_parser from aider.coders import Coder from aider.commands import SwitchModel from aider.io import InputOutput @@ -281,13 +281,14 @@ def main(argv=None, input=None, output=None, force_git_root=None, return_coder=F default_config_files.append(Path.home() / conf_fname) # homedir default_config_files = list(map(str, default_config_files)) - preparser = get_preparser(default_config_files, git_root) - pre_args, _ = preparser.parse_known_args(argv) + parser = get_parser(default_config_files, git_root) + args, unknown = parser.parse_known_args(argv) # Load the .env file specified in the arguments - load_dotenv(pre_args.env_file) + if hasattr(args, "env_file"): + load_dotenv(args.env_file) - parser = get_parser(default_config_files, git_root) + # Parse again to include any arguments that might have been defined in .env args = parser.parse_args(argv) if not args.verify_ssl: