dense-analysis/ale

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

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 54 minutes ago
Added to GitGenius on September 4th, 2026
Created on September 8th, 2016
Open Issues & Pull Requests: 588 (+0)
GitHub issues: Enabled
Number of forks: 1,484
Total Stargazers: 14,017 (+0)
Total Subscribers: 86 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 3.4 days
Mean response time: 202.2 days
90th percentile: 752.6 days
Tracked items: 628

How this project is maintained

Around half of the issues opened in the past year never receive a reply. 90% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. Work labelled "LSP" is answered fastest, typically in about 20 hours, while "new tool" waits about 4 months. Only 2% of issues opened in the past year have been closed. Three people close 61% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 574
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 1,859 days
Stale 30+ days: 567
Stale 90+ days: 556

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • bug (439)
  • enhancement (226)
  • new tool (152)
  • LSP (35)
  • help wanted (8)
  • old tool (5)
  • documentation (4)
  • duplicate (4)

Detailed Description

ALE is a plugin for Vim and Neovim that provides asynchronous linting and code fixing with Language Server Protocol support.

The plugin solves the problem of getting real-time feedback on code quality without blocking the editor. It uses Vim 8 and Neovim job control functions and timers to run linters on buffer contents as you type, displaying warnings and errors before files are saved. Beyond linting, ALE offers a `:ALEFix` command for non-blocking code fixing with tools like prettier, eslint, and autopep8. It also acts as a Language Server Protocol client, supporting diagnostics, go-to-definition, completion, finding references, hover information, and symbol search.

ALE suits developers who want immediate syntax and semantic feedback while editing in Vim or Neovim without adding external dependencies or complexity. The plugin is designed to have minimal overhead, loading Language Server Protocol code only when needed. It requires no JavaScript or Python, runs in remote shells and git commit contexts, and works on Windows. The tool offers near-zero configuration with sensible defaults while remaining highly customizable through well-documented options.

The project maintains a stable codebase with extremely rare breaking changes. Development activity shows consistent engagement with issues and pull requests, though the maintainers have explicitly requested additional help managing the volume of submissions. The plugin integrates with Neovim's built-in LSP client and diagnostics systems where available while supporting older Vim and Neovim versions.