*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`
  * `gnatpp`
* Ansible
  * `ansible-lint`
* API Blueprint
  * `drafter`
* AsciiDoc
  * `alex`!!
  * `languagetool`!!
  * `proselint`
  * `redpen`
  * `textlint`
  * `vale`
  * `write-good`
* ASM
  * `gcc`
* Awk
  * `gawk`
* Bash
  * `bashate`
  * `language-server`
  * `shell` (-n flag)
  * `shellcheck`
  * `shfmt`
* Bats
  * `shellcheck`
* BibTeX
  * `bibclean`
* Bourne Shell
  * `shell` (-n flag)
  * `shellcheck`
  * `shfmt`
* C
  * `astyle`
  * `ccls`
  * `clang` (`cc`)
  * `clangd`
  * `clang-format`
  * `clangtidy`!!
  * `cppcheck`
  * `cpplint`!!
  * `cquery`
  * `flawfinder`
  * `gcc` (`cc`)
  * `uncrustify`
* C#
  * `csc`!!
  * `mcs`
  * `mcsc`!!
  * `uncrustify`
* C++ (filetype cpp)
  * `astyle`
  * `ccls`
  * `clang` (`cc`)
  * `clangcheck`!!
  * `clangd`
  * `clang-format`
  * `clangtidy`!!
  * `clazy`!!
  * `cppcheck`
  * `cpplint`!!
  * `cquery`
  * `flawfinder`
  * `gcc` (`cc`)
  * `uncrustify`
* Chef
  * `cookstyle`
  * `foodcritic`
* Clojure
  * `clj-kondo`
  * `joker`
* CloudFormation
  * `cfn-python-lint`
* CMake
  * `cmake-format`
  * `cmakelint`
* CoffeeScript
  * `coffee`
  * `coffeelint`
* Crystal
  * `ameba`!!
  * `crystal`!!
* CSS
  * `csslint`
  * `fecs`
  * `prettier`
  * `stylelint`
* Cucumber
  * `cucumber`
* CUDA
  * `nvcc`!!
* Cypher
  * `cypher-lint`
* Cython (pyrex filetype)
  * `cython`
* D
  * `dfmt`
  * `dls`
  * `dmd`
  * `uncrustify`
* Dafny
  * `dafny`!!
* Dart
  * `dartanalyzer`!!
  * `dartfmt`!!
  * `language_server`
* Dhall
  * `dhall-format`
* Dockerfile
  * `dockerfile_lint`
  * `hadolint`
* Elixir
  * `credo`
  * `dialyxir`
  * `dogma`
  * `elixir-ls`
  * `mix`!!
* Elm
  * `elm-format`
  * `elm-ls`
  * `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`!!
  * `gopls`
  * `gosimple`!!
  * `gotype`!!
  * `go vet`!!
  * `revive`!!
  * `staticcheck`!!
* GraphQL
  * `eslint`
  * `gqlint`
  * `prettier`
* Hack
  * `hack`
  * `hackfmt`
  * `hhast`
* Haml
  * `haml-lint`
* Handlebars
  * `ember-template-lint`
* Haskell
  * `brittany`
  * `cabal-ghc`
  * `floskell`
  * `ghc`
  * `ghc-mod`
  * `hdevtools`
  * `hfmt`
  * `hie`
  * `hindent`
  * `hlint`
  * `stack-build`!!
  * `stack-ghc`
  * `stylish-haskell`
* HCL
  * `terraform-fmt`
* HTML
  * `alex`!!
  * `fecs`
  * `html-beautify`
  * `HTMLHint`
  * `prettier`
  * `proselint`
  * `tidy`
  * `write-good`
* Idris
  * `idris`
* Ink
  * `ink-language-server`
* ISPC
  * `ispc`!!
* Java
  * `checkstyle`
  * `eclipselsp`
  * `google-java-format`
  * `javac`
  * `javalsp`
  * `PMD`
  * `uncrustify`
* JavaScript
  * `eslint`
  * `fecs`
  * `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`
  * `texlab`
  * `textlint`
  * `vale`
  * `write-good`
* Less
  * `lessc`
  * `prettier`
  * `stylelint`
* LLVM
  * `llc`
* Lua
  * `luac`
  * `luacheck`
* Mail
  * `alex`!!
  * `languagetool`!!
  * `proselint`
  * `vale`
* Make
  * `checkmake`
* Markdown
  * `alex`!!
  * `languagetool`!!
  * `markdownlint`!!
  * `mdl`
  * `prettier`
  * `proselint`
  * `redpen`
  * `remark-lint`
  * `textlint`
  * `vale`
  * `write-good`
* MATLAB
  * `mlint`
* Mercury
  * `mmc`!!
* NASM
  * `nasm`!!
* Nim
  * `nim check`!!
  * `nimlsp`
  * `nimpretty`
* nix
  * `nix-instantiate`
  * `nixpkgs-fmt`
* nroff
  * `alex`!!
  * `proselint`
  * `write-good`
* Objective-C
  * `ccls`
  * `clang`
  * `clangd`
  * `uncrustify`
* Objective-C++
  * `clang`
  * `clangd`
  * `uncrustify`
* OCaml
  * `merlin` (see |ale-ocaml-merlin|)
  * `ocamlformat`
  * `ocp-indent`
  * `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`
* PowerShell
  * `powershell`
  * `psscriptanalyzer`
* Prolog
  * `swipl`
* proto
  * `protoc-gen-lint`
* Pug
  * `pug-lint`
* Puppet
  * `languageserver`
  * `puppet`
  * `puppet-lint`
* PureScript
  * `purescript-language-server`
  * `purty`
* Python
  * `autopep8`
  * `bandit`
  * `black`
  * `flake8`
  * `isort`
  * `mypy`
  * `prospector`
  * `pycodestyle`
  * `pydocstyle`
  * `pyflakes`
  * `pylama`!!
  * `pylint`!!
  * `pyls`
  * `pyre`
  * `pyright`
  * `reorder-python-imports`
  * `vulture`!!
  * `yapf`
* QML
  * `qmlfmt`
  * `qmllint`
* R
  * `lintr`
  * `styler`
* Racket
  * `raco`
* ReasonML
  * `merlin`
  * `ols`
  * `reason-language-server`
  * `refmt`
* reStructuredText
  * `alex`!!
  * `proselint`
  * `redpen`
  * `rstcheck`
  * `textlint`
  * `vale`
  * `write-good`
* Re:VIEW
  * `redpen`
* RPM spec
  * `rpmlint`
* Ruby
  * `brakeman`
  * `debride`
  * `rails_best_practices`!!
  * `reek`
  * `rubocop`
  * `ruby`
  * `rufo`
  * `solargraph`
  * `sorbet`
  * `standardrb`
* Rust
  * `cargo`!!
  * `rls`
  * `rust-analyzer`
  * `rustc` (see |ale-integration-rust|)
  * `rustfmt`
* Sass
  * `sass-lint`
  * `stylelint`
* Scala
  * `fsc`
  * `metals`
  * `sbtserver`
  * `scalac`
  * `scalafmt`
  * `scalastyle`
* SCSS
  * `prettier`
  * `sass-lint`
  * `scss-lint`
  * `stylelint`
* Slim
  * `slim-lint`
* SML
  * `smlnj`
* Solidity
  * `solc`
  * `solhint`
  * `solium`
* SQL
  * `pgformatter`
  * `sqlfmt`
  * `sqlformat`
  * `sqlint`
  * `sql-lint`
* Stylus
  * `stylelint`
* SugarSS
  * `stylelint`
* Swift
  * `sourcekit-lsp`
  * `swiftformat`
  * `swift-format`
  * `swiftlint`
* Tcl
  * `nagelfar`!!
* Terraform
  * `fmt`
  * `tflint`
* Texinfo
  * `alex`!!
  * `proselint`
  * `write-good`
* Text^
  * `alex`!!
  * `languagetool`!!
  * `proselint`
  * `redpen`
  * `textlint`
  * `vale`
  * `write-good`
* Thrift
  * `thrift`
* TypeScript
  * `eslint`
  * `fecs`
  * `prettier`
  * `standard`
  * `tslint`
  * `tsserver`
  * `typecheck`
* VALA
  * `uncrustify`
* Verilog
  * `hdl-checker`
  * `iverilog`
  * `verilator`
  * `vlog`
  * `xvlog`
* VHDL
  * `ghdl`
  * `vcom`
  * `xvhdl`
* Vim
  * `vimls`
  * `vint`
* Vim help^
  * `alex`!!
  * `proselint`
  * `write-good`
* Vue
  * `prettier`
  * `vls`
* XHTML
  * `alex`!!
  * `proselint`
  * `write-good`
* XML
  * `xmllint`
* YAML
  * `prettier`
  * `swaglint`
  * `yamllint`
* YANG
  * `yang-lsp`
* Zig
  * `zls`
