Asynchronous Lint Engine

ALE (Asynchronous Lint Engine) is a plugin providing linting (syntax checking and semantic errors) in NeoVim 0.6.0+ and Vim 8.0+ while you edit your text files, and acts as a Vim Language Server Protocol client.

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.

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).

Key Features

  • No dependencies for ALE itself.
  • Lightweight plugin architecture (No JavaScript or Python required).
  • Low memory footprint.
  • Runs virtually everywhere, including remote shells, and in git commit.
  • Out of the box support for running particular linters and language servers.
  • Near-zero configuration with custom code for better defaults.
  • Highly customizable and well-documented (:help ale-options).
  • Breaking changes for the plugin are extremely rare.
  • Support for older Vim and Neovim versions.
  • Well-integrated with other plugins.
  • Cross-platform support – runs under Linux and Windows.

Website: github.com/dense-analysis/ale
Support:
Developer: Dense Analysis
License: BSD 2-Clause “Simplified” License

ALE is written in VimL. Learn VimL with our recommended free books and free tutorials.


Related Software

Linters
LanguageToolStyle and grammar checker for 30+ languages
ValeWrite with a consistent tone and style
ALEAsynchronous Lint Engine
textlintPluggable linting tool for text and markdown
HarperEnglish grammar checker designed to be just right
proselintAs the name suggests, this is a linter for prose
alexCatch insensitive, inconsiderate writing
write goodLinter for English prose
EloquentWorks fully offline, powered by the LanguageTool standalone server
RedPenProvides both a simple standalone command line tool and a server

Read our verdict in the software roundup.


Best Free and Open Source Software Explore our comprehensive directory of recommended free and open source software. Our carefully curated collection spans every major software category.

This directory is part of our ongoing series of informative articles for Linux enthusiasts. It features hundreds of detailed reviews, along with open source alternatives to proprietary solutions from major corporations such as Google, Microsoft, Apple, Adobe, IBM, Cisco, Oracle, and Autodesk.

You’ll also find interesting projects to try, hardware coverage, free programming books and tutorials, and much more.

Discovered a useful open source Linux program that we haven’t covered yet? Let us know by completing this form.
Subscribe
Notify of
guest
0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments