Rewrite the supported tools lists in new files
This commit is contained in:
parent
aca1edb476
commit
df9bee88f6
5 changed files with 983 additions and 309 deletions
137
README.md
137
README.md
|
@ -78,140 +78,9 @@ other content at [w0rp.com](https://w0rp.com).
|
||||||
|
|
||||||
## 1. Supported Languages and Tools
|
## 1. Supported Languages and Tools
|
||||||
|
|
||||||
This plugin supports the following languages and tools. All available
|
ALE supports a wide variety of languages and tools. See the
|
||||||
tools will be run in combination, so they can be complementary.
|
[full list](supported-tools.md) in the
|
||||||
|
[Supported Languages and Tools](supported-tools.md) page.
|
||||||
<!--
|
|
||||||
Keep the table rows sorted alphabetically by the language name,
|
|
||||||
and the tools in the tools column sorted alphabetically by the tool
|
|
||||||
name. That seems to be the fairest way to arrange this table.
|
|
||||||
|
|
||||||
Remember to also update doc/ale.txt, which has a similar list with different
|
|
||||||
formatting.
|
|
||||||
-->
|
|
||||||
|
|
||||||
**Notes:**
|
|
||||||
|
|
||||||
* *^ No linters for text or Vim help filetypes are enabled by default.*
|
|
||||||
* *!! These linters check only files on disk. See `:help ale-lint-file-linters`*
|
|
||||||
|
|
||||||
| Language | Tools |
|
|
||||||
| -------- | ----- |
|
|
||||||
| Ada | [gcc](https://gcc.gnu.org) |
|
|
||||||
| ASM | [gcc](https://gcc.gnu.org) |
|
|
||||||
| Ansible | [ansible-lint](https://github.com/willthames/ansible-lint) |
|
|
||||||
| API Blueprint | [drafter](https://github.com/apiaryio/drafter) |
|
|
||||||
| AsciiDoc | [alex](https://github.com/wooorm/alex) !!, [proselint](http://proselint.com/), [redpen](http://redpen.cc/), [write-good](https://github.com/btford/write-good), [vale](https://github.com/ValeLint/vale), [textlint](https://textlint.github.io/) |
|
|
||||||
| Awk | [gawk](https://www.gnu.org/software/gawk/)|
|
|
||||||
| Bash | [language-server](https://github.com/mads-hartmann/bash-language-server), shell [-n flag](https://www.gnu.org/software/bash/manual/bash.html#index-set), [shellcheck](https://www.shellcheck.net/), [shfmt](https://github.com/mvdan/sh) |
|
|
||||||
| BibTeX | [bibclean](http://ftp.math.utah.edu/pub/bibclean/) |
|
|
||||||
| Bourne Shell | shell [-n flag](http://linux.die.net/man/1/sh), [shellcheck](https://www.shellcheck.net/), [shfmt](https://github.com/mvdan/sh) |
|
|
||||||
| C | [cppcheck](http://cppcheck.sourceforge.net), [cpplint](https://github.com/google/styleguide/tree/gh-pages/cpplint), [clang](http://clang.llvm.org/), [clangd](https://clang.llvm.org/extra/clangd.html), [clangtidy](http://clang.llvm.org/extra/clang-tidy/) !!, [clang-format](https://clang.llvm.org/docs/ClangFormat.html), [cquery](https://github.com/cquery-project/cquery), [flawfinder](https://www.dwheeler.com/flawfinder/), [gcc](https://gcc.gnu.org/), [uncrustify](https://github.com/uncrustify/uncrustify), [ccls](https://github.com/MaskRay/ccls) |
|
|
||||||
| C++ (filetype cpp) | [clang](http://clang.llvm.org/), [clangd](https://clang.llvm.org/extra/clangd.html), [clangcheck](http://clang.llvm.org/docs/ClangCheck.html) !!, [clangtidy](http://clang.llvm.org/extra/clang-tidy/) !!, [clang-format](https://clang.llvm.org/docs/ClangFormat.html), [clazy](https://github.com/KDE/clazy) !!, [cppcheck](http://cppcheck.sourceforge.net), [cpplint](https://github.com/google/styleguide/tree/gh-pages/cpplint) !!, [cquery](https://github.com/cquery-project/cquery), [flawfinder](https://www.dwheeler.com/flawfinder/), [gcc](https://gcc.gnu.org/), [uncrustify](https://github.com/uncrustify/uncrustify), [ccls](https://github.com/MaskRay/ccls) |
|
|
||||||
| CUDA | [nvcc](http://docs.nvidia.com/cuda/cuda-compiler-driver-nvcc/index.html) |
|
|
||||||
| C# | [mcs](http://www.mono-project.com/docs/about-mono/languages/csharp/) see:`help ale-cs-mcs` for details, [mcsc](http://www.mono-project.com/docs/about-mono/languages/csharp/) !! see:`help ale-cs-mcsc` for details and configuration, [uncrustify](https://github.com/uncrustify/uncrustify) |
|
|
||||||
| Chef | [foodcritic](http://www.foodcritic.io/) |
|
|
||||||
| Clojure | [joker](https://github.com/candid82/joker) |
|
|
||||||
| CloudFormation | [cfn-python-lint](https://github.com/awslabs/cfn-python-lint) |
|
|
||||||
| CMake | [cmakelint](https://github.com/richq/cmake-lint), [cmake-format](https://github.com/cheshirekow/cmake_format) |
|
|
||||||
| CoffeeScript | [coffee](http://coffeescript.org/), [coffeelint](https://www.npmjs.com/package/coffeelint) |
|
|
||||||
| Crystal | [ameba](https://github.com/veelenga/ameba) !!, [crystal](https://crystal-lang.org/) !! |
|
|
||||||
| CSS | [csslint](http://csslint.net/), [prettier](https://github.com/prettier/prettier), [stylelint](https://github.com/stylelint/stylelint) |
|
|
||||||
| Cucumber | [cucumber](https://cucumber.io/) |
|
|
||||||
| Cypher | [cypher-lint](https://github.com/cleishm/libcypher-parser) |
|
|
||||||
| Cython (pyrex filetype) | [cython](http://cython.org/) |
|
|
||||||
| D | [dls](https://github.com/d-language-server/dls), [dmd](https://dlang.org/dmd-linux.html), [uncrustify](https://github.com/uncrustify/uncrustify) |
|
|
||||||
| Dafny | [dafny](https://rise4fun.com/Dafny) !! |
|
|
||||||
| Dart | [dartanalyzer](https://github.com/dart-lang/sdk/tree/master/pkg/analyzer_cli) !!, [language_server](https://github.com/natebosch/dart_language_server), [dartfmt](https://github.com/dart-lang/sdk/tree/master/utils/dartfmt) |
|
|
||||||
| Dockerfile | [dockerfile_lint](https://github.com/projectatomic/dockerfile_lint), [hadolint](https://github.com/hadolint/hadolint) |
|
|
||||||
| Elixir | [credo](https://github.com/rrrene/credo), [dialyxir](https://github.com/jeremyjh/dialyxir), [dogma](https://github.com/lpil/dogma), [mix](https://hexdocs.pm/mix/Mix.html) !!, [elixir-ls](https://github.com/JakeBecker/elixir-ls) |
|
|
||||||
| Elm | [elm-format](https://github.com/avh4/elm-format), [elm-make](https://github.com/elm-lang/elm-make) |
|
|
||||||
| Erb | [erb](https://apidock.com/ruby/ERB), [erubi](https://github.com/jeremyevans/erubi), [erubis](https://github.com/kwatch/erubis), [ruumba](https://github.com/ericqweinstein/ruumba) |
|
|
||||||
| Erlang | [erlc](http://erlang.org/doc/man/erlc.html), [SyntaxErl](https://github.com/ten0s/syntaxerl) |
|
|
||||||
| Fish | fish [-n flag](https://linux.die.net/man/1/fish)
|
|
||||||
| Fortran | [gcc](https://gcc.gnu.org/), [language_server](https://github.com/hansec/fortran-language-server) |
|
|
||||||
| Fountain | [proselint](http://proselint.com/) |
|
|
||||||
| FusionScript | [fusion-lint](https://github.com/RyanSquared/fusionscript) |
|
|
||||||
| Git Commit Messages | [gitlint](https://github.com/jorisroovers/gitlint) |
|
|
||||||
| GLSL | [glslang](https://github.com/KhronosGroup/glslang), [glslls](https://github.com/svenstaro/glsl-language-server) |
|
|
||||||
| Go | [gofmt](https://golang.org/cmd/gofmt/), [goimports](https://godoc.org/golang.org/x/tools/cmd/goimports), [go mod](https://golang.org/cmd/go/) !!, [go vet](https://golang.org/cmd/vet/) !!, [golint](https://godoc.org/github.com/golang/lint), [gotype](https://godoc.org/golang.org/x/tools/cmd/gotype) !!, [gometalinter](https://github.com/alecthomas/gometalinter) !!, [go build](https://golang.org/cmd/go/) !!, [gosimple](https://github.com/dominikh/go-tools/tree/master/cmd/gosimple) !!, [staticcheck](https://github.com/dominikh/go-tools/tree/master/cmd/staticcheck) !!, [golangserver](https://github.com/sourcegraph/go-langserver), [golangci-lint](https://github.com/golangci/golangci-lint) !!, [bingo](https://github.com/saibing/bingo) |
|
|
||||||
| GraphQL | [eslint](http://eslint.org/), [gqlint](https://github.com/happylinks/gqlint), [prettier](https://github.com/prettier/prettier) |
|
|
||||||
| Hack | [hack](http://hacklang.org/), [hackfmt](https://github.com/facebook/hhvm/tree/master/hphp/hack/hackfmt), [hhast](https://github.com/hhvm/hhast) (disabled by default; see `:help ale-integration-hack`) |
|
|
||||||
| Haml | [haml-lint](https://github.com/brigade/haml-lint) |
|
|
||||||
| Handlebars | [ember-template-lint](https://github.com/rwjblue/ember-template-lint) |
|
|
||||||
| Haskell | [brittany](https://github.com/lspitzner/brittany), [ghc](https://www.haskell.org/ghc/), [cabal-ghc](https://www.haskell.org/cabal/), [stylish-haskell](https://github.com/jaspervdj/stylish-haskell), [stack-ghc](https://haskellstack.org/), [stack-build](https://haskellstack.org/) !!, [ghc-mod](https://github.com/DanielG/ghc-mod), [hlint](https://hackage.haskell.org/package/hlint), [hdevtools](https://hackage.haskell.org/package/hdevtools), [hfmt](https://github.com/danstiner/hfmt), [hie](https://github.com/haskell/haskell-ide-engine) |
|
|
||||||
| HCL | [terraform-fmt](https://github.com/hashicorp/terraform) |
|
|
||||||
| HTML | [alex](https://github.com/wooorm/alex) !!, [HTMLHint](http://htmlhint.com/), [proselint](http://proselint.com/), [tidy](http://www.html-tidy.org/), [prettier](https://github.com/prettier/prettier), [write-good](https://github.com/btford/write-good) |
|
|
||||||
| Idris | [idris](http://www.idris-lang.org/) |
|
|
||||||
| ISPC | [ispc](https://ispc.github.io/) !! |
|
|
||||||
| Java | [checkstyle](http://checkstyle.sourceforge.net), [javac](http://www.oracle.com/technetwork/java/javase/downloads/index.html), [google-java-format](https://github.com/google/google-java-format), [PMD](https://pmd.github.io/), [javalsp](https://github.com/georgewfraser/vscode-javac), [uncrustify](https://github.com/uncrustify/uncrustify) |
|
|
||||||
| JavaScript | [eslint](http://eslint.org/), [flow](https://flowtype.org/), [jscs](http://jscs.info/), [jshint](http://jshint.com/), [prettier](https://github.com/prettier/prettier), [prettier-eslint](https://github.com/prettier/prettier-eslint-cli), [prettier-standard](https://github.com/sheerun/prettier-standard), [standard](http://standardjs.com/), [tsserver](https://github.com/Microsoft/TypeScript/wiki/Standalone-Server-%28tsserver%29), [xo](https://github.com/sindresorhus/xo)
|
|
||||||
| JSON | [fixjson](https://github.com/rhysd/fixjson), [jsonlint](http://zaa.ch/jsonlint/), [jq](https://stedolan.github.io/jq/), [prettier](https://github.com/prettier/prettier) |
|
|
||||||
| Julia | [languageserver](https://github.com/JuliaEditorSupport/LanguageServer.jl) |
|
|
||||||
| Kotlin | [kotlinc](https://kotlinlang.org) !!, [ktlint](https://ktlint.github.io) !!, [languageserver](https://github.com/fwcd/KotlinLanguageServer) see `:help ale-integration-kotlin` for configuration instructions |
|
|
||||||
| LaTeX | [alex](https://github.com/wooorm/alex) !!, [chktex](http://www.nongnu.org/chktex/), [lacheck](https://www.ctan.org/pkg/lacheck), [proselint](http://proselint.com/), [redpen](http://redpen.cc/), [vale](https://github.com/ValeLint/vale), [write-good](https://github.com/btford/write-good), [textlint](https://textlint.github.io/) |
|
|
||||||
| Less | [lessc](https://www.npmjs.com/package/less), [prettier](https://github.com/prettier/prettier), [stylelint](https://github.com/stylelint/stylelint) |
|
|
||||||
| LLVM | [llc](https://llvm.org/docs/CommandGuide/llc.html) |
|
|
||||||
| Lua | [luac](https://www.lua.org/manual/5.1/luac.html), [luacheck](https://github.com/mpeterv/luacheck) |
|
|
||||||
| Mail | [alex](https://github.com/wooorm/alex) !!, [proselint](http://proselint.com/), [vale](https://github.com/ValeLint/vale) |
|
|
||||||
| Make | [checkmake](https://github.com/mrtazz/checkmake) |
|
|
||||||
| Markdown | [alex](https://github.com/wooorm/alex) !!, [markdownlint](https://github.com/DavidAnson/markdownlint) !!, [mdl](https://github.com/mivok/markdownlint), [prettier](https://github.com/prettier/prettier), [proselint](http://proselint.com/), [redpen](http://redpen.cc/), [remark-lint](https://github.com/wooorm/remark-lint), [textlint](https://textlint.github.io/), [vale](https://github.com/ValeLint/vale), [write-good](https://github.com/btford/write-good) |
|
|
||||||
| MATLAB | [mlint](https://www.mathworks.com/help/matlab/ref/mlint.html) |
|
|
||||||
| Mercury | [mmc](http://mercurylang.org) !! |
|
|
||||||
| NASM | [nasm](https://www.nasm.us/) !! |
|
|
||||||
| Nim | [nim check](https://nim-lang.org/docs/nimc.html) !! |
|
|
||||||
| nix | [nix-instantiate](http://nixos.org/nix/manual/#sec-nix-instantiate) |
|
|
||||||
| nroff | [alex](https://github.com/wooorm/alex) !!, [proselint](http://proselint.com/), [write-good](https://github.com/btford/write-good)|
|
|
||||||
| Objective-C | [clang](http://clang.llvm.org/), [clangd](https://clang.llvm.org/extra/clangd.html), [uncrustify](https://github.com/uncrustify/uncrustify), [ccls](https://github.com/MaskRay/ccls) |
|
|
||||||
| Objective-C++ | [clang](http://clang.llvm.org/), [clangd](https://clang.llvm.org/extra/clangd.html), [uncrustify](https://github.com/uncrustify/uncrustify) |
|
|
||||||
| OCaml | [merlin](https://github.com/the-lambda-church/merlin) see `:help ale-ocaml-merlin` for configuration instructions, [ols](https://github.com/freebroccolo/ocaml-language-server), [ocamlformat](https://github.com/ocaml-ppx/ocamlformat) |
|
|
||||||
| Pawn | [uncrustify](https://github.com/uncrustify/uncrustify) |
|
|
||||||
| Perl | [perl -c](https://perl.org/), [perl-critic](https://metacpan.org/pod/Perl::Critic), [perltidy](https://metacpan.org/pod/distribution/Perl-Tidy/bin/perltidy) |
|
|
||||||
| Perl6 | [perl6 -c](https://perl6.org) |
|
|
||||||
| PHP | [langserver](https://github.com/felixfbecker/php-language-server), [phan](https://github.com/phan/phan) see `:help ale-php-phan` to instructions, [php -l](https://secure.php.net/), [phpcs](https://github.com/squizlabs/PHP_CodeSniffer), [phpmd](https://phpmd.org), [phpstan](https://github.com/phpstan/phpstan), [phpcbf](https://github.com/squizlabs/PHP_CodeSniffer), [php-cs-fixer](http://cs.sensiolabs.org/), [psalm](https://getpsalm.org) !! |
|
|
||||||
| PO | [alex](https://github.com/wooorm/alex) !!, [msgfmt](https://www.gnu.org/software/gettext/manual/html_node/msgfmt-Invocation.html), [proselint](http://proselint.com/), [write-good](https://github.com/btford/write-good) |
|
|
||||||
| Pod | [alex](https://github.com/wooorm/alex) !!, [proselint](http://proselint.com/), [write-good](https://github.com/btford/write-good) |
|
|
||||||
| Pony | [ponyc](https://github.com/ponylang/ponyc) |
|
|
||||||
| Prolog | [swipl](https://github.com/SWI-Prolog/swipl-devel) |
|
|
||||||
| proto | [protoc-gen-lint](https://github.com/ckaznocha/protoc-gen-lint) |
|
|
||||||
| Pug | [pug-lint](https://github.com/pugjs/pug-lint) |
|
|
||||||
| Puppet | [languageserver](https://github.com/lingua-pupuli/puppet-editor-services), [puppet](https://puppet.com), [puppet-lint](https://puppet-lint.com) |
|
|
||||||
| Python | [autopep8](https://github.com/hhatto/autopep8), [bandit](https://github.com/PyCQA/bandit), [black](https://github.com/ambv/black), [flake8](http://flake8.pycqa.org/en/latest/), [isort](https://github.com/timothycrosley/isort), [mypy](http://mypy-lang.org/), [prospector](https://github.com/PyCQA/prospector), [pycodestyle](https://github.com/PyCQA/pycodestyle), [pydocstyle](https://www.pydocstyle.org/), [pyls](https://github.com/palantir/python-language-server), [pyre](https://github.com/facebook/pyre-check), [pylint](https://www.pylint.org/) !!, [vulture](https://github.com/jendrikseipp/vulture) !!, [yapf](https://github.com/google/yapf) |
|
|
||||||
| QML | [qmlfmt](https://github.com/jesperhh/qmlfmt), [qmllint](https://github.com/qt/qtdeclarative/tree/5.11/tools/qmllint) |
|
|
||||||
| R | [lintr](https://github.com/jimhester/lintr) |
|
|
||||||
| Racket | [raco](https://docs.racket-lang.org/raco/) |
|
|
||||||
| ReasonML | [merlin](https://github.com/the-lambda-church/merlin) see `:help ale-reasonml-ols` for configuration instructions, [ols](https://github.com/freebroccolo/ocaml-language-server), [refmt](https://github.com/reasonml/reason-cli) |
|
|
||||||
| reStructuredText | [alex](https://github.com/wooorm/alex) !!, [proselint](http://proselint.com/), [redpen](http://redpen.cc/), [rstcheck](https://github.com/myint/rstcheck), [textlint](https://textlint.github.io/), [vale](https://github.com/ValeLint/vale), [write-good](https://github.com/btford/write-good) |
|
|
||||||
| Re:VIEW | [redpen](http://redpen.cc/) |
|
|
||||||
| RPM spec | [rpmlint](https://github.com/rpm-software-management/rpmlint) (disabled by default; see `:help ale-integration-spec`) |
|
|
||||||
| Ruby | [brakeman](http://brakemanscanner.org/) !!, [rails_best_practices](https://github.com/flyerhzm/rails_best_practices) !!, [reek](https://github.com/troessner/reek), [rubocop](https://github.com/bbatsov/rubocop), [ruby](https://www.ruby-lang.org), [rufo](https://github.com/ruby-formatter/rufo), [solargraph](https://solargraph.org), [standardrb](https://github.com/testdouble/standard) |
|
|
||||||
| Rust | [cargo](https://github.com/rust-lang/cargo) !! (see `:help ale-integration-rust` for configuration instructions), [rls](https://github.com/rust-lang-nursery/rls), [rustc](https://www.rust-lang.org/), [rustfmt](https://github.com/rust-lang-nursery/rustfmt) |
|
|
||||||
| Sass | [sass-lint](https://www.npmjs.com/package/sass-lint), [stylelint](https://github.com/stylelint/stylelint) |
|
|
||||||
| SCSS | [prettier](https://github.com/prettier/prettier), [sass-lint](https://www.npmjs.com/package/sass-lint), [scss-lint](https://github.com/brigade/scss-lint), [stylelint](https://github.com/stylelint/stylelint) |
|
|
||||||
| Scala | [fsc](https://www.scala-lang.org/old/sites/default/files/linuxsoft_archives/docu/files/tools/fsc.html), [sbtserver](https://www.scala-sbt.org/1.x/docs/sbt-server.html), [scalac](http://scala-lang.org), [scalafmt](https://scalameta.org/scalafmt/), [scalastyle](http://www.scalastyle.org)|
|
|
||||||
| Slim | [slim-lint](https://github.com/sds/slim-lint) |
|
|
||||||
| SML | [smlnj](http://www.smlnj.org/) |
|
|
||||||
| Solidity | [solhint](https://github.com/protofire/solhint), [solium](https://github.com/duaraghav8/Solium) |
|
|
||||||
| Stylus | [stylelint](https://github.com/stylelint/stylelint) |
|
|
||||||
| SugarSS | [stylelint](https://github.com/stylelint/stylelint) |
|
|
||||||
| SQL | [sqlint](https://github.com/purcell/sqlint), [sqlfmt](https://github.com/jackc/sqlfmt) |
|
|
||||||
| Swift | [swiftlint](https://github.com/realm/SwiftLint), [swiftformat](https://github.com/nicklockwood/SwiftFormat) |
|
|
||||||
| Tcl | [nagelfar](http://nagelfar.sourceforge.net) !! |
|
|
||||||
| Terraform | [fmt](https://github.com/hashicorp/terraform), [tflint](https://github.com/wata727/tflint) |
|
|
||||||
| Texinfo | [alex](https://github.com/wooorm/alex) !!, [proselint](http://proselint.com/), [write-good](https://github.com/btford/write-good)|
|
|
||||||
| Text^ | [alex](https://github.com/wooorm/alex) !!, [proselint](http://proselint.com/), [redpen](http://redpen.cc/), [textlint](https://textlint.github.io/), [vale](https://github.com/ValeLint/vale), [write-good](https://github.com/btford/write-good) |
|
|
||||||
| Thrift | [thrift](http://thrift.apache.org/) |
|
|
||||||
| TypeScript | [eslint](http://eslint.org/), [prettier](https://github.com/prettier/prettier), [tslint](https://github.com/palantir/tslint), [tsserver](https://github.com/Microsoft/TypeScript/wiki/Standalone-Server-%28tsserver%29), typecheck |
|
|
||||||
| VALA | [uncrustify](https://github.com/uncrustify/uncrustify) |
|
|
||||||
| Verilog | [iverilog](https://github.com/steveicarus/iverilog), [verilator](http://www.veripool.org/projects/verilator/wiki/Intro), [vlog](https://www.mentor.com/products/fv/questa/), [xvlog](https://www.xilinx.com/products/design-tools/vivado.html) |
|
|
||||||
| VHDL | [ghdl](https://github.com/ghdl/ghdl), [vcom](https://www.mentor.com/products/fv/questa/), [xvhdl](https://www.xilinx.com/products/design-tools/vivado.html) |
|
|
||||||
| Vim | [vint](https://github.com/Kuniwak/vint) |
|
|
||||||
| Vim help^ | [alex](https://github.com/wooorm/alex) !!, [proselint](http://proselint.com/), [write-good](https://github.com/btford/write-good) |
|
|
||||||
| Vue | [prettier](https://github.com/prettier/prettier), [vls](https://github.com/vuejs/vetur/tree/master/server) |
|
|
||||||
| XHTML | [alex](https://github.com/wooorm/alex) !!, [proselint](http://proselint.com/), [write-good](https://github.com/btford/write-good) |
|
|
||||||
| XML | [xmllint](http://xmlsoft.org/xmllint.html) |
|
|
||||||
| YAML | [prettier](https://github.com/prettier/prettier), [swaglint](https://github.com/byCedric/swaglint), [yamllint](https://yamllint.readthedocs.io/) |
|
|
||||||
| YANG | [yang-lsp](https://github.com/theia-ide/yang-lsp) |
|
|
||||||
|
|
||||||
<a name="usage"></a>
|
<a name="usage"></a>
|
||||||
|
|
||||||
|
|
463
doc/ale-supported-languages-and-tools.txt
Normal file
463
doc/ale-supported-languages-and-tools.txt
Normal file
|
@ -0,0 +1,463 @@
|
||||||
|
*ale-supported-languages-and-tools.txt* For Vim version 8.0.
|
||||||
|
*ale-supported-list*
|
||||||
|
|
||||||
|
ALE Supported Languages and Tools
|
||||||
|
|
||||||
|
===============================================================================
|
||||||
|
|
||||||
|
The following languages and tools are supported by ALE.
|
||||||
|
|
||||||
|
Notes:
|
||||||
|
|
||||||
|
`^` No linters for text or Vim help filetypes are enabled by default.
|
||||||
|
`!!` These linters check only files on disk. See |ale-lint-file-linters|
|
||||||
|
|
||||||
|
* Ada
|
||||||
|
* `gcc`
|
||||||
|
* Ansible
|
||||||
|
* `ansible-lint`
|
||||||
|
* API Blueprint
|
||||||
|
* `drafter`
|
||||||
|
* AsciiDoc
|
||||||
|
* `alex`!!
|
||||||
|
* `proselint`
|
||||||
|
* `redpen`
|
||||||
|
* `textlint`
|
||||||
|
* `vale`
|
||||||
|
* `write-good`
|
||||||
|
* ASM
|
||||||
|
* `gcc`
|
||||||
|
* Awk
|
||||||
|
* `gawk`
|
||||||
|
* Bash
|
||||||
|
* `language-server`
|
||||||
|
* `shell` (-n flag)
|
||||||
|
* `shellcheck`
|
||||||
|
* `shfmt`
|
||||||
|
* BibTeX
|
||||||
|
* `bibclean`
|
||||||
|
* Bourne Shell
|
||||||
|
* `shell` (-n flag)
|
||||||
|
* `shellcheck`
|
||||||
|
* `shfmt`
|
||||||
|
* C
|
||||||
|
* `ccls`
|
||||||
|
* `clang`
|
||||||
|
* `clangd`
|
||||||
|
* `clang-format`
|
||||||
|
* `clangtidy`!!
|
||||||
|
* `cppcheck`
|
||||||
|
* `cpplint`!!
|
||||||
|
* `cquery`
|
||||||
|
* `flawfinder`
|
||||||
|
* `gcc`
|
||||||
|
* `uncrustify`
|
||||||
|
* C#
|
||||||
|
* `mcs`
|
||||||
|
* `mcsc`!!
|
||||||
|
* `uncrustify`
|
||||||
|
* C++ (filetype cpp)
|
||||||
|
* `ccls`
|
||||||
|
* `clang`
|
||||||
|
* `clangcheck`!!
|
||||||
|
* `clangd`
|
||||||
|
* `clang-format`
|
||||||
|
* `clangtidy`!!
|
||||||
|
* `clazy`!!
|
||||||
|
* `cppcheck`
|
||||||
|
* `cpplint`!!
|
||||||
|
* `cquery`
|
||||||
|
* `flawfinder`
|
||||||
|
* `gcc`
|
||||||
|
* `uncrustify`
|
||||||
|
* Chef
|
||||||
|
* `foodcritic`
|
||||||
|
* Clojure
|
||||||
|
* `joker`
|
||||||
|
* CloudFormation
|
||||||
|
* `cfn-python-lint`
|
||||||
|
* CMake
|
||||||
|
* `cmake-format`
|
||||||
|
* `cmakelint`
|
||||||
|
* CoffeeScript
|
||||||
|
* `coffee`
|
||||||
|
* `coffeelint`
|
||||||
|
* Crystal
|
||||||
|
* `ameba`!!
|
||||||
|
* `crystal`!!
|
||||||
|
* CSS
|
||||||
|
* `csslint`
|
||||||
|
* `prettier`
|
||||||
|
* `stylelint`
|
||||||
|
* Cucumber
|
||||||
|
* `cucumber`
|
||||||
|
* CUDA
|
||||||
|
* `nvcc`!!
|
||||||
|
* Cypher
|
||||||
|
* `cypher-lint`
|
||||||
|
* Cython (pyrex filetype)
|
||||||
|
* `cython`
|
||||||
|
* D
|
||||||
|
* `dls`
|
||||||
|
* `dmd`
|
||||||
|
* `uncrustify`
|
||||||
|
* Dafny
|
||||||
|
* `dafny`!!
|
||||||
|
* Dart
|
||||||
|
* `dartanalyzer`!!
|
||||||
|
* `dartfmt`!!
|
||||||
|
* `language_server`
|
||||||
|
* Dockerfile
|
||||||
|
* `dockerfile_lint`
|
||||||
|
* `hadolint`
|
||||||
|
* Elixir
|
||||||
|
* `credo`
|
||||||
|
* `dialyxir`
|
||||||
|
* `dogma`
|
||||||
|
* `elixir-ls`
|
||||||
|
* `mix`!!
|
||||||
|
* Elm
|
||||||
|
* `elm-format`
|
||||||
|
* `elm-make`
|
||||||
|
* Erb
|
||||||
|
* `erb`
|
||||||
|
* `erubi`
|
||||||
|
* `erubis`
|
||||||
|
* `ruumba`
|
||||||
|
* Erlang
|
||||||
|
* `erlc`
|
||||||
|
* `SyntaxErl`
|
||||||
|
* Fish
|
||||||
|
* `fish` (-n flag)
|
||||||
|
* Fortran
|
||||||
|
* `gcc`
|
||||||
|
* `language_server`
|
||||||
|
* Fountain
|
||||||
|
* `proselint`
|
||||||
|
* FusionScript
|
||||||
|
* `fusion-lint`
|
||||||
|
* Git Commit Messages
|
||||||
|
* `gitlint`
|
||||||
|
* GLSL
|
||||||
|
* glslang
|
||||||
|
* `glslls`
|
||||||
|
* Go
|
||||||
|
* `bingo`
|
||||||
|
* `go build`!!
|
||||||
|
* `gofmt`
|
||||||
|
* `goimports`
|
||||||
|
* `golangci-lint`!!
|
||||||
|
* `golangserver`
|
||||||
|
* `golint`
|
||||||
|
* `gometalinter`!!
|
||||||
|
* `go mod`!!
|
||||||
|
* `gosimple`!!
|
||||||
|
* `gotype`!!
|
||||||
|
* `go vet`!!
|
||||||
|
* `staticcheck`!!
|
||||||
|
* GraphQL
|
||||||
|
* `eslint`
|
||||||
|
* `gqlint`
|
||||||
|
* `prettier`
|
||||||
|
* Hack
|
||||||
|
* `hack`
|
||||||
|
* `hackfmt`
|
||||||
|
* `hhast`
|
||||||
|
* Haml
|
||||||
|
* `haml-lint`
|
||||||
|
* Handlebars
|
||||||
|
* `ember-template-lint`
|
||||||
|
* Haskell
|
||||||
|
* `brittany`
|
||||||
|
* `cabal-ghc`
|
||||||
|
* `ghc`
|
||||||
|
* `ghc-mod`
|
||||||
|
* `hdevtools`
|
||||||
|
* `hfmt`
|
||||||
|
* `hie`
|
||||||
|
* `hlint`
|
||||||
|
* `stack-build`!!
|
||||||
|
* `stack-ghc`
|
||||||
|
* `stylish-haskell`
|
||||||
|
* HCL
|
||||||
|
* `terraform-fmt`
|
||||||
|
* HTML
|
||||||
|
* `alex`!!
|
||||||
|
* `HTMLHint`
|
||||||
|
* `prettier`
|
||||||
|
* `proselint`
|
||||||
|
* `tidy`
|
||||||
|
* `write-good`
|
||||||
|
* Idris
|
||||||
|
* `idris`
|
||||||
|
* ISPC
|
||||||
|
* `ispc`!!
|
||||||
|
* Java
|
||||||
|
* `checkstyle`
|
||||||
|
* `google-java-format`
|
||||||
|
* `javac`
|
||||||
|
* `javalsp`
|
||||||
|
* `PMD`
|
||||||
|
* `uncrustify`
|
||||||
|
* JavaScript
|
||||||
|
* `eslint`
|
||||||
|
* `flow`
|
||||||
|
* `jscs`
|
||||||
|
* `jshint`
|
||||||
|
* `prettier`
|
||||||
|
* `prettier-eslint`
|
||||||
|
* `prettier-standard`
|
||||||
|
* `standard`
|
||||||
|
* `tsserver`
|
||||||
|
* `xo`
|
||||||
|
* JSON
|
||||||
|
* `fixjson`
|
||||||
|
* `jq`
|
||||||
|
* `jsonlint`
|
||||||
|
* `prettier`
|
||||||
|
* Julia
|
||||||
|
* `languageserver`
|
||||||
|
* Kotlin
|
||||||
|
* `kotlinc`!!
|
||||||
|
* `ktlint`!!
|
||||||
|
* `languageserver`
|
||||||
|
* LaTeX (tex)
|
||||||
|
* `alex`!!
|
||||||
|
* `chktex`
|
||||||
|
* `lacheck`
|
||||||
|
* `proselint`
|
||||||
|
* `redpen`
|
||||||
|
* `textlint`
|
||||||
|
* `vale`
|
||||||
|
* `write-good`
|
||||||
|
* Less
|
||||||
|
* `lessc`
|
||||||
|
* `prettier`
|
||||||
|
* `stylelint`
|
||||||
|
* LLVM
|
||||||
|
* `llc`
|
||||||
|
* Lua
|
||||||
|
* `luac`
|
||||||
|
* `luacheck`
|
||||||
|
* Mail
|
||||||
|
* `alex`!!
|
||||||
|
* `proselint`
|
||||||
|
* `vale`
|
||||||
|
* Make
|
||||||
|
* `checkmake`
|
||||||
|
* Markdown
|
||||||
|
* `alex`!!
|
||||||
|
* `markdownlint`!!
|
||||||
|
* `mdl`
|
||||||
|
* `prettier`
|
||||||
|
* `proselint`
|
||||||
|
* `redpen`
|
||||||
|
* `remark-lint`
|
||||||
|
* `textlint`
|
||||||
|
* `vale`
|
||||||
|
* `write-good`
|
||||||
|
* MATLAB
|
||||||
|
* `mlint`
|
||||||
|
* Mercury
|
||||||
|
* `mmc`!!
|
||||||
|
* NASM
|
||||||
|
* `nasm`!!
|
||||||
|
* Nim
|
||||||
|
* `nim check`!!
|
||||||
|
* nix
|
||||||
|
* `nix-instantiate`
|
||||||
|
* nroff
|
||||||
|
* `alex`!!
|
||||||
|
* `proselint`
|
||||||
|
* `write-good`
|
||||||
|
* Objective-C
|
||||||
|
* `ccls`
|
||||||
|
* `clang`
|
||||||
|
* `clangd`
|
||||||
|
* `uncrustify`
|
||||||
|
* Objective-C++
|
||||||
|
* `clang`
|
||||||
|
* `clangd`
|
||||||
|
* `uncrustify`
|
||||||
|
* OCaml
|
||||||
|
* `merlin` (see |ale-ocaml-merlin|)
|
||||||
|
* `ocamlformat`
|
||||||
|
* `ols`
|
||||||
|
* Pawn
|
||||||
|
* `uncrustify`
|
||||||
|
* Perl
|
||||||
|
* `perl -c`
|
||||||
|
* `perl-critic`
|
||||||
|
* `perltidy`
|
||||||
|
* Perl6
|
||||||
|
* `perl6 -c`
|
||||||
|
* PHP
|
||||||
|
* `langserver`
|
||||||
|
* `phan`
|
||||||
|
* `phpcbf`
|
||||||
|
* `phpcs`
|
||||||
|
* `php-cs-fixer`
|
||||||
|
* `php -l`
|
||||||
|
* `phpmd`
|
||||||
|
* `phpstan`
|
||||||
|
* `psalm`!!
|
||||||
|
* PO
|
||||||
|
* `alex`!!
|
||||||
|
* `msgfmt`
|
||||||
|
* `proselint`
|
||||||
|
* `write-good`
|
||||||
|
* Pod
|
||||||
|
* `alex`!!
|
||||||
|
* `proselint`
|
||||||
|
* `write-good`
|
||||||
|
* Pony
|
||||||
|
* `ponyc`
|
||||||
|
* Prolog
|
||||||
|
* `swipl`
|
||||||
|
* proto
|
||||||
|
* `protoc-gen-lint`
|
||||||
|
* Pug
|
||||||
|
* `pug-lint`
|
||||||
|
* Puppet
|
||||||
|
* `languageserver`
|
||||||
|
* `puppet`
|
||||||
|
* `puppet-lint`
|
||||||
|
* Python
|
||||||
|
* `autopep8`
|
||||||
|
* `bandit`
|
||||||
|
* `black`
|
||||||
|
* `flake8`
|
||||||
|
* `isort`
|
||||||
|
* `mypy`
|
||||||
|
* `prospector`
|
||||||
|
* `pycodestyle`
|
||||||
|
* `pydocstyle`
|
||||||
|
* `pylint`!!
|
||||||
|
* `pyls`
|
||||||
|
* `pyre`
|
||||||
|
* `vulture`!!
|
||||||
|
* `yapf`
|
||||||
|
* QML
|
||||||
|
* `qmlfmt`
|
||||||
|
* `qmllint`
|
||||||
|
* R
|
||||||
|
* `lintr`
|
||||||
|
* Racket
|
||||||
|
* `raco`
|
||||||
|
* ReasonML
|
||||||
|
* `merlin`
|
||||||
|
* `ols`
|
||||||
|
* `refmt`
|
||||||
|
* reStructuredText
|
||||||
|
* `alex`!!
|
||||||
|
* `proselint`
|
||||||
|
* `redpen`
|
||||||
|
* `rstcheck`
|
||||||
|
* `textlint`
|
||||||
|
* `vale`
|
||||||
|
* `write-good`
|
||||||
|
* Re:VIEW
|
||||||
|
* `redpen`
|
||||||
|
* RPM spec
|
||||||
|
* `rpmlint`
|
||||||
|
* Ruby
|
||||||
|
* `brakeman`
|
||||||
|
* `rails_best_practices`!!
|
||||||
|
* `reek`
|
||||||
|
* `rubocop`
|
||||||
|
* `ruby`
|
||||||
|
* `rufo`
|
||||||
|
* `solargraph`
|
||||||
|
* `standardrb`
|
||||||
|
* Rust
|
||||||
|
* `cargo`!!
|
||||||
|
* `rls`
|
||||||
|
* `rustc` (see |ale-integration-rust|)
|
||||||
|
* `rustfmt`
|
||||||
|
* Sass
|
||||||
|
* `sass-lint`
|
||||||
|
* `stylelint`
|
||||||
|
* Scala
|
||||||
|
* `fsc`
|
||||||
|
* `sbtserver`
|
||||||
|
* `scalac`
|
||||||
|
* `scalafmt`
|
||||||
|
* `scalastyle`
|
||||||
|
* SCSS
|
||||||
|
* `prettier`
|
||||||
|
* `sass-lint`
|
||||||
|
* `scss-lint`
|
||||||
|
* `stylelint`
|
||||||
|
* Slim
|
||||||
|
* `slim-lint`
|
||||||
|
* SML
|
||||||
|
* `smlnj`
|
||||||
|
* Solidity
|
||||||
|
* `solhint`
|
||||||
|
* `solium`
|
||||||
|
* SQL
|
||||||
|
* `sqlfmt`
|
||||||
|
* `sqlint`
|
||||||
|
* Stylus
|
||||||
|
* `stylelint`
|
||||||
|
* SugarSS
|
||||||
|
* `stylelint`
|
||||||
|
* Swift
|
||||||
|
* `swiftformat`
|
||||||
|
* `swiftlint`
|
||||||
|
* Tcl
|
||||||
|
* `nagelfar`!!
|
||||||
|
* Terraform
|
||||||
|
* `fmt`
|
||||||
|
* `tflint`
|
||||||
|
* Texinfo
|
||||||
|
* `alex`!!
|
||||||
|
* `proselint`
|
||||||
|
* `write-good`
|
||||||
|
* Text^
|
||||||
|
* `alex`!!
|
||||||
|
* `proselint`
|
||||||
|
* `redpen`
|
||||||
|
* `textlint`
|
||||||
|
* `vale`
|
||||||
|
* `write-good`
|
||||||
|
* Thrift
|
||||||
|
* `thrift`
|
||||||
|
* TypeScript
|
||||||
|
* `eslint`
|
||||||
|
* `prettier`
|
||||||
|
* `tslint`
|
||||||
|
* `tsserver`
|
||||||
|
* `typecheck`
|
||||||
|
* VALA
|
||||||
|
* `uncrustify`
|
||||||
|
* Verilog
|
||||||
|
* `iverilog`
|
||||||
|
* `verilator`
|
||||||
|
* `vlog`
|
||||||
|
* `xvlog`
|
||||||
|
* VHDL
|
||||||
|
* `ghdl`
|
||||||
|
* `vcom`
|
||||||
|
* `xvhdl`
|
||||||
|
* Vim
|
||||||
|
* `vint`
|
||||||
|
* Vim help^
|
||||||
|
* `alex`!!
|
||||||
|
* `proselint`
|
||||||
|
* `write-good`
|
||||||
|
* Vue
|
||||||
|
* `prettier`
|
||||||
|
* `vls`
|
||||||
|
* XHTML
|
||||||
|
* `alex`!!
|
||||||
|
* `proselint`
|
||||||
|
* `write-good`
|
||||||
|
* XML
|
||||||
|
* `xmllint`
|
||||||
|
* YAML
|
||||||
|
* `prettier`
|
||||||
|
* `swaglint`
|
||||||
|
* `yamllint`
|
||||||
|
* YANG
|
||||||
|
* `yang-lsp`
|
124
doc/ale.txt
124
doc/ale.txt
|
@ -413,128 +413,8 @@ developer documentation. See |ale-development|
|
||||||
===============================================================================
|
===============================================================================
|
||||||
2. Supported Languages & Tools *ale-support*
|
2. Supported Languages & Tools *ale-support*
|
||||||
|
|
||||||
The following languages and tools are supported.
|
ALE supports a wide variety of languages and tools. See |ale-supported-list|
|
||||||
|
for the full list.
|
||||||
Notes:
|
|
||||||
|
|
||||||
`^` No linters for text or Vim help filetypes are enabled by default.
|
|
||||||
`!!` These linters check only files on disk. See |ale-lint-file-linters|
|
|
||||||
|
|
||||||
* Ada: `gcc`
|
|
||||||
* ASM: `gcc`
|
|
||||||
* Ansible: `ansible-lint`
|
|
||||||
* API Blueprint: `drafter`
|
|
||||||
* AsciiDoc: `alex`!!, `proselint`, `redpen`, `write-good`, `vale`, `textlint`
|
|
||||||
* Awk: `gawk`
|
|
||||||
* Bash: `language-server`, `shell` (-n flag), `shellcheck`, `shfmt`
|
|
||||||
* BibTeX: `bibclean`
|
|
||||||
* Bourne Shell: `shell` (-n flag), `shellcheck`, `shfmt`
|
|
||||||
* C: `cppcheck`, `cpplint`!!, `clang`, `clangd`, `clangtidy`!!, `clang-format`, `cquery`, `flawfinder`, `gcc`, `uncrustify`, `ccls`
|
|
||||||
* C++ (filetype cpp): `clang`, `clangd`, `clangcheck`!!, `clangtidy`!!, `clang-format`, `clazy`!!, `cppcheck`, `cpplint`!!, `cquery`, `flawfinder`, `gcc`, `uncrustify`, `ccls`
|
|
||||||
* CUDA: `nvcc`!!
|
|
||||||
* C#: `mcs`, `mcsc`!!, `uncrustify`
|
|
||||||
* Chef: `foodcritic`
|
|
||||||
* Clojure: `joker`
|
|
||||||
* CloudFormation: `cfn-python-lint`
|
|
||||||
* CMake: `cmakelint`, `cmake-format`
|
|
||||||
* CoffeeScript: `coffee`, `coffeelint`
|
|
||||||
* Crystal: `ameba`!!, `crystal`!!
|
|
||||||
* CSS: `csslint`, `prettier`, `stylelint`
|
|
||||||
* Cucumber: `cucumber`
|
|
||||||
* Cypher: `cypher-lint`
|
|
||||||
* Cython (pyrex filetype): `cython`
|
|
||||||
* D: `dls`, `dmd`, `uncrustify`
|
|
||||||
* Dafny: `dafny`!!
|
|
||||||
* Dart: `dartanalyzer`!!, `language_server`, dartfmt!!
|
|
||||||
* Dockerfile: `dockerfile_lint`, `hadolint`
|
|
||||||
* Elixir: `credo`, `dialyxir`, `dogma`, `mix`!!, `elixir-ls`
|
|
||||||
* Elm: `elm-format, elm-make`
|
|
||||||
* Erb: `erb`, `erubi`, `erubis`, `ruumba`
|
|
||||||
* Erlang: `erlc`, `SyntaxErl`
|
|
||||||
* Fish: `fish` (-n flag)
|
|
||||||
* Fortran: `gcc`, `language_server`
|
|
||||||
* Fountain: `proselint`
|
|
||||||
* FusionScript: `fusion-lint`
|
|
||||||
* Git Commit Messages: `gitlint`
|
|
||||||
* GLSL: glslang, `glslls`
|
|
||||||
* Go: `gofmt`, `goimports`, `go mod`!!, `go vet`!!, `golint`, `gotype`!!, `gometalinter`!!, `go build`!!, `gosimple`!!, `staticcheck`!!, `golangserver`, `golangci-lint`!!, `bingo`
|
|
||||||
* GraphQL: `eslint`, `gqlint`, `prettier`
|
|
||||||
* Hack: `hack`, `hackfmt`, `hhast`
|
|
||||||
* Haml: `haml-lint`
|
|
||||||
* Handlebars: `ember-template-lint`
|
|
||||||
* Haskell: `brittany`, `ghc`, `cabal-ghc`, `stylish-haskell`, `stack-ghc`, `stack-build`!!, `ghc-mod`, `hlint`, `hdevtools`, `hfmt`, `hie`
|
|
||||||
* HCL: `terraform-fmt`
|
|
||||||
* HTML: `alex`!!, `HTMLHint`, `proselint`, `tidy`, `prettier`, `write-good`
|
|
||||||
* Idris: `idris`
|
|
||||||
* ISPC: `ispc`!!
|
|
||||||
* Java: `checkstyle`, `javac`, `google-java-format`, `PMD`, `javalsp`, `uncrustify`
|
|
||||||
* JavaScript: `eslint`, `flow`, `jscs`, `jshint`, `prettier`, `prettier-eslint`, `prettier-standard`, `standard`, `tsserver`, `xo`
|
|
||||||
* JSON: `fixjson`, `jsonlint`, `jq`, `prettier`
|
|
||||||
* Julia: `languageserver`
|
|
||||||
* Kotlin: `kotlinc`!!, `ktlint`!!, `languageserver`
|
|
||||||
* LaTeX (tex): `alex`!!, `chktex`, `lacheck`, `proselint`, `redpen`, `vale`, `write-good`, `textlint`
|
|
||||||
* Less: `lessc`, `prettier`, `stylelint`
|
|
||||||
* LLVM: `llc`
|
|
||||||
* Lua: `luac`, `luacheck`
|
|
||||||
* Mail: `alex`!!, `proselint`, `vale`
|
|
||||||
* Make: `checkmake`
|
|
||||||
* Markdown: `alex`!!, `markdownlint`!!, `mdl`, `prettier`, `proselint`, `redpen`, `remark-lint`, `textlint`, `vale`, `write-good`
|
|
||||||
* MATLAB: `mlint`
|
|
||||||
* Mercury: `mmc`!!
|
|
||||||
* NASM: `nasm`!!
|
|
||||||
* Nim: `nim check`!!
|
|
||||||
* nix: `nix-instantiate`
|
|
||||||
* nroff: `alex`!!, `proselint`, `write-good`
|
|
||||||
* Objective-C: `clang`, `clangd`, `uncrustify`, `ccls`
|
|
||||||
* Objective-C++: `clang`, `clangd`, `uncrustify`
|
|
||||||
* OCaml: `merlin` (see |ale-ocaml-merlin|), `ols`, `ocamlformat`
|
|
||||||
* Pawn: `uncrustify`
|
|
||||||
* Perl: `perl -c`, `perl-critic`, `perltidy`
|
|
||||||
* Perl6: `perl6 -c`
|
|
||||||
* PHP: `langserver`, `phan`, `php -l`, `phpcs`, `phpmd`, `phpstan`, `phpcbf`, `php-cs-fixer`, `psalm`!!
|
|
||||||
* PO: `alex`!!, `msgfmt`, `proselint`, `write-good`
|
|
||||||
* Pod: `alex`!!, `proselint`, `write-good`
|
|
||||||
* Pony: `ponyc`
|
|
||||||
* Prolog: `swipl`
|
|
||||||
* proto: `protoc-gen-lint`
|
|
||||||
* Pug: `pug-lint`
|
|
||||||
* Puppet: `languageserver`, `puppet`, `puppet-lint`
|
|
||||||
* Python: `autopep8`, `bandit`, `black`, `flake8`, `isort`, `mypy`, `prospector`, `pycodestyle`, `pydocstyle`, `pyls`, `pyre`, `pylint`!!, `vulture`!!, `yapf`
|
|
||||||
* QML: `qmlfmt`, `qmllint`
|
|
||||||
* R: `lintr`
|
|
||||||
* Racket: `raco`
|
|
||||||
* ReasonML: `merlin`, `ols`, `refmt`
|
|
||||||
* reStructuredText: `alex`!!, `proselint`, `redpen`, `rstcheck`, `textlint`, `vale`, `write-good`
|
|
||||||
* Re:VIEW: `redpen`
|
|
||||||
* RPM spec: `rpmlint`
|
|
||||||
* Ruby: `brakeman`, `rails_best_practices`!!, `reek`, `rubocop`, `ruby`, `rufo`, `solargraph`, `standardrb`
|
|
||||||
* Rust: `cargo`!!, `rls`, `rustc` (see |ale-integration-rust|), `rustfmt`
|
|
||||||
* Sass: `sass-lint`, `stylelint`
|
|
||||||
* SCSS: `prettier`, `sass-lint`, `scss-lint`, `stylelint`
|
|
||||||
* Scala: `fsc`, `sbtserver`, `scalac`, `scalafmt`, `scalastyle`
|
|
||||||
* Slim: `slim-lint`
|
|
||||||
* SML: `smlnj`
|
|
||||||
* Solidity: `solhint`, `solium`
|
|
||||||
* Stylus: `stylelint`
|
|
||||||
* SugarSS: `stylelint`
|
|
||||||
* SQL: `sqlint`, `sqlfmt`
|
|
||||||
* Swift: `swiftlint`, `swiftformat`
|
|
||||||
* Tcl: `nagelfar`!!
|
|
||||||
* Terraform: `fmt`, `tflint`
|
|
||||||
* Texinfo: `alex`!!, `proselint`, `write-good`
|
|
||||||
* Text^: `alex`!!, `proselint`, `redpen`, `textlint`, `vale`, `write-good`
|
|
||||||
* Thrift: `thrift`
|
|
||||||
* TypeScript: `eslint`, `prettier`, `tslint`, `tsserver`, `typecheck`
|
|
||||||
* VALA: `uncrustify`
|
|
||||||
* Verilog: `iverilog`, `verilator`, `vlog`, `xvlog`
|
|
||||||
* VHDL: `ghdl`, `vcom`, `xvhdl`
|
|
||||||
* Vim: `vint`
|
|
||||||
* Vim help^: `alex`!!, `proselint`, `write-good`
|
|
||||||
* Vue: `prettier`, `vls`
|
|
||||||
* XHTML: `alex`!!, `proselint`, `write-good`
|
|
||||||
* XML: `xmllint`
|
|
||||||
* YAML: `prettier`, `swaglint`, `yamllint`
|
|
||||||
* YANG: `yang-lsp`
|
|
||||||
|
|
||||||
===============================================================================
|
===============================================================================
|
||||||
3. Linting *ale-lint*
|
3. Linting *ale-lint*
|
||||||
|
|
472
supported-tools.md
Normal file
472
supported-tools.md
Normal file
|
@ -0,0 +1,472 @@
|
||||||
|
# ALE Supported Languages and Tools
|
||||||
|
|
||||||
|
This plugin supports the following languages and tools. All available
|
||||||
|
tools will be run in combination, so they can be complementary.
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Keep the table rows sorted alphabetically by the language name,
|
||||||
|
and the tools in the tools column sorted alphabetically by the tool
|
||||||
|
name. That seems to be the fairest way to arrange this table.
|
||||||
|
|
||||||
|
Remember to also update doc/ale.txt, which has a similar list with different
|
||||||
|
formatting.
|
||||||
|
-->
|
||||||
|
|
||||||
|
**Legend**
|
||||||
|
|
||||||
|
| Key | Definition |
|
||||||
|
| ------------- | -------------------------------- |
|
||||||
|
| :floppy_disk: | Only checked when saved to disk |
|
||||||
|
| :warning: | Disabled by default |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
* Ada
|
||||||
|
* [gcc](https://gcc.gnu.org)
|
||||||
|
* Ansible
|
||||||
|
* [ansible-lint](https://github.com/willthames/ansible-lint)
|
||||||
|
* API Blueprint
|
||||||
|
* [drafter](https://github.com/apiaryio/drafter)
|
||||||
|
* AsciiDoc
|
||||||
|
* [alex](https://github.com/wooorm/alex) :floppy_disk:
|
||||||
|
* [proselint](http://proselint.com/)
|
||||||
|
* [redpen](http://redpen.cc/)
|
||||||
|
* [textlint](https://textlint.github.io/)
|
||||||
|
* [vale](https://github.com/ValeLint/vale)
|
||||||
|
* [write-good](https://github.com/btford/write-good)
|
||||||
|
* ASM
|
||||||
|
* [gcc](https://gcc.gnu.org)
|
||||||
|
* Awk
|
||||||
|
* [gawk](https://www.gnu.org/software/gawk/)
|
||||||
|
* Bash
|
||||||
|
* [language-server](https://github.com/mads-hartmann/bash-language-server)
|
||||||
|
* shell [-n flag](https://www.gnu.org/software/bash/manual/bash.html#index-set)
|
||||||
|
* [shellcheck](https://www.shellcheck.net/)
|
||||||
|
* [shfmt](https://github.com/mvdan/sh)
|
||||||
|
* BibTeX
|
||||||
|
* [bibclean](http://ftp.math.utah.edu/pub/bibclean/)
|
||||||
|
* Bourne Shell
|
||||||
|
* shell [-n flag](http://linux.die.net/man/1/sh)
|
||||||
|
* [shellcheck](https://www.shellcheck.net/)
|
||||||
|
* [shfmt](https://github.com/mvdan/sh)
|
||||||
|
* C
|
||||||
|
* [ccls](https://github.com/MaskRay/ccls)
|
||||||
|
* [clang](http://clang.llvm.org/)
|
||||||
|
* [clangd](https://clang.llvm.org/extra/clangd.html)
|
||||||
|
* [clang-format](https://clang.llvm.org/docs/ClangFormat.html)
|
||||||
|
* [clangtidy](http://clang.llvm.org/extra/clang-tidy/) :floppy_disk:
|
||||||
|
* [cppcheck](http://cppcheck.sourceforge.net)
|
||||||
|
* [cpplint](https://github.com/google/styleguide/tree/gh-pages/cpplint)
|
||||||
|
* [cquery](https://github.com/cquery-project/cquery)
|
||||||
|
* [flawfinder](https://www.dwheeler.com/flawfinder/)
|
||||||
|
* [gcc](https://gcc.gnu.org/)
|
||||||
|
* [uncrustify](https://github.com/uncrustify/uncrustify)
|
||||||
|
* C#
|
||||||
|
* [mcs](http://www.mono-project.com/docs/about-mono/languages/csharp/) see:`help ale-cs-mcs` for details
|
||||||
|
* [mcsc](http://www.mono-project.com/docs/about-mono/languages/csharp/) :floppy_disk: see:`help ale-cs-mcsc` for details and configuration
|
||||||
|
* [uncrustify](https://github.com/uncrustify/uncrustify)
|
||||||
|
* C++ (filetype cpp)
|
||||||
|
* [ccls](https://github.com/MaskRay/ccls)
|
||||||
|
* [clang](http://clang.llvm.org/)
|
||||||
|
* [clangcheck](http://clang.llvm.org/docs/ClangCheck.html) :floppy_disk:
|
||||||
|
* [clangd](https://clang.llvm.org/extra/clangd.html)
|
||||||
|
* [clang-format](https://clang.llvm.org/docs/ClangFormat.html)
|
||||||
|
* [clangtidy](http://clang.llvm.org/extra/clang-tidy/) :floppy_disk:
|
||||||
|
* [clazy](https://github.com/KDE/clazy) :floppy_disk:
|
||||||
|
* [cppcheck](http://cppcheck.sourceforge.net)
|
||||||
|
* [cpplint](https://github.com/google/styleguide/tree/gh-pages/cpplint) :floppy_disk:
|
||||||
|
* [cquery](https://github.com/cquery-project/cquery)
|
||||||
|
* [flawfinder](https://www.dwheeler.com/flawfinder/)
|
||||||
|
* [gcc](https://gcc.gnu.org/)
|
||||||
|
* [uncrustify](https://github.com/uncrustify/uncrustify)
|
||||||
|
* Chef
|
||||||
|
* [foodcritic](http://www.foodcritic.io/)
|
||||||
|
* Clojure
|
||||||
|
* [joker](https://github.com/candid82/joker)
|
||||||
|
* CloudFormation
|
||||||
|
* [cfn-python-lint](https://github.com/awslabs/cfn-python-lint)
|
||||||
|
* CMake
|
||||||
|
* [cmake-format](https://github.com/cheshirekow/cmake_format)
|
||||||
|
* [cmakelint](https://github.com/richq/cmake-lint)
|
||||||
|
* CoffeeScript
|
||||||
|
* [coffee](http://coffeescript.org/)
|
||||||
|
* [coffeelint](https://www.npmjs.com/package/coffeelint)
|
||||||
|
* Crystal
|
||||||
|
* [ameba](https://github.com/veelenga/ameba) :floppy_disk:
|
||||||
|
* [crystal](https://crystal-lang.org/) :floppy_disk:
|
||||||
|
* CSS
|
||||||
|
* [csslint](http://csslint.net/)
|
||||||
|
* [prettier](https://github.com/prettier/prettier)
|
||||||
|
* [stylelint](https://github.com/stylelint/stylelint)
|
||||||
|
* Cucumber
|
||||||
|
* [cucumber](https://cucumber.io/)
|
||||||
|
* CUDA
|
||||||
|
* [nvcc](http://docs.nvidia.com/cuda/cuda-compiler-driver-nvcc/index.html)
|
||||||
|
* Cypher
|
||||||
|
* [cypher-lint](https://github.com/cleishm/libcypher-parser)
|
||||||
|
* Cython (pyrex filetype)
|
||||||
|
* [cython](http://cython.org/)
|
||||||
|
* D
|
||||||
|
* [dls](https://github.com/d-language-server/dls)
|
||||||
|
* [dmd](https://dlang.org/dmd-linux.html)
|
||||||
|
* [uncrustify](https://github.com/uncrustify/uncrustify)
|
||||||
|
* Dafny
|
||||||
|
* [dafny](https://rise4fun.com/Dafny) :floppy_disk:
|
||||||
|
* Dart
|
||||||
|
* [dartanalyzer](https://github.com/dart-lang/sdk/tree/master/pkg/analyzer_cli) :floppy_disk:
|
||||||
|
* [dartfmt](https://github.com/dart-lang/sdk/tree/master/utils/dartfmt)
|
||||||
|
* [language_server](https://github.com/natebosch/dart_language_server)
|
||||||
|
* Dockerfile
|
||||||
|
* [dockerfile_lint](https://github.com/projectatomic/dockerfile_lint)
|
||||||
|
* [hadolint](https://github.com/hadolint/hadolint)
|
||||||
|
* Elixir
|
||||||
|
* [credo](https://github.com/rrrene/credo)
|
||||||
|
* [dialyxir](https://github.com/jeremyjh/dialyxir)
|
||||||
|
* [dogma](https://github.com/lpil/dogma)
|
||||||
|
* [elixir-ls](https://github.com/JakeBecker/elixir-ls)
|
||||||
|
* [mix](https://hexdocs.pm/mix/Mix.html) :warning: :floppy_disk:
|
||||||
|
* Elm
|
||||||
|
* [elm-format](https://github.com/avh4/elm-format)
|
||||||
|
* [elm-make](https://github.com/elm-lang/elm-make)
|
||||||
|
* Erb
|
||||||
|
* [erb](https://apidock.com/ruby/ERB)
|
||||||
|
* [erubi](https://github.com/jeremyevans/erubi)
|
||||||
|
* [erubis](https://github.com/kwatch/erubis)
|
||||||
|
* [ruumba](https://github.com/ericqweinstein/ruumba)
|
||||||
|
* Erlang
|
||||||
|
* [erlc](http://erlang.org/doc/man/erlc.html)
|
||||||
|
* [SyntaxErl](https://github.com/ten0s/syntaxerl)
|
||||||
|
* Fish
|
||||||
|
* fish [-n flag](https://linux.die.net/man/1/fish)
|
||||||
|
* Fortran
|
||||||
|
* [gcc](https://gcc.gnu.org/)
|
||||||
|
* [language_server](https://github.com/hansec/fortran-language-server)
|
||||||
|
* Fountain
|
||||||
|
* [proselint](http://proselint.com/)
|
||||||
|
* FusionScript
|
||||||
|
* [fusion-lint](https://github.com/RyanSquared/fusionscript)
|
||||||
|
* Git Commit Messages
|
||||||
|
* [gitlint](https://github.com/jorisroovers/gitlint)
|
||||||
|
* GLSL
|
||||||
|
* [glslang](https://github.com/KhronosGroup/glslang)
|
||||||
|
* [glslls](https://github.com/svenstaro/glsl-language-server)
|
||||||
|
* Go
|
||||||
|
* [bingo](https://github.com/saibing/bingo) :warning:
|
||||||
|
* [go build](https://golang.org/cmd/go/) :warning: :floppy_disk:
|
||||||
|
* [gofmt](https://golang.org/cmd/gofmt/)
|
||||||
|
* [goimports](https://godoc.org/golang.org/x/tools/cmd/goimports) :warning:
|
||||||
|
* [golangci-lint](https://github.com/golangci/golangci-lint) :warning: :floppy_disk:
|
||||||
|
* [golangserver](https://github.com/sourcegraph/go-langserver) :warning:
|
||||||
|
* [golint](https://godoc.org/github.com/golang/lint)
|
||||||
|
* [gometalinter](https://github.com/alecthomas/gometalinter) :warning: :floppy_disk:
|
||||||
|
* [go mod](https://golang.org/cmd/go/) :warning: :floppy_disk:
|
||||||
|
* [gosimple](https://github.com/dominikh/go-tools/tree/master/cmd/gosimple) :warning: :floppy_disk:
|
||||||
|
* [gotype](https://godoc.org/golang.org/x/tools/cmd/gotype) :warning: :floppy_disk:
|
||||||
|
* [go vet](https://golang.org/cmd/vet/) :floppy_disk:
|
||||||
|
* [staticcheck](https://github.com/dominikh/go-tools/tree/master/cmd/staticcheck) :warning: :floppy_disk:
|
||||||
|
* GraphQL
|
||||||
|
* [eslint](http://eslint.org/)
|
||||||
|
* [gqlint](https://github.com/happylinks/gqlint)
|
||||||
|
* [prettier](https://github.com/prettier/prettier)
|
||||||
|
* Hack
|
||||||
|
* [hack](http://hacklang.org/)
|
||||||
|
* [hackfmt](https://github.com/facebook/hhvm/tree/master/hphp/hack/hackfmt) :warning:
|
||||||
|
* [hhast](https://github.com/hhvm/hhast) :warning: (see `:help ale-integration-hack`)
|
||||||
|
* Haml
|
||||||
|
* [haml-lint](https://github.com/brigade/haml-lint)
|
||||||
|
* Handlebars
|
||||||
|
* [ember-template-lint](https://github.com/rwjblue/ember-template-lint)
|
||||||
|
* Haskell
|
||||||
|
* [brittany](https://github.com/lspitzner/brittany)
|
||||||
|
* [cabal-ghc](https://www.haskell.org/cabal/)
|
||||||
|
* [ghc](https://www.haskell.org/ghc/)
|
||||||
|
* [ghc-mod](https://github.com/DanielG/ghc-mod)
|
||||||
|
* [hdevtools](https://hackage.haskell.org/package/hdevtools)
|
||||||
|
* [hfmt](https://github.com/danstiner/hfmt)
|
||||||
|
* [hie](https://github.com/haskell/haskell-ide-engine)
|
||||||
|
* [hlint](https://hackage.haskell.org/package/hlint)
|
||||||
|
* [stack-build](https://haskellstack.org/) :floppy_disk:
|
||||||
|
* [stack-ghc](https://haskellstack.org/)
|
||||||
|
* [stylish-haskell](https://github.com/jaspervdj/stylish-haskell)
|
||||||
|
* HCL
|
||||||
|
* [terraform-fmt](https://github.com/hashicorp/terraform)
|
||||||
|
* HTML
|
||||||
|
* [alex](https://github.com/wooorm/alex) :floppy_disk:
|
||||||
|
* [HTMLHint](http://htmlhint.com/)
|
||||||
|
* [prettier](https://github.com/prettier/prettier)
|
||||||
|
* [proselint](http://proselint.com/)
|
||||||
|
* [tidy](http://www.html-tidy.org/)
|
||||||
|
* [write-good](https://github.com/btford/write-good)
|
||||||
|
* Idris
|
||||||
|
* [idris](http://www.idris-lang.org/)
|
||||||
|
* ISPC
|
||||||
|
* [ispc](https://ispc.github.io/) :floppy_disk:
|
||||||
|
* Java
|
||||||
|
* [checkstyle](http://checkstyle.sourceforge.net)
|
||||||
|
* [google-java-format](https://github.com/google/google-java-format)
|
||||||
|
* [javac](http://www.oracle.com/technetwork/java/javase/downloads/index.html)
|
||||||
|
* [javalsp](https://github.com/georgewfraser/vscode-javac)
|
||||||
|
* [PMD](https://pmd.github.io/)
|
||||||
|
* [uncrustify](https://github.com/uncrustify/uncrustify)
|
||||||
|
* JavaScript
|
||||||
|
* [eslint](http://eslint.org/)
|
||||||
|
* [flow](https://flowtype.org/)
|
||||||
|
* [jscs](http://jscs.info/)
|
||||||
|
* [jshint](http://jshint.com/)
|
||||||
|
* [prettier](https://github.com/prettier/prettier)
|
||||||
|
* [prettier-eslint](https://github.com/prettier/prettier-eslint-cli)
|
||||||
|
* [prettier-standard](https://github.com/sheerun/prettier-standard)
|
||||||
|
* [standard](http://standardjs.com/)
|
||||||
|
* [tsserver](https://github.com/Microsoft/TypeScript/wiki/Standalone-Server-%28tsserver%29)
|
||||||
|
* [xo](https://github.com/sindresorhus/xo)
|
||||||
|
* JSON
|
||||||
|
* [fixjson](https://github.com/rhysd/fixjson)
|
||||||
|
* [jq](https://stedolan.github.io/jq/)
|
||||||
|
* [jsonlint](http://zaa.ch/jsonlint/)
|
||||||
|
* [prettier](https://github.com/prettier/prettier)
|
||||||
|
* Julia
|
||||||
|
* [languageserver](https://github.com/JuliaEditorSupport/LanguageServer.jl)
|
||||||
|
* Kotlin
|
||||||
|
* [kotlinc](https://kotlinlang.org) :floppy_disk:
|
||||||
|
* [ktlint](https://ktlint.github.io) :floppy_disk:
|
||||||
|
* [languageserver](https://github.com/fwcd/KotlinLanguageServer) see `:help ale-integration-kotlin` for configuration instructions
|
||||||
|
* LaTeX
|
||||||
|
* [alex](https://github.com/wooorm/alex) :floppy_disk:
|
||||||
|
* [chktex](http://www.nongnu.org/chktex/)
|
||||||
|
* [lacheck](https://www.ctan.org/pkg/lacheck)
|
||||||
|
* [proselint](http://proselint.com/)
|
||||||
|
* [redpen](http://redpen.cc/)
|
||||||
|
* [textlint](https://textlint.github.io/)
|
||||||
|
* [vale](https://github.com/ValeLint/vale)
|
||||||
|
* [write-good](https://github.com/btford/write-good)
|
||||||
|
* Less
|
||||||
|
* [lessc](https://www.npmjs.com/package/less)
|
||||||
|
* [prettier](https://github.com/prettier/prettier)
|
||||||
|
* [stylelint](https://github.com/stylelint/stylelint)
|
||||||
|
* LLVM
|
||||||
|
* [llc](https://llvm.org/docs/CommandGuide/llc.html)
|
||||||
|
* Lua
|
||||||
|
* [luac](https://www.lua.org/manual/5.1/luac.html)
|
||||||
|
* [luacheck](https://github.com/mpeterv/luacheck)
|
||||||
|
* Mail
|
||||||
|
* [alex](https://github.com/wooorm/alex) :floppy_disk:
|
||||||
|
* [proselint](http://proselint.com/)
|
||||||
|
* [vale](https://github.com/ValeLint/vale)
|
||||||
|
* Make
|
||||||
|
* [checkmake](https://github.com/mrtazz/checkmake)
|
||||||
|
* Markdown
|
||||||
|
* [alex](https://github.com/wooorm/alex) :floppy_disk:
|
||||||
|
* [markdownlint](https://github.com/DavidAnson/markdownlint) :floppy_disk:
|
||||||
|
* [mdl](https://github.com/mivok/markdownlint)
|
||||||
|
* [prettier](https://github.com/prettier/prettier)
|
||||||
|
* [proselint](http://proselint.com/)
|
||||||
|
* [redpen](http://redpen.cc/)
|
||||||
|
* [remark-lint](https://github.com/wooorm/remark-lint)
|
||||||
|
* [textlint](https://textlint.github.io/)
|
||||||
|
* [vale](https://github.com/ValeLint/vale)
|
||||||
|
* [write-good](https://github.com/btford/write-good)
|
||||||
|
* MATLAB
|
||||||
|
* [mlint](https://www.mathworks.com/help/matlab/ref/mlint.html)
|
||||||
|
* Mercury
|
||||||
|
* [mmc](http://mercurylang.org) :floppy_disk:
|
||||||
|
* NASM
|
||||||
|
* [nasm](https://www.nasm.us/) :floppy_disk:
|
||||||
|
* Nim
|
||||||
|
* [nim check](https://nim-lang.org/docs/nimc.html) :floppy_disk:
|
||||||
|
* nix
|
||||||
|
* [nix-instantiate](http://nixos.org/nix/manual/#sec-nix-instantiate)
|
||||||
|
* nroff
|
||||||
|
* [alex](https://github.com/wooorm/alex) :floppy_disk:
|
||||||
|
* [proselint](http://proselint.com/)
|
||||||
|
* [write-good](https://github.com/btford/write-good)
|
||||||
|
* Objective-C
|
||||||
|
* [ccls](https://github.com/MaskRay/ccls)
|
||||||
|
* [clang](http://clang.llvm.org/)
|
||||||
|
* [clangd](https://clang.llvm.org/extra/clangd.html)
|
||||||
|
* [uncrustify](https://github.com/uncrustify/uncrustify)
|
||||||
|
* Objective-C++
|
||||||
|
* [clang](http://clang.llvm.org/)
|
||||||
|
* [clangd](https://clang.llvm.org/extra/clangd.html)
|
||||||
|
* [uncrustify](https://github.com/uncrustify/uncrustify)
|
||||||
|
* OCaml
|
||||||
|
* [merlin](https://github.com/the-lambda-church/merlin) see `:help ale-ocaml-merlin` for configuration instructions
|
||||||
|
* [ocamlformat](https://github.com/ocaml-ppx/ocamlformat)
|
||||||
|
* [ols](https://github.com/freebroccolo/ocaml-language-server)
|
||||||
|
* Pawn
|
||||||
|
* [uncrustify](https://github.com/uncrustify/uncrustify)
|
||||||
|
* Perl
|
||||||
|
* [perl -c](https://perl.org/) :warning:
|
||||||
|
* [perl-critic](https://metacpan.org/pod/Perl::Critic)
|
||||||
|
* [perltidy](https://metacpan.org/pod/distribution/Perl-Tidy/bin/perltidy) :warning:
|
||||||
|
* Perl6
|
||||||
|
* [perl6 -c](https://perl6.org) :warning:
|
||||||
|
* PHP
|
||||||
|
* [langserver](https://github.com/felixfbecker/php-language-server)
|
||||||
|
* [phan](https://github.com/phan/phan) see `:help ale-php-phan` to instructions
|
||||||
|
* [phpcbf](https://github.com/squizlabs/PHP_CodeSniffer)
|
||||||
|
* [phpcs](https://github.com/squizlabs/PHP_CodeSniffer)
|
||||||
|
* [php-cs-fixer](http://cs.sensiolabs.org/)
|
||||||
|
* [php -l](https://secure.php.net/)
|
||||||
|
* [phpmd](https://phpmd.org)
|
||||||
|
* [phpstan](https://github.com/phpstan/phpstan)
|
||||||
|
* [psalm](https://getpsalm.org) :floppy_disk:
|
||||||
|
* PO
|
||||||
|
* [alex](https://github.com/wooorm/alex) :floppy_disk:
|
||||||
|
* [msgfmt](https://www.gnu.org/software/gettext/manual/html_node/msgfmt-Invocation.html)
|
||||||
|
* [proselint](http://proselint.com/)
|
||||||
|
* [write-good](https://github.com/btford/write-good)
|
||||||
|
* Pod
|
||||||
|
* [alex](https://github.com/wooorm/alex) :floppy_disk:
|
||||||
|
* [proselint](http://proselint.com/)
|
||||||
|
* [write-good](https://github.com/btford/write-good)
|
||||||
|
* Pony
|
||||||
|
* [ponyc](https://github.com/ponylang/ponyc)
|
||||||
|
* Prolog
|
||||||
|
* [swipl](https://github.com/SWI-Prolog/swipl-devel)
|
||||||
|
* proto
|
||||||
|
* [protoc-gen-lint](https://github.com/ckaznocha/protoc-gen-lint)
|
||||||
|
* Pug
|
||||||
|
* [pug-lint](https://github.com/pugjs/pug-lint)
|
||||||
|
* Puppet
|
||||||
|
* [languageserver](https://github.com/lingua-pupuli/puppet-editor-services)
|
||||||
|
* [puppet](https://puppet.com)
|
||||||
|
* [puppet-lint](https://puppet-lint.com)
|
||||||
|
* Python
|
||||||
|
* [autopep8](https://github.com/hhatto/autopep8) :warning:
|
||||||
|
* [bandit](https://github.com/PyCQA/bandit) :warning:
|
||||||
|
* [black](https://github.com/ambv/black) :warning:
|
||||||
|
* [flake8](http://flake8.pycqa.org/en/latest/)
|
||||||
|
* [isort](https://github.com/timothycrosley/isort) :warning:
|
||||||
|
* [mypy](http://mypy-lang.org/)
|
||||||
|
* [prospector](https://github.com/PyCQA/prospector) :warning:
|
||||||
|
* [pycodestyle](https://github.com/PyCQA/pycodestyle) :warning:
|
||||||
|
* [pydocstyle](https://www.pydocstyle.org/) :warning:
|
||||||
|
* [pylint](https://www.pylint.org/) :floppy_disk:
|
||||||
|
* [pyls](https://github.com/palantir/python-language-server) :warning:
|
||||||
|
* [pyre](https://github.com/facebook/pyre-check) :warning:
|
||||||
|
* [vulture](https://github.com/jendrikseipp/vulture) :warning: :floppy_disk:
|
||||||
|
* [yapf](https://github.com/google/yapf) :warning:
|
||||||
|
* QML
|
||||||
|
* [qmlfmt](https://github.com/jesperhh/qmlfmt)
|
||||||
|
* [qmllint](https://github.com/qt/qtdeclarative/tree/5.11/tools/qmllint)
|
||||||
|
* R
|
||||||
|
* [lintr](https://github.com/jimhester/lintr)
|
||||||
|
* Racket
|
||||||
|
* [raco](https://docs.racket-lang.org/raco/)
|
||||||
|
* ReasonML
|
||||||
|
* [merlin](https://github.com/the-lambda-church/merlin) see `:help ale-reasonml-ols` for configuration instructions
|
||||||
|
* [ols](https://github.com/freebroccolo/ocaml-language-server)
|
||||||
|
* [refmt](https://github.com/reasonml/reason-cli)
|
||||||
|
* reStructuredText
|
||||||
|
* [alex](https://github.com/wooorm/alex) :floppy_disk:
|
||||||
|
* [proselint](http://proselint.com/)
|
||||||
|
* [redpen](http://redpen.cc/)
|
||||||
|
* [rstcheck](https://github.com/myint/rstcheck)
|
||||||
|
* [textlint](https://textlint.github.io/)
|
||||||
|
* [vale](https://github.com/ValeLint/vale)
|
||||||
|
* [write-good](https://github.com/btford/write-good)
|
||||||
|
* Re:VIEW
|
||||||
|
* [redpen](http://redpen.cc/)
|
||||||
|
* RPM spec
|
||||||
|
* [rpmlint](https://github.com/rpm-software-management/rpmlint) :warning: (see `:help ale-integration-spec`)
|
||||||
|
* Ruby
|
||||||
|
* [brakeman](http://brakemanscanner.org/) :floppy_disk:
|
||||||
|
* [rails_best_practices](https://github.com/flyerhzm/rails_best_practices) :floppy_disk:
|
||||||
|
* [reek](https://github.com/troessner/reek)
|
||||||
|
* [rubocop](https://github.com/bbatsov/rubocop)
|
||||||
|
* [ruby](https://www.ruby-lang.org)
|
||||||
|
* [rufo](https://github.com/ruby-formatter/rufo)
|
||||||
|
* [solargraph](https://solargraph.org)
|
||||||
|
* [standardrb](https://github.com/testdouble/standard)
|
||||||
|
* Rust
|
||||||
|
* [cargo](https://github.com/rust-lang/cargo) :floppy_disk: (see `:help ale-integration-rust` for configuration instructions)
|
||||||
|
* [rls](https://github.com/rust-lang-nursery/rls) :warning:
|
||||||
|
* [rustc](https://www.rust-lang.org/) :warning:
|
||||||
|
* [rustfmt](https://github.com/rust-lang-nursery/rustfmt)
|
||||||
|
* Sass
|
||||||
|
* [sass-lint](https://www.npmjs.com/package/sass-lint)
|
||||||
|
* [stylelint](https://github.com/stylelint/stylelint)
|
||||||
|
* Scala
|
||||||
|
* [fsc](https://www.scala-lang.org/old/sites/default/files/linuxsoft_archives/docu/files/tools/fsc.html)
|
||||||
|
* [sbtserver](https://www.scala-sbt.org/1.x/docs/sbt-server.html)
|
||||||
|
* [scalac](http://scala-lang.org)
|
||||||
|
* [scalafmt](https://scalameta.org/scalafmt/)
|
||||||
|
* [scalastyle](http://www.scalastyle.org)
|
||||||
|
* SCSS
|
||||||
|
* [prettier](https://github.com/prettier/prettier)
|
||||||
|
* [sass-lint](https://www.npmjs.com/package/sass-lint)
|
||||||
|
* [scss-lint](https://github.com/brigade/scss-lint)
|
||||||
|
* [stylelint](https://github.com/stylelint/stylelint)
|
||||||
|
* Slim
|
||||||
|
* [slim-lint](https://github.com/sds/slim-lint)
|
||||||
|
* SML
|
||||||
|
* [smlnj](http://www.smlnj.org/)
|
||||||
|
* Solidity
|
||||||
|
* [solhint](https://github.com/protofire/solhint)
|
||||||
|
* [solium](https://github.com/duaraghav8/Solium)
|
||||||
|
* SQL
|
||||||
|
* [sqlfmt](https://github.com/jackc/sqlfmt)
|
||||||
|
* [sqlint](https://github.com/purcell/sqlint)
|
||||||
|
* Stylus
|
||||||
|
* [stylelint](https://github.com/stylelint/stylelint)
|
||||||
|
* SugarSS
|
||||||
|
* [stylelint](https://github.com/stylelint/stylelint)
|
||||||
|
* Swift
|
||||||
|
* [swiftformat](https://github.com/nicklockwood/SwiftFormat)
|
||||||
|
* [swiftlint](https://github.com/realm/SwiftLint)
|
||||||
|
* Tcl
|
||||||
|
* [nagelfar](http://nagelfar.sourceforge.net) :floppy_disk:
|
||||||
|
* Terraform
|
||||||
|
* [fmt](https://github.com/hashicorp/terraform)
|
||||||
|
* [tflint](https://github.com/wata727/tflint)
|
||||||
|
* Texinfo
|
||||||
|
* [alex](https://github.com/wooorm/alex) :floppy_disk:
|
||||||
|
* [proselint](http://proselint.com/)
|
||||||
|
* [write-good](https://github.com/btford/write-good)
|
||||||
|
* Text
|
||||||
|
* [alex](https://github.com/wooorm/alex) :warning: :floppy_disk:
|
||||||
|
* [proselint](http://proselint.com/) :warning:
|
||||||
|
* [redpen](http://redpen.cc/) :warning:
|
||||||
|
* [textlint](https://textlint.github.io/) :warning:
|
||||||
|
* [vale](https://github.com/ValeLint/vale) :warning:
|
||||||
|
* [write-good](https://github.com/btford/write-good) :warning:
|
||||||
|
* Thrift
|
||||||
|
* [thrift](http://thrift.apache.org/)
|
||||||
|
* TypeScript
|
||||||
|
* [eslint](http://eslint.org/)
|
||||||
|
* [prettier](https://github.com/prettier/prettier)
|
||||||
|
* [tslint](https://github.com/palantir/tslint)
|
||||||
|
* [tsserver](https://github.com/Microsoft/TypeScript/wiki/Standalone-Server-%28tsserver%29)
|
||||||
|
* typecheck
|
||||||
|
* VALA
|
||||||
|
* [uncrustify](https://github.com/uncrustify/uncrustify)
|
||||||
|
* Verilog
|
||||||
|
* [iverilog](https://github.com/steveicarus/iverilog)
|
||||||
|
* [verilator](http://www.veripool.org/projects/verilator/wiki/Intro)
|
||||||
|
* [vlog](https://www.mentor.com/products/fv/questa/)
|
||||||
|
* [xvlog](https://www.xilinx.com/products/design-tools/vivado.html)
|
||||||
|
* VHDL
|
||||||
|
* [ghdl](https://github.com/ghdl/ghdl)
|
||||||
|
* [vcom](https://www.mentor.com/products/fv/questa/)
|
||||||
|
* [xvhdl](https://www.xilinx.com/products/design-tools/vivado.html)
|
||||||
|
* Vim
|
||||||
|
* [vint](https://github.com/Kuniwak/vint)
|
||||||
|
* Vim help
|
||||||
|
* [alex](https://github.com/wooorm/alex) :warning: :floppy_disk:
|
||||||
|
* [proselint](http://proselint.com/) :warning:
|
||||||
|
* [write-good](https://github.com/btford/write-good) :warning:
|
||||||
|
* Vue
|
||||||
|
* [prettier](https://github.com/prettier/prettier)
|
||||||
|
* [vls](https://github.com/vuejs/vetur/tree/master/server)
|
||||||
|
* XHTML
|
||||||
|
* [alex](https://github.com/wooorm/alex) :floppy_disk:
|
||||||
|
* [proselint](http://proselint.com/)
|
||||||
|
* [write-good](https://github.com/btford/write-good)
|
||||||
|
* XML
|
||||||
|
* [xmllint](http://xmlsoft.org/xmllint.html)
|
||||||
|
* YAML
|
||||||
|
* [prettier](https://github.com/prettier/prettier)
|
||||||
|
* [swaglint](https://github.com/byCedric/swaglint)
|
||||||
|
* [yamllint](https://yamllint.readthedocs.io/)
|
||||||
|
* YANG
|
||||||
|
* [yang-lsp](https://github.com/theia-ide/yang-lsp)
|
|
@ -6,66 +6,56 @@ set -u
|
||||||
# This script compares the table of supported tools in both the README file
|
# This script compares the table of supported tools in both the README file
|
||||||
# and the doc/ale.txt file, so we can complain if they don't match up.
|
# and the doc/ale.txt file, so we can complain if they don't match up.
|
||||||
|
|
||||||
# Find the start and end lines for the help section.
|
|
||||||
ale_help_start_line="$( \
|
|
||||||
grep -m1 -n '^[0-9][0-9]*\. *Supported Languages' doc/ale.txt \
|
|
||||||
| sed 's/\([0-9]*\).*/\1/' \
|
|
||||||
)"
|
|
||||||
ale_help_section_size="$( \
|
|
||||||
tail -n +"$ale_help_start_line" doc/ale.txt \
|
|
||||||
| grep -m1 -n '================' \
|
|
||||||
| sed 's/\([0-9]*\).*/\1/' \
|
|
||||||
)"
|
|
||||||
# -- shellcheck complains about expr, but it works better.
|
|
||||||
# shellcheck disable=SC2003
|
|
||||||
ale_help_end_line="$(expr "$ale_help_start_line" + "$ale_help_section_size")"
|
|
||||||
|
|
||||||
# Find the start and end lines for the same section in the README.
|
|
||||||
readme_start_line="$( \
|
|
||||||
grep -m1 -n '^.*[0-9][0-9]*\. *Supported Languages' README.md \
|
|
||||||
| sed 's/\([0-9]*\).*/\1/' \
|
|
||||||
)"
|
|
||||||
readme_section_size="$( \
|
|
||||||
tail -n +"$readme_start_line" README.md \
|
|
||||||
| grep -m1 -n '^##.*Usage' \
|
|
||||||
| sed 's/\([0-9]*\).*/\1/' \
|
|
||||||
)"
|
|
||||||
# shellcheck disable=SC2003
|
|
||||||
readme_end_line="$(expr "$readme_start_line" + "$readme_section_size")"
|
|
||||||
|
|
||||||
doc_file="$(mktemp -t doc.XXXXXXXX)"
|
doc_file="$(mktemp -t doc.XXXXXXXX)"
|
||||||
|
doc_sorted_file="$(mktemp -t doc-sorted.XXXXXXXX)"
|
||||||
readme_file="$(mktemp -t readme.XXXXXXXX)"
|
readme_file="$(mktemp -t readme.XXXXXXXX)"
|
||||||
|
|
||||||
sed -n "$ale_help_start_line,$ale_help_end_line"p doc/ale.txt \
|
while read -r; do
|
||||||
| grep '\* .*: ' \
|
if [[ "$REPLY" =~ ^! ]]; then
|
||||||
| sed 's/^*//' \
|
language="${REPLY/!/}"
|
||||||
| sed 's/[`!^]//g;s/([^)]*)//g' \
|
else
|
||||||
| sed 's/ *\([,:]\)/\1/g' \
|
# shellcheck disable=SC2001
|
||||||
| sed 's/ */ /g' \
|
echo "$language - $REPLY"
|
||||||
| sed 's/^ *//;s/ *$//' \
|
fi
|
||||||
| sed 's/^/ /' \
|
done < <(
|
||||||
> "$doc_file"
|
grep '^\*\|^ *\*' doc/ale-supported-languages-and-tools.txt \
|
||||||
|
| sed -e '1,2d' \
|
||||||
|
| sed 's/^\* */!/' \
|
||||||
|
| sed 's/^ *\* *\|!!\|\^\|(.*)\|`//g' \
|
||||||
|
| sed 's/ *$//'
|
||||||
|
) > "$doc_file"
|
||||||
|
|
||||||
sed -n "$readme_start_line,$readme_end_line"p README.md \
|
while read -r; do
|
||||||
| grep '| .* |' \
|
if [[ "$REPLY" =~ ^! ]]; then
|
||||||
| sed '/^| Language/d;/^| ---/d' \
|
language="${REPLY/!/}"
|
||||||
| sed 's/^|//' \
|
else
|
||||||
| sed 's/ \{0,1\}|/:/' \
|
# shellcheck disable=SC2001
|
||||||
| sed 's/[`!^|]//g;s/([^)]*)//g' \
|
echo "$language - $REPLY"
|
||||||
| sed 's/\[//g;s/\]//g' \
|
fi
|
||||||
| sed 's/see[^,]*//g' \
|
done < <(
|
||||||
| sed 's/ *\([,:]\)/\1/g' \
|
grep '^\*\|^ *\*' supported-tools.md \
|
||||||
| sed 's/ */ /g' \
|
| sed 's/^\* */!/' \
|
||||||
| sed 's/^ *//;s/ *$//' \
|
| sed 's/^ *\* *\|:floppy_disk:\|:warning:\|(.*)\|\[\|\].*\|-n flag//g' \
|
||||||
| sed 's/^/ /' \
|
| sed 's/ *$//'
|
||||||
| sed 's/ *-n flag//g' \
|
) > "$readme_file"
|
||||||
> "$readme_file"
|
|
||||||
|
|
||||||
exit_code=0
|
exit_code=0
|
||||||
|
|
||||||
|
# Sort the tools ignoring case, and complain when things are out of order.
|
||||||
|
sort -f -k1,2 "$doc_file" -o "$doc_sorted_file"
|
||||||
|
|
||||||
|
diff -U0 "$doc_sorted_file" "$doc_file" || exit_code=$?
|
||||||
|
|
||||||
|
if ((exit_code)); then
|
||||||
|
echo
|
||||||
|
echo "The supported tools list isn't sorted properly"
|
||||||
|
echo
|
||||||
|
fi
|
||||||
|
|
||||||
diff -U0 "$readme_file" "$doc_file" || exit_code=$?
|
diff -U0 "$readme_file" "$doc_file" || exit_code=$?
|
||||||
|
|
||||||
rm "$doc_file"
|
rm "$doc_file"
|
||||||
|
rm "$doc_sorted_file"
|
||||||
rm "$readme_file"
|
rm "$readme_file"
|
||||||
|
|
||||||
exit "$exit_code"
|
exit "$exit_code"
|
||||||
|
|
Reference in a new issue