]> git.madduck.net Git - etc/vim.git/blob - .vim/bundle/ale/supported-tools.md

madduck's git repository

Every one of the projects in this repository is available at the canonical URL git://git.madduck.net/madduck/pub/<projectpath> — see each project's metadata for the exact URL.

All patches and comments are welcome. Please squash your changes to logical commits before using git-format-patch and git-send-email to patches@git.madduck.net. If you'd read over the Git project's submission guidelines and adhered to them, I'd be especially grateful.

SSH access, as well as push access can be individually arranged.

If you use my repositories frequently, consider adding the following snippet to ~/.gitconfig and using the third clone URL listed for each project:

[url "git://git.madduck.net/madduck/"]
  insteadOf = madduck:

Do not set EDITOR/VISUAL for shell
[etc/vim.git] / .vim / bundle / ale / supported-tools.md
1 # ALE Supported Languages and Tools
2
3 This plugin supports the following languages and tools. All available
4 tools will be run in combination, so they can be complementary.
5
6 <!--
7 Keep the table rows sorted alphabetically by the language name,
8 and the tools in the tools column sorted alphabetically by the tool
9 name. That seems to be the fairest way to arrange this table.
10
11 Remember to also update doc/ale.txt, which has a similar list with different
12 formatting.
13 -->
14
15 **Legend**
16
17 |      Key      |             Definition                                            |
18 | ------------- | ----------------------------------------------------------------- |
19 | :floppy_disk: | May only run on files on disk (see: `help ale-lint-file-linters`  |
20 |   :warning:   | Disabled by default                                               |
21
22 ---
23
24 * Ada
25   * [ada_language_server](https://github.com/AdaCore/ada_language_server)
26   * [cspell](https://github.com/streetsidesoftware/cspell/tree/main/packages/cspell)
27   * [gcc](https://gcc.gnu.org)
28   * [gnatpp](https://docs.adacore.com/gnat_ugn-docs/html/gnat_ugn/gnat_ugn/gnat_utility_programs.html#the-gnat-pretty-printer-gnatpp) :floppy_disk:
29 * Ansible
30   * [ansible-language-server](https://github.com/ansible/ansible-language-server/)
31   * [ansible-lint](https://github.com/willthames/ansible-lint) :floppy_disk:
32 * API Blueprint
33   * [drafter](https://github.com/apiaryio/drafter)
34 * APKBUILD
35   * [apkbuild-fixer](https://gitlab.alpinelinux.org/Leo/atools)
36   * [apkbuild-lint](https://gitlab.alpinelinux.org/Leo/atools)
37   * [secfixes-check](https://gitlab.alpinelinux.org/Leo/atools)
38 * AsciiDoc
39   * [alex](https://github.com/get-alex/alex)
40   * [cspell](https://github.com/streetsidesoftware/cspell/tree/main/packages/cspell)
41   * [languagetool](https://languagetool.org/) :floppy_disk:
42   * [proselint](http://proselint.com/)
43   * [redpen](http://redpen.cc/)
44   * [textlint](https://textlint.github.io/)
45   * [vale](https://github.com/ValeLint/vale)
46   * [write-good](https://github.com/btford/write-good)
47 * ASM
48   * [gcc](https://gcc.gnu.org)
49   * [llvm-mc](https://llvm.org)
50 * Astro
51   * [eslint](http://eslint.org/)
52   * [prettier](https://github.com/prettier/prettier)
53 * AVRA
54   * [avra](https://github.com/Ro5bert/avra)
55 * Awk
56   * [gawk](https://www.gnu.org/software/gawk/)
57 * Bash
58   * [bashate](https://github.com/openstack/bashate)
59   * [cspell](https://github.com/streetsidesoftware/cspell/tree/main/packages/cspell)
60   * [language-server](https://github.com/mads-hartmann/bash-language-server)
61   * shell [-n flag](https://www.gnu.org/software/bash/manual/bash.html#index-set)
62   * [shellcheck](https://www.shellcheck.net/)
63   * [shfmt](https://github.com/mvdan/sh)
64 * Bats
65   * [shellcheck](https://www.shellcheck.net/)
66 * Bazel
67   * [buildifier](https://github.com/bazelbuild/buildtools)
68 * BibTeX
69   * [bibclean](http://ftp.math.utah.edu/pub/bibclean/)
70 * Bicep
71   * [bicep](https://github.com/Azure/bicep) :floppy_disk:
72 * BitBake
73   * [oelint-adv](https://github.com/priv-kweihmann/oelint-adv)
74 * Bourne Shell
75   * shell [-n flag](http://linux.die.net/man/1/sh)
76   * [shellcheck](https://www.shellcheck.net/)
77   * [shfmt](https://github.com/mvdan/sh)
78 * C
79   * [astyle](http://astyle.sourceforge.net/)
80   * [ccls](https://github.com/MaskRay/ccls)
81   * [clang](http://clang.llvm.org/)
82   * [clang-format](https://clang.llvm.org/docs/ClangFormat.html)
83   * [clangcheck](http://clang.llvm.org/docs/ClangCheck.html) :floppy_disk:
84   * [clangd](https://clang.llvm.org/extra/clangd.html)
85   * [clangtidy](http://clang.llvm.org/extra/clang-tidy/) :floppy_disk:
86   * [cppcheck](http://cppcheck.sourceforge.net)
87   * [cpplint](https://github.com/cpplint/cpplint)
88   * [cquery](https://github.com/cquery-project/cquery)
89   * [cspell](https://github.com/streetsidesoftware/cspell/tree/main/packages/cspell)
90   * [flawfinder](https://www.dwheeler.com/flawfinder/)
91   * [gcc](https://gcc.gnu.org/)
92   * [uncrustify](https://github.com/uncrustify/uncrustify)
93 * C#
94   * [clang-format](https://clang.llvm.org/docs/ClangFormat.html)
95   * [csc](http://www.mono-project.com/docs/about-mono/languages/csharp/) :floppy_disk: see:`help ale-cs-csc` for details and configuration
96   * [cspell](https://github.com/streetsidesoftware/cspell/tree/main/packages/cspell)
97   * [dotnet-format](https://github.com/dotnet/format)
98   * [mcs](http://www.mono-project.com/docs/about-mono/languages/csharp/) see:`help ale-cs-mcs` for details
99   * [mcsc](http://www.mono-project.com/docs/about-mono/languages/csharp/) :floppy_disk: see:`help ale-cs-mcsc` for details and configuration
100   * [uncrustify](https://github.com/uncrustify/uncrustify)
101 * C++ (filetype cpp)
102   * [astyle](http://astyle.sourceforge.net/)
103   * [ccls](https://github.com/MaskRay/ccls)
104   * [clang](http://clang.llvm.org/)
105   * [clang-format](https://clang.llvm.org/docs/ClangFormat.html)
106   * [clangcheck](http://clang.llvm.org/docs/ClangCheck.html) :floppy_disk:
107   * [clangd](https://clang.llvm.org/extra/clangd.html)
108   * [clangtidy](http://clang.llvm.org/extra/clang-tidy/) :floppy_disk:
109   * [clazy](https://github.com/KDE/clazy) :floppy_disk:
110   * [cppcheck](http://cppcheck.sourceforge.net)
111   * [cpplint](https://github.com/google/styleguide/tree/gh-pages/cpplint) :floppy_disk:
112   * [cquery](https://github.com/cquery-project/cquery)
113   * [cspell](https://github.com/streetsidesoftware/cspell/tree/main/packages/cspell)
114   * [flawfinder](https://www.dwheeler.com/flawfinder/)
115   * [gcc](https://gcc.gnu.org/)
116   * [uncrustify](https://github.com/uncrustify/uncrustify)
117 * C3
118   * [c3lsp](https://github.com/pherrymason/c3-lsp)
119 * Cairo
120   * [scarb](https://docs.swmansion.com/scarb/) :floppy_disk:
121   * [starknet](https://starknet.io/docs)
122 * Chef
123   * [cookstyle](https://docs.chef.io/cookstyle.html)
124   * [foodcritic](http://www.foodcritic.io/) :floppy_disk:
125 * Clojure
126   * [clj-kondo](https://github.com/borkdude/clj-kondo)
127   * [cljfmt](https://github.com/weavejester/cljfmt)
128   * [joker](https://github.com/candid82/joker)
129 * CloudFormation
130   * [cfn-python-lint](https://github.com/awslabs/cfn-python-lint)
131 * CMake
132   * [cmake-format](https://github.com/cheshirekow/cmake_format)
133   * [cmake-lint](https://github.com/cheshirekow/cmake_format)
134   * [cmakelint](https://github.com/cmake-lint/cmake-lint)
135 * CoffeeScript
136   * [coffee](http://coffeescript.org/)
137   * [coffeelint](https://www.npmjs.com/package/coffeelint)
138 * Crystal
139   * [ameba](https://github.com/veelenga/ameba) :floppy_disk:
140   * [crystal](https://crystal-lang.org/) :floppy_disk:
141 * CSS
142   * [VSCode CSS language server](https://github.com/hrsh7th/vscode-langservers-extracted)
143   * [cspell](https://github.com/streetsidesoftware/cspell/tree/main/packages/cspell)
144   * [css-beautify](https://github.com/beautify-web/js-beautify)
145   * [csslint](http://csslint.net/)
146   * [fecs](http://fecs.baidu.com/)
147   * [prettier](https://github.com/prettier/prettier)
148   * [stylelint](https://github.com/stylelint/stylelint)
149 * Cucumber
150   * [cucumber](https://cucumber.io/)
151 * CUDA
152   * [clang-format](https://clang.llvm.org/docs/ClangFormat.html)
153   * [clangd](https://clang.llvm.org/extra/clangd.html)
154   * [nvcc](http://docs.nvidia.com/cuda/cuda-compiler-driver-nvcc/index.html) :floppy_disk:
155 * Cypher
156   * [cypher-lint](https://github.com/cleishm/libcypher-parser)
157 * Cython (pyrex filetype)
158   * [cython](http://cython.org/)
159 * D
160   * [dfmt](https://github.com/dlang-community/dfmt)
161   * [dls](https://github.com/d-language-server/dls)
162   * [dmd](https://dlang.org/dmd-linux.html)
163   * [uncrustify](https://github.com/uncrustify/uncrustify)
164 * Dafny
165   * [dafny](https://rise4fun.com/Dafny) :floppy_disk:
166 * Dart
167   * [analysis_server](https://github.com/dart-lang/sdk/tree/master/pkg/analysis_server)
168   * [dart-analyze](https://github.com/dart-lang/sdk/tree/master/pkg/analyzer_cli) :floppy_disk:
169   * [dart-format](https://github.com/dart-lang/sdk/tree/master/utils/dartfmt)
170   * [dartfmt](https://github.com/dart-lang/sdk/tree/master/utils/dartfmt)
171   * [language_server](https://github.com/natebosch/dart_language_server)
172 * desktop
173   * [desktop-file-validate](https://www.freedesktop.org/wiki/Software/desktop-file-utils/)
174 * Dhall
175   * [dhall-format](https://github.com/dhall-lang/dhall-lang)
176   * [dhall-freeze](https://github.com/dhall-lang/dhall-lang)
177   * [dhall-lint](https://github.com/dhall-lang/dhall-lang)
178 * Dockerfile
179   * [dockerfile_lint](https://github.com/projectatomic/dockerfile_lint)
180   * [dockerlinter](https://github.com/buddy-works/dockerfile-linter)
181   * [dprint](https://dprint.dev)
182   * [hadolint](https://github.com/hadolint/hadolint)
183 * Elixir
184   * [credo](https://github.com/rrrene/credo)
185   * [cspell](https://github.com/streetsidesoftware/cspell/tree/main/packages/cspell) :warning:
186   * [dialyxir](https://github.com/jeremyjh/dialyxir)
187   * [dogma](https://github.com/lpil/dogma) :floppy_disk:
188   * [elixir-ls](https://github.com/elixir-lsp/elixir-ls) :warning:
189   * [lexical](https://github.com/lexical-lsp/lexical) :warning:
190   * [mix](https://hexdocs.pm/mix/Mix.html) :warning: :floppy_disk:
191 * Elm
192   * [elm-format](https://github.com/avh4/elm-format)
193   * [elm-ls](https://github.com/elm-tooling/elm-language-server)
194   * [elm-make](https://github.com/elm/compiler)
195 * Erb
196   * [erb](https://apidock.com/ruby/ERB)
197   * [erb-formatter](https://github.com/nebulab/erb-formatter)
198   * [erblint](https://github.com/Shopify/erb-lint)
199   * [erubi](https://github.com/jeremyevans/erubi)
200   * [erubis](https://github.com/kwatch/erubis)
201   * [htmlbeautifier](https://github.com/threedaymonk/htmlbeautifier)
202   * [ruumba](https://github.com/ericqweinstein/ruumba)
203 * Erlang
204   * [SyntaxErl](https://github.com/ten0s/syntaxerl)
205   * [dialyzer](http://erlang.org/doc/man/dialyzer.html) :floppy_disk:
206   * [elvis](https://github.com/inaka/elvis) :floppy_disk:
207   * [erlang-mode](https://www.erlang.org/doc/apps/tools/erlang_mode_chapter.html) (The Erlang mode for Emacs)
208   * [erlang_ls](https://github.com/erlang-ls/erlang_ls)
209   * [erlc](http://erlang.org/doc/man/erlc.html)
210   * [erlfmt](https://github.com/WhatsApp/erlfmt)
211 * Fish
212   * fish [-n flag](https://linux.die.net/man/1/fish)
213   * [fish_indent](https://fishshell.com/docs/current/cmds/fish_indent.html)
214 * Fortran
215   * [gcc](https://gcc.gnu.org/)
216   * [language_server](https://github.com/hansec/fortran-language-server)
217 * Fountain
218   * [proselint](http://proselint.com/)
219 * FusionScript
220   * [fusion-lint](https://github.com/RyanSquared/fusionscript)
221 * Git Commit Messages
222   * [gitlint](https://github.com/jorisroovers/gitlint)
223 * Gleam
224   * [gleam_format](https://github.com/gleam-lang/gleam)
225   * [gleamlsp](https://github.com/gleam-lang/gleam)
226 * GLSL
227   * [glslang](https://github.com/KhronosGroup/glslang)
228   * [glslls](https://github.com/svenstaro/glsl-language-server)
229 * Go
230   * [bingo](https://github.com/saibing/bingo) :warning:
231   * [cspell](https://github.com/streetsidesoftware/cspell/tree/main/packages/cspell) :warning:
232   * [go build](https://golang.org/cmd/go/) :warning: :floppy_disk:
233   * [go mod](https://golang.org/cmd/go/) :warning: :floppy_disk:
234   * [go vet](https://golang.org/cmd/vet/) :floppy_disk:
235   * [gofmt](https://golang.org/cmd/gofmt/)
236   * [gofumpt](https://github.com/mvdan/gofumpt)
237   * [goimports](https://godoc.org/golang.org/x/tools/cmd/goimports) :warning:
238   * [golangci-lint](https://github.com/golangci/golangci-lint) :warning: :floppy_disk:
239   * [golangserver](https://github.com/sourcegraph/go-langserver) :warning:
240   * [golines](https://github.com/segmentio/golines)
241   * [gopls](https://github.com/golang/go/wiki/gopls)
242   * [gosimple](https://github.com/dominikh/go-tools/tree/master/cmd/gosimple) :warning: :floppy_disk:
243   * [gotype](https://godoc.org/golang.org/x/tools/cmd/gotype) :warning: :floppy_disk:
244   * [revive](https://github.com/mgechev/revive) :warning: :floppy_disk:
245   * [staticcheck](https://github.com/dominikh/go-tools/tree/master/cmd/staticcheck) :warning: :floppy_disk:
246 * Go HTML Templates
247   * [djlint](https://djlint.com/)
248 * GraphQL
249   * [eslint](http://eslint.org/)
250   * [gqlint](https://github.com/happylinks/gqlint)
251   * [prettier](https://github.com/prettier/prettier)
252 * Groovy
253   * [npm-groovy-lint](https://github.com/nvuillam/npm-groovy-lint)
254 * Hack
255   * [hack](http://hacklang.org/)
256   * [hackfmt](https://github.com/facebook/hhvm/tree/master/hphp/hack/hackfmt)
257   * [hhast](https://github.com/hhvm/hhast) :warning: (see `:help ale-integration-hack`)
258 * Haml
259   * [haml-lint](https://github.com/brigade/haml-lint)
260 * Handlebars
261   * [djlint](https://djlint.com/)
262   * [ember-template-lint](https://github.com/rwjblue/ember-template-lint)
263 * Haskell
264   * [brittany](https://github.com/lspitzner/brittany)
265   * [cabal-ghc](https://www.haskell.org/cabal/)
266   * [cspell](https://github.com/streetsidesoftware/cspell/tree/main/packages/cspell)
267   * [floskell](https://github.com/ennocramer/floskell)
268   * [fourmolu](https://github.com/fourmolu/fourmolu)
269   * [ghc](https://www.haskell.org/ghc/)
270   * [ghc-mod](https://github.com/DanielG/ghc-mod)
271   * [hdevtools](https://hackage.haskell.org/package/hdevtools)
272   * [hfmt](https://github.com/danstiner/hfmt)
273   * [hie](https://github.com/haskell/haskell-ide-engine)
274   * [hindent](https://hackage.haskell.org/package/hindent)
275   * [hlint](https://hackage.haskell.org/package/hlint)
276   * [hls](https://github.com/haskell/haskell-language-server)
277   * [ormolu](https://github.com/tweag/ormolu)
278   * [stack-build](https://haskellstack.org/) :floppy_disk:
279   * [stack-ghc](https://haskellstack.org/)
280   * [stylish-haskell](https://github.com/jaspervdj/stylish-haskell)
281 * HCL
282   * [packer-fmt](https://github.com/hashicorp/packer)
283   * [terraform-fmt](https://github.com/hashicorp/terraform)
284 * HTML
285   * [VSCode HTML language server](https://github.com/hrsh7th/vscode-langservers-extracted)
286   * [alex](https://github.com/get-alex/alex)
287   * [angular](https://www.npmjs.com/package/@angular/language-server)
288   * [cspell](https://github.com/streetsidesoftware/cspell/tree/main/packages/cspell)
289   * [djlint](https://www.djlint.com/)
290   * [eslint](https://github.com/BenoitZugmeyer/eslint-plugin-html)
291   * [fecs](http://fecs.baidu.com/)
292   * [html-beautify](https://beautifier.io/)
293   * [htmlhint](http://htmlhint.com/)
294   * [prettier](https://github.com/prettier/prettier)
295   * [proselint](http://proselint.com/)
296   * [rustywind](https://github.com/avencera/rustywind)
297   * [tidy](http://www.html-tidy.org/)
298   * [write-good](https://github.com/btford/write-good)
299 * HTML Angular
300   * [djlint](https://djlint.com/)
301 * HTML Django
302   * [djlint](https://djlint.com/)
303 * HTTP
304   * [kulala_fmt](https://github.com/mistweaverco/kulala-fmt)
305 * Hurl
306   * [hurlfmt](https://hurl.dev)
307 * Idris
308   * [idris](http://www.idris-lang.org/)
309 * Ink
310   * [ink-language-server](https://github.com/ephread/ink-language-server)
311 * Inko
312   * [inko](https://inko-lang.org/) :floppy_disk:
313 * ISPC
314   * [ispc](https://ispc.github.io/) :floppy_disk:
315 * Java
316   * [PMD](https://pmd.github.io/)
317   * [checkstyle](http://checkstyle.sourceforge.net) :floppy_disk:
318   * [clang-format](https://clang.llvm.org/docs/ClangFormat.html)
319   * [cspell](https://github.com/streetsidesoftware/cspell/tree/main/packages/cspell)
320   * [eclipselsp](https://github.com/eclipse/eclipse.jdt.ls)
321   * [google-java-format](https://github.com/google/google-java-format)
322   * [javac](http://www.oracle.com/technetwork/java/javase/downloads/index.html)
323   * [javalsp](https://github.com/georgewfraser/vscode-javac)
324   * [uncrustify](https://github.com/uncrustify/uncrustify)
325 * JavaScript
326   * [biome](https://biomejs.dev/)
327   * [clang-format](https://clang.llvm.org/docs/ClangFormat.html)
328   * [cspell](https://github.com/streetsidesoftware/cspell/tree/main/packages/cspell)
329   * [deno](https://deno.land/)
330   * [dprint](https://dprint.dev/)
331   * [eslint](http://eslint.org/)
332   * [fecs](http://fecs.baidu.com/)
333   * [flow](https://flowtype.org/)
334   * [jscs](https://jscs-dev.github.io/)
335   * [jshint](http://jshint.com/)
336   * [prettier](https://github.com/prettier/prettier)
337   * [prettier-eslint](https://github.com/prettier/prettier-eslint-cli)
338   * [prettier-standard](https://github.com/sheerun/prettier-standard)
339   * [standard](http://standardjs.com/)
340   * [tsserver](https://github.com/Microsoft/TypeScript/wiki/Standalone-Server-%28tsserver%29)
341   * [xo](https://github.com/sindresorhus/xo)
342 * Jinja
343   * [djlint](https://djlint.com/)
344 * JSON
345   * [VSCode JSON language server](https://github.com/hrsh7th/vscode-langservers-extracted)
346   * [biome](https://biomejs.dev/)
347   * [clang-format](https://clang.llvm.org/docs/ClangFormat.html)
348   * [cspell](https://github.com/streetsidesoftware/cspell/tree/main/packages/cspell) :warning:
349   * [dprint](https://dprint.dev)
350   * [eslint](http://eslint.org/) :warning:
351   * [fixjson](https://github.com/rhysd/fixjson)
352   * [jq](https://stedolan.github.io/jq/) :warning:
353   * [json.tool](https://docs.python.org/3/library/json.html#module-json.tool) :warning:
354   * [jsonlint](https://github.com/zaach/jsonlint)
355   * [prettier](https://github.com/prettier/prettier)
356   * [spectral](https://github.com/stoplightio/spectral)
357 * JSON5
358   * [eslint](http://eslint.org/) :warning:
359 * JSONC
360   * [biome](https://biomejs.dev/)
361   * [eslint](http://eslint.org/) :warning:
362 * Jsonnet
363   * [jsonnet-lint](https://jsonnet.org/learning/tools.html)
364   * [jsonnetfmt](https://jsonnet.org/learning/tools.html)
365 * Julia
366   * [languageserver](https://github.com/JuliaEditorSupport/LanguageServer.jl)
367 * Kotlin
368   * [kotlinc](https://kotlinlang.org) :floppy_disk:
369   * [ktlint](https://ktlint.github.io)
370   * [languageserver](https://github.com/fwcd/KotlinLanguageServer) see `:help ale-integration-kotlin` for configuration instructions
371 * LaTeX
372   * [alex](https://github.com/get-alex/alex)
373   * [chktex](http://www.nongnu.org/chktex/)
374   * [cspell](https://github.com/streetsidesoftware/cspell/tree/main/packages/cspell)
375   * [lacheck](https://www.ctan.org/pkg/lacheck)
376   * [proselint](http://proselint.com/)
377   * [redpen](http://redpen.cc/)
378   * [texlab](https://texlab.netlify.com)
379   * [textlint](https://textlint.github.io/)
380   * [vale](https://github.com/ValeLint/vale)
381   * [write-good](https://github.com/btford/write-good)
382 * Less
383   * [lessc](https://www.npmjs.com/package/less)
384   * [prettier](https://github.com/prettier/prettier)
385   * [stylelint](https://github.com/stylelint/stylelint)
386 * LLVM
387   * [llc](https://llvm.org/docs/CommandGuide/llc.html)
388 * Lua
389   * [cspell](https://github.com/streetsidesoftware/cspell/tree/main/packages/cspell)
390   * [lua-format](https://github.com/Koihik/LuaFormatter)
391   * [lua-language-server](https://github.com/LuaLS/lua-language-server)
392   * [luac](https://www.lua.org/manual/5.1/luac.html)
393   * [luacheck](https://github.com/mpeterv/luacheck)
394   * [luafmt](https://github.com/trixnz/lua-fmt)
395   * [selene](https://github.com/Kampfkarren/selene)
396   * [stylua](https://github.com/johnnymorganz/stylua)
397 * Mail
398   * [alex](https://github.com/get-alex/alex)
399   * [languagetool](https://languagetool.org/) :floppy_disk:
400   * [proselint](http://proselint.com/)
401   * [vale](https://github.com/ValeLint/vale)
402 * Make
403   * [checkmake](https://github.com/mrtazz/checkmake)
404 * Markdown
405   * [alex](https://github.com/get-alex/alex)
406   * [cspell](https://github.com/streetsidesoftware/cspell/tree/main/packages/cspell)
407   * [languagetool](https://languagetool.org/) :floppy_disk:
408   * [markdownlint](https://github.com/DavidAnson/markdownlint) :floppy_disk:
409   * [marksman](https://github.com/artempyanykh/marksman)
410   * [mdl](https://github.com/mivok/markdownlint)
411   * [pandoc](https://pandoc.org)
412   * [prettier](https://github.com/prettier/prettier)
413   * [proselint](http://proselint.com/)
414   * [pymarkdown](https://github.com/jackdewinter/pymarkdown)
415   * [redpen](http://redpen.cc/)
416   * [remark-lint](https://github.com/wooorm/remark-lint)
417   * [textlint](https://textlint.github.io/)
418   * [vale](https://github.com/ValeLint/vale)
419   * [write-good](https://github.com/btford/write-good)
420 * MATLAB
421   * [mlint](https://www.mathworks.com/help/matlab/ref/mlint.html)
422 * Mercury
423   * [mmc](http://mercurylang.org) :floppy_disk:
424 * NASM
425   * [nasm](https://www.nasm.us/) :floppy_disk:
426 * Nickel
427   * [nickel_format](https://github.com/tweag/nickel#formatting)
428 * Nim
429   * [nim check](https://nim-lang.org/docs/nimc.html) :floppy_disk:
430   * [nimlsp](https://github.com/PMunch/nimlsp)
431   * nimpretty
432 * nix
433   * [alejandra](https://github.com/kamadorueda/alejandra)
434   * [deadnix](https://github.com/astro/deadnix)
435   * [nix-instantiate](http://nixos.org/nix/manual/#sec-nix-instantiate)
436   * [nixfmt](https://github.com/serokell/nixfmt)
437   * [nixpkgs-fmt](https://github.com/nix-community/nixpkgs-fmt)
438   * [rnix-lsp](https://github.com/nix-community/rnix-lsp)
439   * [statix](https://github.com/nerdypepper/statix)
440 * nroff
441   * [alex](https://github.com/get-alex/alex)
442   * [proselint](http://proselint.com/)
443   * [write-good](https://github.com/btford/write-good)
444 * Nunjucks
445   * [djlint](https://djlint.com/)
446 * Objective-C
447   * [ccls](https://github.com/MaskRay/ccls)
448   * [clang](http://clang.llvm.org/)
449   * [clang-format](https://clang.llvm.org/docs/ClangFormat.html)
450   * [clangd](https://clang.llvm.org/extra/clangd.html)
451   * [uncrustify](https://github.com/uncrustify/uncrustify)
452 * Objective-C++
453   * [clang](http://clang.llvm.org/)
454   * [clangd](https://clang.llvm.org/extra/clangd.html)
455   * [uncrustify](https://github.com/uncrustify/uncrustify)
456 * OCaml
457   * [dune](https://dune.build/)
458   * [merlin](https://github.com/the-lambda-church/merlin) see `:help ale-ocaml-merlin` for configuration instructions
459   * [ocamlformat](https://github.com/ocaml-ppx/ocamlformat)
460   * [ocamllsp](https://github.com/ocaml/ocaml-lsp)
461   * [ocp-indent](https://github.com/OCamlPro/ocp-indent)
462   * [ols](https://github.com/freebroccolo/ocaml-language-server)
463 * Odin
464   * [ols](https://github.com/DanielGavin/ols)
465 * OpenApi
466   * [ibm_validator](https://github.com/IBM/openapi-validator)
467   * [prettier](https://github.com/prettier/prettier)
468   * [yamllint](https://yamllint.readthedocs.io/)
469 * OpenSCAD
470   * [SCA2D](https://gitlab.com/bath_open_instrumentation_group/sca2d) :floppy_disk:
471   * [scadformat](https://github.com/hugheaves/scadformat)
472 * Packer (HCL)
473   * [packer-fmt-fixer](https://github.com/hashicorp/packer)
474 * Pascal
475   * [ptop](https://www.freepascal.org/tools/ptop.var)
476 * Pawn
477   * [uncrustify](https://github.com/uncrustify/uncrustify)
478 * Perl
479   * [perl -c](https://perl.org/) :warning:
480   * [perl-critic](https://metacpan.org/pod/Perl::Critic)
481   * [perltidy](https://metacpan.org/pod/distribution/Perl-Tidy/bin/perltidy)
482 * Perl6
483   * [perl6 -c](https://perl6.org) :warning:
484 * PHP
485   * [cspell](https://github.com/streetsidesoftware/cspell/tree/main/packages/cspell)
486   * [intelephense](https://github.com/bmewburn/intelephense-docs)
487   * [langserver](https://github.com/felixfbecker/php-language-server)
488   * [phan](https://github.com/phan/phan) see `:help ale-php-phan` to instructions
489   * [php -l](https://secure.php.net/)
490   * [php-cs-fixer](https://cs.symfony.com)
491   * [phpactor](https://github.com/phpactor/phpactor)
492   * [phpcbf](https://github.com/squizlabs/PHP_CodeSniffer)
493   * [phpcs](https://github.com/squizlabs/PHP_CodeSniffer)
494   * [phpmd](https://phpmd.org)
495   * [phpstan](https://github.com/phpstan/phpstan)
496   * [pint](https://github.com/laravel/pint) :beer:
497   * [psalm](https://getpsalm.org) :floppy_disk:
498   * [tlint](https://github.com/tightenco/tlint)
499 * PO
500   * [alex](https://github.com/get-alex/alex)
501   * [msgfmt](https://www.gnu.org/software/gettext/manual/html_node/msgfmt-Invocation.html)
502   * [proselint](http://proselint.com/)
503   * [write-good](https://github.com/btford/write-good)
504 * Pod
505   * [alex](https://github.com/get-alex/alex)
506   * [proselint](http://proselint.com/)
507   * [write-good](https://github.com/btford/write-good)
508 * Pony
509   * [ponyc](https://github.com/ponylang/ponyc)
510 * PowerShell
511   * [cspell](https://github.com/streetsidesoftware/cspell/tree/main/packages/cspell)
512   * [powershell](https://github.com/PowerShell/PowerShell)
513   * [psscriptanalyzer](https://github.com/PowerShell/PSScriptAnalyzer)
514 * Prolog
515   * [swipl](https://github.com/SWI-Prolog/swipl-devel)
516 * proto
517   * [buf-format](https://github.com/bufbuild/buf) :floppy_disk:
518   * [buf-lint](https://github.com/bufbuild/buf) :floppy_disk:
519   * [clang-format](https://clang.llvm.org/docs/ClangFormat.html)
520   * [protoc-gen-lint](https://github.com/ckaznocha/protoc-gen-lint) :floppy_disk:
521   * [protolint](https://github.com/yoheimuta/protolint) :floppy_disk:
522 * Pug
523   * [pug-lint](https://github.com/pugjs/pug-lint)
524 * Puppet
525   * [languageserver](https://github.com/lingua-pupuli/puppet-editor-services)
526   * [puppet](https://puppet.com)
527   * [puppet-lint](https://puppet-lint.com)
528 * PureScript
529   * [purescript-language-server](https://github.com/nwolverson/purescript-language-server)
530   * [purs-tidy](https://github.com/natefaubion/purescript-tidy)
531   * [purty](https://gitlab.com/joneshf/purty)
532 * Python
533   * [autoflake](https://github.com/myint/autoflake) :floppy_disk:
534   * [autoimport](https://lyz-code.github.io/autoimport/)
535   * [autopep8](https://github.com/hhatto/autopep8)
536   * [bandit](https://github.com/PyCQA/bandit) :warning:
537   * [black](https://github.com/psf/black)
538   * [cspell](https://github.com/streetsidesoftware/cspell/tree/main/packages/cspell)
539   * [flake8](http://flake8.pycqa.org/en/latest/)
540   * [flakehell](https://github.com/flakehell/flakehell)
541   * [isort](https://github.com/timothycrosley/isort)
542   * [mypy](http://mypy-lang.org/)
543   * [prospector](https://github.com/PyCQA/prospector) :warning: :floppy_disk:
544   * [pycln](https://github.com/hadialqattan/pycln)
545   * [pycodestyle](https://github.com/PyCQA/pycodestyle) :warning:
546   * [pydocstyle](https://www.pydocstyle.org/) :warning:
547   * [pyflakes](https://github.com/PyCQA/pyflakes)
548   * [pyflyby](https://github.com/deshaw/pyflyby) :warning:
549   * [pylama](https://github.com/klen/pylama) :floppy_disk:
550   * [pylint](https://www.pylint.org/) :floppy_disk:
551   * [pylsp](https://github.com/python-lsp/python-lsp-server) :warning:
552   * [pyre](https://github.com/facebook/pyre-check) :warning:
553   * [pyright](https://github.com/microsoft/pyright)
554   * [refurb](https://github.com/dosisod/refurb) :floppy_disk:
555   * [reorder-python-imports](https://github.com/asottile/reorder_python_imports)
556   * [ruff](https://github.com/charliermarsh/ruff)
557   * [ruff-format](https://docs.astral.sh/ruff/formatter/)
558   * [unimport](https://github.com/hakancelik96/unimport)
559   * [vulture](https://github.com/jendrikseipp/vulture) :warning: :floppy_disk:
560   * [yapf](https://github.com/google/yapf)
561 * QML
562   * [qmlfmt](https://github.com/jesperhh/qmlfmt)
563   * [qmllint](https://github.com/qt/qtdeclarative/tree/5.11/tools/qmllint)
564 * R
565   * [languageserver](https://github.com/REditorSupport/languageserver)
566   * [lintr](https://github.com/jimhester/lintr)
567   * [styler](https://github.com/r-lib/styler)
568 * Racket
569   * [racket-langserver](https://github.com/jeapostrophe/racket-langserver/tree/master)
570   * [raco](https://docs.racket-lang.org/raco/)
571   * [raco_fmt](https://docs.racket-lang.org/fmt/)
572 * Re:VIEW
573   * [redpen](http://redpen.cc/)
574 * ReasonML
575   * [merlin](https://github.com/the-lambda-church/merlin) see `:help ale-reasonml-ols` for configuration instructions
576   * [ols](https://github.com/freebroccolo/ocaml-language-server)
577   * [reason-language-server](https://github.com/jaredly/reason-language-server)
578   * [refmt](https://github.com/reasonml/reason-cli)
579 * Rego
580   * [cspell](https://github.com/streetsidesoftware/cspell/tree/main/packages/cspell)
581   * [opacheck](https://www.openpolicyagent.org/docs/latest/cli/#opa-check)
582   * [opafmt](https://www.openpolicyagent.org/docs/latest/cli/#opa-fmt)
583 * REST
584   * [kulala_fmt](https://github.com/mistweaverco/kulala-fmt)
585 * reStructuredText
586   * [alex](https://github.com/get-alex/alex)
587   * [cspell](https://github.com/streetsidesoftware/cspell/tree/main/packages/cspell)
588   * [proselint](http://proselint.com/)
589   * [redpen](http://redpen.cc/)
590   * [rstcheck](https://github.com/myint/rstcheck)
591   * [textlint](https://textlint.github.io/)
592   * [vale](https://github.com/ValeLint/vale)
593   * [write-good](https://github.com/btford/write-good)
594 * Robot
595   * [rflint](https://github.com/boakley/robotframework-lint)
596 * RPM spec
597   * [rpmlint](https://github.com/rpm-software-management/rpmlint) :warning: (see `:help ale-integration-spec`)
598 * Ruby
599   * [brakeman](http://brakemanscanner.org/) :floppy_disk:
600   * [cspell](https://github.com/streetsidesoftware/cspell/tree/main/packages/cspell)
601   * [debride](https://github.com/seattlerb/debride)
602   * [packwerk](https://github.com/Shopify/packwerk) :floppy_disk:
603   * [prettier](https://github.com/prettier/plugin-ruby)
604   * [rails_best_practices](https://github.com/flyerhzm/rails_best_practices) :floppy_disk:
605   * [reek](https://github.com/troessner/reek)
606   * [rubocop](https://github.com/bbatsov/rubocop)
607   * [ruby](https://www.ruby-lang.org)
608   * [rubyfmt](https://github.com/fables-tales/rubyfmt)
609   * [rufo](https://github.com/ruby-formatter/rufo)
610   * [solargraph](https://solargraph.org)
611   * [sorbet](https://github.com/sorbet/sorbet)
612   * [standardrb](https://github.com/testdouble/standard)
613   * [steep](https://github.com/soutaro/steep)
614   * [syntax_tree](https://github.com/ruby-syntax-tree/syntax_tree)
615 * Rust
616   * [cargo](https://github.com/rust-lang/cargo) :floppy_disk: (see `:help ale-integration-rust` for configuration instructions)
617   * [cspell](https://github.com/streetsidesoftware/cspell/tree/main/packages/cspell)
618   * [rls](https://github.com/rust-lang-nursery/rls) :warning:
619   * [rust-analyzer](https://github.com/rust-analyzer/rust-analyzer) :warning:
620   * [rustc](https://www.rust-lang.org/) :warning:
621   * [rustfmt](https://github.com/rust-lang-nursery/rustfmt)
622 * Salt
623   * [salt-lint](https://github.com/warpnet/salt-lint)
624 * Sass
625   * [sass-lint](https://www.npmjs.com/package/sass-lint)
626   * [stylelint](https://github.com/stylelint/stylelint)
627 * Scala
628   * [cspell](https://github.com/streetsidesoftware/cspell/tree/main/packages/cspell)
629   * [fsc](https://www.scala-lang.org/old/sites/default/files/linuxsoft_archives/docu/files/tools/fsc.html)
630   * [metals](https://scalameta.org/metals/)
631   * [sbtserver](https://www.scala-sbt.org/1.x/docs/sbt-server.html)
632   * [scalac](http://scala-lang.org)
633   * [scalafmt](https://scalameta.org/scalafmt/)
634   * [scalastyle](http://www.scalastyle.org)
635 * SCSS
636   * [prettier](https://github.com/prettier/prettier)
637   * [sass-lint](https://www.npmjs.com/package/sass-lint)
638   * [scss-lint](https://github.com/brigade/scss-lint)
639   * [stylelint](https://github.com/stylelint/stylelint)
640 * Slim
641   * [slim-lint](https://github.com/sds/slim-lint)
642 * SML
643   * [smlnj](http://www.smlnj.org/)
644 * Solidity
645   * [forge](https://github.com/foundry-rs/forge)
646   * [solc](https://solidity.readthedocs.io/)
647   * [solhint](https://github.com/protofire/solhint)
648   * [solium](https://github.com/duaraghav8/Solium)
649 * SQL
650   * [dprint](https://dprint.dev)
651   * [pgformatter](https://github.com/darold/pgFormatter)
652   * [sql-lint](https://github.com/joereynolds/sql-lint)
653   * [sqlfluff](https://github.com/sqlfluff/sqlfluff)
654   * [sqlfmt](https://github.com/jackc/sqlfmt)
655   * [sqlformat](https://github.com/andialbrecht/sqlparse)
656   * [sqlint](https://github.com/purcell/sqlint)
657 * Stylus
658   * [stylelint](https://github.com/stylelint/stylelint)
659 * SugarSS
660   * [stylelint](https://github.com/stylelint/stylelint)
661 * Svelte
662   * [prettier](https://github.com/prettier/prettier)
663   * [svelteserver](https://github.com/sveltejs/language-tools/tree/master/packages/language-server)
664 * Swift
665   * [Apple swift-format](https://github.com/apple/swift-format)
666   * [cspell](https://github.com/streetsidesoftware/cspell/tree/main/packages/cspell)
667   * [sourcekit-lsp](https://github.com/apple/sourcekit-lsp)
668   * [swiftformat](https://github.com/nicklockwood/SwiftFormat)
669   * [swiftlint](https://github.com/realm/SwiftLint)
670 * systemd
671   * [systemd-analyze](https://www.freedesktop.org/software/systemd/man/systemd-analyze.html) :floppy_disk:
672 * Tcl
673   * [nagelfar](http://nagelfar.sourceforge.net) :floppy_disk:
674 * Terraform
675   * [checkov](https://github.com/bridgecrewio/checkov)
676   * [terraform](https://github.com/hashicorp/terraform)
677   * [terraform-fmt-fixer](https://github.com/hashicorp/terraform)
678   * [terraform-ls](https://github.com/hashicorp/terraform-ls)
679   * [terraform-lsp](https://github.com/juliosueiras/terraform-lsp)
680   * [tflint](https://github.com/wata727/tflint)
681   * [tfsec](https://github.com/aquasecurity/tfsec)
682 * Texinfo
683   * [alex](https://github.com/get-alex/alex)
684   * [cspell](https://github.com/streetsidesoftware/cspell/tree/main/packages/cspell)
685   * [proselint](http://proselint.com/)
686   * [write-good](https://github.com/btford/write-good)
687 * Text
688   * [alex](https://github.com/get-alex/alex) :warning:
689   * [cspell](https://github.com/streetsidesoftware/cspell/tree/main/packages/cspell)
690   * [languagetool](https://languagetool.org/) :floppy_disk:
691   * [proselint](http://proselint.com/) :warning:
692   * [redpen](http://redpen.cc/) :warning:
693   * [textlint](https://textlint.github.io/) :warning:
694   * [vale](https://github.com/ValeLint/vale) :warning:
695   * [write-good](https://github.com/btford/write-good) :warning:
696 * Thrift
697   * [thrift](http://thrift.apache.org/)
698   * [thriftcheck](https://github.com/pinterest/thriftcheck)
699 * TOML
700   * [dprint](https://dprint.dev)
701 * TypeScript
702   * [biome](https://biomejs.dev/)
703   * [cspell](https://github.com/streetsidesoftware/cspell/tree/main/packages/cspell)
704   * [deno](https://deno.land/)
705   * [dprint](https://dprint.dev/)
706   * [eslint](http://eslint.org/)
707   * [fecs](http://fecs.baidu.com/)
708   * [prettier](https://github.com/prettier/prettier)
709   * [standard](http://standardjs.com/)
710   * [tslint](https://github.com/palantir/tslint)
711   * [tsserver](https://github.com/Microsoft/TypeScript/wiki/Standalone-Server-%28tsserver%29)
712   * typecheck
713 * Typst
714   * [typstyle](https://github.com/Enter-tainer/typstyle)
715 * V
716   * [v](https://github.com/vlang/v/) :floppy_disk:
717   * [vfmt](https://github.com/vlang/v/)
718 * VALA
719   * [uncrustify](https://github.com/uncrustify/uncrustify)
720   * [vala_lint](https://github.com/vala-lang/vala-lint) :floppy_disk:
721 * Verilog
722   * [hdl-checker](https://pypi.org/project/hdl-checker)
723   * [iverilog](https://github.com/steveicarus/iverilog)
724   * [slang](https://github.com/MikePopoloski/slang)
725   * [verilator](http://www.veripool.org/projects/verilator/wiki/Intro)
726   * [vlog](https://www.mentor.com/products/fv/questa/)
727   * [xvlog](https://www.xilinx.com/products/design-tools/vivado.html)
728   * [yosys](http://www.clifford.at/yosys/) :floppy_disk:
729 * VHDL
730   * [ghdl](https://github.com/ghdl/ghdl)
731   * [vcom](https://www.mentor.com/products/fv/questa/)
732   * [xvhdl](https://www.xilinx.com/products/design-tools/vivado.html)
733 * Vim
734   * [vimls](https://github.com/iamcco/vim-language-server)
735   * [vint](https://github.com/Kuniwak/vint)
736 * Vim help
737   * [alex](https://github.com/get-alex/alex) :warning:
738   * [proselint](http://proselint.com/) :warning:
739   * [write-good](https://github.com/btford/write-good) :warning:
740 * Vue
741   * [cspell](https://github.com/streetsidesoftware/cspell/tree/main/packages/cspell)
742   * [prettier](https://github.com/prettier/prettier)
743   * [vls](https://github.com/vuejs/vetur/tree/master/server)
744   * [volar](https://github.com/johnsoncodehk/volar)
745 * WGSL
746   * [naga](https://github.com/gfx-rs/naga)
747 * XHTML
748   * [alex](https://github.com/get-alex/alex)
749   * [cspell](https://github.com/streetsidesoftware/cspell/tree/main/packages/cspell)
750   * [proselint](http://proselint.com/)
751   * [write-good](https://github.com/btford/write-good)
752 * XML
753   * [xmllint](http://xmlsoft.org/xmllint.html)
754 * YAML
755   * [actionlint](https://github.com/rhysd/actionlint)
756   * [circleci](https://circleci.com/docs/2.0/local-cli) :floppy_disk: :warning:
757   * [gitlablint](https://github.com/elijah-roberts/gitlab-lint)
758   * [prettier](https://github.com/prettier/prettier)
759   * [spectral](https://github.com/stoplightio/spectral)
760   * [swaglint](https://github.com/byCedric/swaglint) :warning:
761   * [yaml-language-server](https://github.com/redhat-developer/yaml-language-server)
762   * [yamlfix](https://lyz-code.github.io/yamlfix)
763   * [yamlfmt](https://github.com/google/yamlfmt)
764   * [yamllint](https://yamllint.readthedocs.io/)
765   * [yq](https://github.com/mikefarah/yq)
766 * YANG
767   * [yang-lsp](https://github.com/theia-ide/yang-lsp)
768 * Yara
769   * [yls](https://github.com/avast/yls)
770 * Zeek
771   * [zeek](http://zeek.org) :floppy_disk:
772 * Zig
773   * [zigfmt](https://github.com/ziglang/zig)
774   * [zlint](https://github.com/DonIsaac/zlint)
775   * [zls](https://github.com/zigtools/zls)