From 8e9cbcc0148aec4d7e9f5b2b28dfa7f0b6a247fd Mon Sep 17 00:00:00 2001 From: Paul Gauthier Date: Thu, 6 Jun 2024 12:14:20 -0700 Subject: [PATCH] Refactored MarkdownHelpFormatter to improve formatting and display additional information about actions. --- aider/args_formatter.py | 40 +++++++++++++++++++++++++++++++++------- 1 file changed, 33 insertions(+), 7 deletions(-) diff --git a/aider/args_formatter.py b/aider/args_formatter.py index fc5991f84..1849c26d7 100644 --- a/aider/args_formatter.py +++ b/aider/args_formatter.py @@ -1,17 +1,43 @@ import argparse -class CustomHelpFormatter(argparse.HelpFormatter): +from .dump import dump # noqa: F401 + +class MarkdownHelpFormatter(argparse.HelpFormatter): def start_section(self, heading): - super().start_section(f"## {heading}:") + super().start_section(f"## {heading}") def _format_action(self, action): - parts = [] - if action.help: + parts = [""] + + #action: _StoreAction(option_strings=['--message', '--msg', '-m'], dest='message', nargs=None, const=None, default=None, type=None, choices=None, required=False, help='Specify a single message to send the LLM, process reply then exit (disables chat mode)', metavar='COMMAND') + dump(action) + + metavar = action.metavar + if not metavar and isinstance(action, argparse._StoreAction): + metavar = 'VALUE' + + if metavar: + parts.append(f"### --{action.dest} {metavar}") + else: parts.append(f"### --{action.dest}") + if action.help: parts.append(action.help) - if action.default is not argparse.SUPPRESS: - parts.append(f"Default: {action.default}") - return "\n".join(parts) + + if action.default is not argparse.SUPPRESS: + parts.append(f"- Default: {action.default}") + + if len(action.option_strings) > 1: + parts.append("- Aliases:") + for switch in action.option_strings: + if metavar: + parts.append(f" - {switch} {metavar}") + else: + parts.append(f" - {switch}") + + if action.env_var: + parts.append(f"- Env: {action.env_var}") + + return "\n".join(parts) + '\n' def _format_action_invocation(self, action): return ""