mirror of
https://github.com/Aider-AI/aider.git
synced 2025-05-29 08:44:59 +00:00
Improve linter support and repo map coverage for various programming languages.
This commit is contained in:
parent
74201dd733
commit
e2fb2466a9
2 changed files with 63 additions and 26 deletions
|
@ -517,6 +517,7 @@ def get_scm_fname(lang):
|
|||
|
||||
def get_supported_languages_md():
|
||||
from grep_ast.parsers import PARSERS
|
||||
|
||||
from aider.linter import Linter
|
||||
|
||||
res = """
|
||||
|
@ -525,11 +526,11 @@ def get_supported_languages_md():
|
|||
"""
|
||||
data = sorted((lang, ex) for ex, lang in PARSERS.items())
|
||||
linter = Linter()
|
||||
|
||||
|
||||
for lang, ext in data:
|
||||
fn = get_scm_fname(lang)
|
||||
repo_map = "✓" if Path(fn).exists() else "✗"
|
||||
linter_support = "✓" if lang in linter.languages else "✗"
|
||||
repo_map = "✓" if Path(fn).exists() else ""
|
||||
linter_support = "✓"
|
||||
res += f"| {lang:20} | {ext:20} | {repo_map:^8} | {linter_support:^6} |\n"
|
||||
|
||||
res += "\n"
|
||||
|
|
|
@ -9,40 +9,76 @@ Aider supports almost all popular coding languages.
|
|||
This is because top LLMs are fluent in most mainstream languages,
|
||||
and familiar with popular libraries, packages and frameworks.
|
||||
|
||||
Aider uses tree-sitter to do code analysis and help
|
||||
Aider has specific support for linting many languages.
|
||||
By default, aider runs the built in linter any time a file is edited.
|
||||
If it finds syntax errors, aider will offer to fix them for you.
|
||||
This helps catch small code issues and quickly fix them.
|
||||
|
||||
Aider also does code analysis to help
|
||||
the LLM navigate larger code bases by producing
|
||||
a [repository map](https://aider.chat/docs/repomap.html).
|
||||
Aider can currently produce repository maps for many popular
|
||||
mainstream languages, listed below.
|
||||
|
||||
Aider should work quite well for other languages, even without repo map support.
|
||||
Aider should work quite well for other languages, even those
|
||||
without repo map or linter support.
|
||||
|
||||
<!--[[[cog
|
||||
from aider.repomap import get_supported_languages_md
|
||||
cog.out(get_supported_languages_md())
|
||||
]]]-->
|
||||
|
||||
| Language | File extension |
|
||||
|:--------:|:--------------:|
|
||||
| c | .c |
|
||||
| c_sharp | .cs |
|
||||
| cpp | .cc |
|
||||
| cpp | .cpp |
|
||||
| elisp | .el |
|
||||
| elixir | .ex |
|
||||
| elm | .elm |
|
||||
| go | .go |
|
||||
| java | .java |
|
||||
| javascript | .js |
|
||||
| javascript | .mjs |
|
||||
| ocaml | .ml |
|
||||
| php | .php |
|
||||
| python | .py |
|
||||
| ql | .ql |
|
||||
| ruby | .rb |
|
||||
| rust | .rs |
|
||||
| typescript | .ts |
|
||||
| typescript | .tsx |
|
||||
| Language | File extension | Repo map | Linter |
|
||||
|:--------:|:--------------:|:--------:|:------:|
|
||||
| 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 | | ✓ |
|
||||
|
||||
<!--[[[end]]]-->
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue