gitmyhub

ale

Vim Script ★ 14k updated 8h ago

Check syntax in Vim/Neovim asynchronously and fix files, with Language Server Protocol (LSP) support

ALE is a Vim and Neovim plugin that checks your code for errors in real time as you type, with no freezes, no dependencies, and optional auto-fixing and Language Server Protocol features.

Vim ScriptVimNeovimsetup: easycomplexity 2/5

ALE stands for Asynchronous Lint Engine. It is a plugin for the text editors Vim and Neovim. Its job is to check your code for mistakes while you type, before you have even saved the file. Linting means scanning code for syntax errors and other problems, and ALE shows those warnings and errors right inside the editor as you work.

The word asynchronous matters here. ALE runs these checks in the background using the editor's job and timer features, so your typing does not freeze while the checks happen. The README sums this up simply: it lets you lint while you type. On top of catching errors, ALE can also fix code automatically with a command called ALEFix, using outside tools such as prettier, eslint, and autopep8.

ALE can also act as a client for the Language Server Protocol, a common standard that editors use to talk to language tools. Through this it can offer features like jumping to where something is defined, code completion, finding references, hover information, and symbol search. The authors note that if you do not use these features, ALE will not load the code for them, so you only pay for what you use.

The README lists reasons people pick ALE: it has no dependencies of its own, stays lightweight, uses little memory, runs almost everywhere including remote shells, and works out of the box with many linters. It supports both newer and older versions of Vim and Neovim, and works on Windows.

The rest of the document is a usage guide. It shows example configuration lines for setting up fixers, turning on fix-on-save, and enabling completion, along with pointers to the built in help pages.

Where it fits