Neomake
Asynchronous linting and make framework for Neovim/Vim
...The system is highly configurable: you can define per-filetype makers, chain multiple tools, and control when they run (on save, on write, on cursor hold, or manually). Run several makers concurrently and aggregate results. Because it uses job control and timers, it scales well on large codebases and keeps the editor responsive. It’s useful both as a general “make” front end and as a diagnostic engine for code quality. Async execution of linters, compilers, and test commands via “makers”. Teams often adopt it to standardize checks across languages while keeping developers inside Vim.