diff --git a/README.md b/README.md index 1611156f8..ab7a43f1d 100644 --- a/README.md +++ b/README.md @@ -39,14 +39,15 @@ $ aider --opus ## Features -- Chat with aider about your code by running `aider ...` -- Aider will edit the content of your source files. +- Chat with aider about your code: `aider ...` +- Ask for changes: + - Request new features, changes, improvements, or bug fixes to your code. + - Ask for new test cases, updated documentation or code refactors. + - Paste in a GitHub issue url and aider will try to solve it. +- Aider will edit your files. +- Aider [automatically git commits changes](https://aider.chat/docs/faq.html#how-does-aider-use-git) with a sensible commit message. - Aider works with most popular languages: python, javascript, typescript, php, html, css, and more... - Aider works well with GPT-4o, Claude 3 Opus, GPT-3.5 and supports [connecting to almost any LLM](https://aider.chat/docs/llms.html). -- Request new features, changes, improvements, or bug fixes to your code. -- Ask for new test cases, updated documentation or code refactors. -- Paste in a GitHub issue url and aider will try to solve it. -- Aider [automatically git commits changes](https://aider.chat/docs/faq.html#how-does-aider-use-git) These frequent, automatic commits provide a safety net. It's easy to undo changes or use standard git workflows to manage longer sequences of changes. - Aider can make coordinated changes across multiple files at once. - Aider uses a [map of your entire git repo](https://aider.chat/docs/repomap.html), which helps it work well in larger codebases. - You can also edit files in your editor while chatting with aider. diff --git a/aider/repomap.py b/aider/repomap.py index 4893379f3..38a30cd35 100644 --- a/aider/repomap.py +++ b/aider/repomap.py @@ -500,6 +500,19 @@ def get_random_color(): return res +def get_supported_languages_md(): + from grep_ast.parsers import PARSERS + + res = "" + data = sorted((lang, ex) for ex, lang in PARSERS.items()) + for lang, ext in data: + res += "" + res += f'{lang:20}\n' + res += f'{ext:20}\n' + res += "" + return res + + if __name__ == "__main__": fnames = sys.argv[1:] diff --git a/scripts/update-docs.sh b/scripts/update-docs.sh index 8bd3cc8df..3148a02c2 100755 --- a/scripts/update-docs.sh +++ b/scripts/update-docs.sh @@ -13,3 +13,4 @@ cog $ARG \ website/index.md \ website/docs/usage.md \ website/docs/commands.md \ + website/docs/languages.md diff --git a/website/docs/languages.md b/website/docs/languages.md new file mode 100644 index 000000000..15a068e85 --- /dev/null +++ b/website/docs/languages.md @@ -0,0 +1,130 @@ +--- +nav_order: 50 +--- +# Supported languages + +Aider will work with most every popular code language, +because the leading LLMs know most of them. +Even if your language isn't listed below, aider may still be effective for you. +The best thing to do is try! + +Aider uses a [map of your entire git repo](https://aider.chat/docs/repomap.html), +which helps it work well in larger codebases. +Aider uses tree-sitter to understand the language listed below, +and can analyze them when creating the repo map. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Language + + File extension +
bash .bash
c .c
c_sharp .cs
commonlisp .cl
cpp .cc
cpp .cpp
css .css
dockerfile .dockerfile
dot .dot
elisp .el
elixir .ex
elm .elm
embedded_template .et
erlang .erl
go .go
gomod .gomod
hack .hack
haskell .hs
hcl .hcl
html .html
java .java
javascript .js
javascript .mjs
jsdoc .jsdoc
json .json
julia .jl
kotlin .kt
lua .lua
make .mk
objc .m
ocaml .ml
perl .pl
php .php
python .py
ql .ql
r .R
r .r
regex .regex
rst .rst
ruby .rb
rust .rs
scala .scala
sql .sql
sqlite .sqlite
toml .toml
tsq .tsq
typescript .ts
typescript .tsx
yaml .yaml