Asynchronous NeoVim Lint Engine
ALE (Asynchronous Lint Engine) is a plugin providing linting (syntax checking and semantic errors) in NeoVim while you edit your text files, and acts as a Vim Language Server Protocol client. ALE makes use of NeoVim and Vim job control functions and timers to run linters on the contents of text buffers and return errors as text is changed in NeoVim. This allows for displaying warnings and errors in files being edited in NeoVim before files have been saved back to a filesystem. In other words, this plugin allows you to lint while you type.