ALE makes use of NeoVim and Vim 8 job control functions and timers to run linters on the contents of text buffers and return errors as text is changed in Vim. This allows for displaying warnings and errors in files being edited in Vim before files have been saved back to a filesystem.
In other words, this plugin allows you to lint while you type.
ALE offers support for fixing code with command line tools in a non-blocking manner with the :ALEFix feature, supporting tools in many languages, like prettier, eslint, autopep8, and more.
ALE acts as a "language client" to support a variety of Language Server Protocol features, including:
- Diagnostics (via Language Server Protocol linters)
- Go To Definition (:ALEGoToDefinition)
- Completion (Built in completion support, or with Deoplete)
- Finding references (:ALEFindReferences)
- Hover information (:ALEHover)
- Symbol search (:ALESymbolSearch)
If you don't care about Language Server Protocol, ALE won't load any of the code for working with it unless needed. One of ALE's general missions is that you won't pay for the features that you don't use.
Help Wanted: If you would like to help maintain this plugin by managing the many issues and pull requests that are submitted, please send the author an email at dev@w0rp.com.
If you enjoy this plugin, feel free to contribute or check out the author's other content at w0rp.com.
