← All repos

ale

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

autocompletelanguageclientlanguage-server-protocollinterlualua-pluginneovimneovim-pluginsyntax-checkervimvim-pluginvim-plugins
Browse cluster: Cluster 96
4,680commits
921contributors
16languages

Tech stack & purpose

ALE (Asynchronous Lint Engine) is a plugin for Vim 8.2+ and Neovim 0.7.0+ that performs syntax checking and semantic linting asynchronously as you edit text files, and acts as a Language Server Protocol client. The plugin uses Vim and Neovim's job control and timer functions to run linters and fixers on file contents without blocking, supporting features like go-to-definition, completion, hover information, and symbol search through LSP integration. ALE is built primarily with Vimscript and Lua, requires no external dependencies, and is maintained by Dense Analysis, with the project welcoming community contributions and help with issue and pull request management.

Community & reference links

Languages

Vim Script
92.4%
Lua
3.7%
Shell
2.7%
Python
0.9%
Dockerfile
0.1%
Batchfile
0.1%
Astro
0.0%
Racket
0.0%
Elixir
0.0%
Perl
0.0%
YARA
0.0%
Raku
0.0%
JavaScript
0.0%
Jsonnet
0.0%
Kotlin
0.0%
VHDL
0.0%

Contributors (top 30 of 921)