coq for in-chat commands

This commit is contained in:
Paul Gauthier 2024-06-05 20:10:48 -07:00
parent 47346af823
commit e3cc69d0c8
3 changed files with 63 additions and 27 deletions

View file

@ -639,6 +639,22 @@ class Commands:
else:
self.io.tool_output(f"{cmd} No description available.")
def get_help_md(self):
"Show help about all commands in markdown"
res = ""
commands = sorted(self.get_commands())
for cmd in commands:
cmd_method_name = f"cmd_{cmd[1:]}"
cmd_method = getattr(self, cmd_method_name, None)
if cmd_method:
description = cmd_method.__doc__
res += f"- **{cmd}** {description}\n"
else:
res += f"- **{cmd}**\n"
return res
def cmd_voice(self, args):
"Record and transcribe voice input"
@ -702,3 +718,22 @@ def parse_quoted_filenames(args):
filenames = re.findall(r"\"(.+?)\"|(\S+)", args)
filenames = [name for sublist in filenames for name in sublist if name]
return filenames
def get_help_md():
from aider.coders import Coder
from aider.models import Model
coder = Coder(Model("gpt-3.5-turbo"), None)
md = coder.commands.get_help_md()
return md
def main():
md = get_help_md()
print(md)
if __name__ == "__main__":
status = main()
sys.exit(status)

View file

@ -9,5 +9,7 @@ else
ARG=$1
fi
cog $ARG website/index.md
cog $ARG website/docs/usage.md
cog $ARG \
website/index.md \
website/docs/usage.md \
website/docs/commands.md \

View file

@ -7,32 +7,31 @@ nav_order: 50
## In-chat commands
Aider supports commands from within the chat, which all start with `/`.
Here are some of the most useful in-chat commands:
- `/help`: Show help about all commands
- `/exit`: Exit the application
## Context management
- `/add <file>`: Add matching files to the chat session using glob patterns
- `/drop <file>`: Remove matching files from the chat session
- `/web <url>`: Add the contents of a webpage to the chat
- `/clear`: Clear the chat history
- `/ls`: List all known files and those included in the chat session
- `/tokens`: Report on the number of tokens used by the current chat context
## Git
- `/undo`: Undo the last git commit if it was done by aider
- `/diff`: Display the diff of the last aider commit
- `/commit <message>`: Commit edits to the repo made outside the chat (commit message optional)
- `/git <command>`: Run a git command
## Other
- `/run <command>`: Run a shell command and optionally add the output to the chat, or use `!<command>`.
- `/test <command>`: Like run, but automatically adds the output to the chat on non-zero exit codes.
- `/voice`: Speak to aider to [request code changes with your voice](https://aider.chat/docs/voice.html).
<!--[[[cog
from aider.commands import get_help_md
cog.out(get_help_md())
]]]-->
- **/add** Add files to the chat so GPT can edit them or review them in detail
- **/clear** Clear the chat history
- **/commit** Commit edits to the repo made outside the chat (commit message optional)
- **/diff** Display the diff of the last aider commit
- **/drop** Remove files from the chat session to free up context space
- **/exit** Exit the application
- **/git** Run a git command
- **/help** Show help about all commands
- **/lint** Lint and fix provided files or in-chat files if none provided
- **/ls** List all known files and indicate which are included in the chat session
- **/model** Switch to a new LLM
- **/models** Search the list of available models
- **/quit** Exit the application
- **/run** Run a shell command and optionally add the output to the chat (alias: !)
- **/test** Run a shell command and add the output to the chat on non-zero exit code
- **/tokens** Report on the number of tokens used by the current chat context
- **/undo** Undo the last git commit if it was done by aider
- **/voice** Record and transcribe voice input
- **/web** Use headless selenium to scrape a webpage and add the content to the chat
<!--[[[end]]]-->
# Keybindings