mirror of
https://github.com/Aider-AI/aider.git
synced 2025-06-11 23:25:01 +00:00
output nice md usage
This commit is contained in:
parent
8e9cbcc014
commit
caca261587
3 changed files with 411 additions and 174 deletions
|
@ -7,13 +7,14 @@ import sys
|
|||
import configargparse
|
||||
|
||||
from aider import __version__, models
|
||||
from aider.args_formatter import CustomHelpFormatter
|
||||
from aider.args_formatter import MarkdownHelpFormatter
|
||||
|
||||
from .dump import dump # noqa: F401
|
||||
|
||||
|
||||
def get_parser(default_config_files, git_root):
|
||||
parser = configargparse.ArgumentParser(
|
||||
description="aider is GPT powered coding in your terminal",
|
||||
formatter_class=CustomHelpFormatter,
|
||||
add_config_file_help=True,
|
||||
default_config_files=default_config_files,
|
||||
auto_env_var_prefix="AIDER_",
|
||||
|
@ -455,9 +456,15 @@ def get_parser(default_config_files, git_root):
|
|||
|
||||
def get_help():
|
||||
os.environ["COLUMNS"] = "100"
|
||||
sys.argv[0] = "aider"
|
||||
sys.argv = ["aider"]
|
||||
parser = get_parser([], None)
|
||||
parser.formatter_class = CustomHelpFormatter
|
||||
|
||||
# This instantiates all the action.env_var values
|
||||
parser.parse_known_args()
|
||||
|
||||
parser.formatter_class = MarkdownHelpFormatter
|
||||
|
||||
return argparse.ArgumentParser.format_help(parser)
|
||||
return parser.format_help()
|
||||
|
||||
|
||||
|
|
|
@ -2,42 +2,48 @@ import argparse
|
|||
|
||||
from .dump import dump # noqa: F401
|
||||
|
||||
|
||||
class MarkdownHelpFormatter(argparse.HelpFormatter):
|
||||
def start_section(self, heading):
|
||||
super().start_section(f"## {heading}")
|
||||
|
||||
def _format_usage(self, usage, actions, groups, prefix):
|
||||
res = super()._format_usage(usage, actions, groups, prefix)
|
||||
quote = "```\n"
|
||||
return quote + res + quote
|
||||
|
||||
def _format_text(self, text):
|
||||
return ""
|
||||
|
||||
def _format_action(self, action):
|
||||
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'
|
||||
metavar = "VALUE"
|
||||
|
||||
if metavar:
|
||||
parts.append(f"### --{action.dest} {metavar}")
|
||||
parts.append(f"### `--{action.dest} {metavar}`")
|
||||
else:
|
||||
parts.append(f"### --{action.dest}")
|
||||
parts.append(f"### `--{action.dest}`")
|
||||
if action.help:
|
||||
parts.append(action.help)
|
||||
parts.append(action.help + " ")
|
||||
|
||||
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.default not in (argparse.SUPPRESS, None):
|
||||
parts.append(f"Default: {action.default} ")
|
||||
|
||||
if action.env_var:
|
||||
parts.append(f"- Env: {action.env_var}")
|
||||
parts.append(f"Environment variable: `{action.env_var}` ")
|
||||
|
||||
return "\n".join(parts) + '\n'
|
||||
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}`")
|
||||
|
||||
return "\n".join(parts) + "\n"
|
||||
|
||||
def _format_action_invocation(self, action):
|
||||
return ""
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue