Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Neovim
  3. nvim-lint

nvim-lint

GPL-3.0Lua

An asynchronous linter plugin for Neovim that complements the built-in Language Server Protocol support.

Visit WebsiteGitHubGitHub
2.8k stars309 forks0 contributors

What is nvim-lint?

nvim-lint is an asynchronous linter plugin for Neovim that runs external linters and displays their results as diagnostics within the editor. It complements Neovim's built-in Language Server Protocol support by providing linting for languages without LSP servers or where standalone linters are more effective. The plugin integrates directly with Neovim's diagnostic system, offering a lightweight and focused alternative to broader linting solutions.

Target Audience

Neovim users (version 0.9.5+) who need asynchronous linting for various programming languages, especially those working with languages lacking robust LSP support or preferring standalone linters.

Value Proposition

Developers choose nvim-lint for its simplicity, performance, and tight integration with Neovim's native diagnostics. Unlike more comprehensive tools, it avoids duplicating LSP functionality, resulting in a faster, more focused linting experience that works seamlessly alongside Neovim's built-in features.

Overview

Mirror of: https://codeberg.org/mfussenegger/nvim-lint An asynchronous linter plugin for Neovim complementary to the built-in Language Server Protocol support.

Use Cases

Best For

  • Adding asynchronous linting to Neovim for languages without LSP support
  • Using standalone linters (e.g., shellcheck, markdownlint) within Neovim
  • Configuring custom linters with flexible output parsing
  • Integrating linting results into Neovim's native diagnostic display
  • Linting compound filetypes like GitHub Actions YAML files
  • Post-processing or modifying diagnostics from specific linters

Not Ideal For

  • Users on older Neovim versions or Vim, as it requires Neovim >= 0.9.5 and doesn't support other editors.
  • Projects with comprehensive LSP server coverage, where standalone linters add unnecessary complexity or duplication.
  • Developers seeking a zero-configuration linting solution, since it requires manual autocmd setup and per-filetype linter configuration.
  • High-security environments or untrusted repositories, due to the risk of executing local linter executables with user permissions.

Pros & Cons

Pros

Asynchronous Performance

Runs linters in the background without blocking the editor, ensuring a smooth editing experience as highlighted in the key features.

Extensive Linter Support

Includes built-in support for over 150 linters across programming languages and filetypes, as listed in the README's comprehensive table.

Native Neovim Integration

Reports diagnostics via vim.diagnostic, enabling seamless use with Neovim's diagnostic display and configuration, per the plugin's philosophy.

Flexible Customization

Allows defining custom linters with parsers for Lua patterns, errorformat, and SARIF output, detailed in the Custom Linters section.

Cons

Security Vulnerabilities

The README explicitly warns that linters may execute local executables (e.g., ./node_modules/.bin/eslint), making it unsafe for untrusted repositories without careful oversight.

Manual Configuration Burden

Requires users to set up autocmds and configure linters per filetype manually, which can be complex compared to more automated or opinionated tools.

Limited Advanced Features

Focuses solely on running external linters and parsing output, lacking built-in code fixes, intelligent refactoring, or deep integration beyond diagnostics.

Frequently Asked Questions

Quick Stats

Stars2,781
Forks309
Contributors0
Open Issues39
Last commit16 days ago
CreatedSince 2021

Tags

#vimscript#hacktoberfest#developer-tools#linter#editor-integration#neovim-plugin#code-quality#syntax-checker#neovim#lua#diagnostics#static-analysis

Built With

N
Neovim
L
Lua

Links & Resources

Website

Included in

Neovim20.6k
Auto-fetched 8 hours ago

Related Projects

nvim-lspconfignvim-lspconfig

Quickstart configs for Nvim LSP

Stars13,983
Forks2,502
Last commit3 days ago
lspsaga.nvimlspsaga.nvim

improve neovim lsp experience

Stars3,800
Forks305
Last commit3 months ago
none-ls.nvimnone-ls.nvim

null-ls.nvim reloaded / Use Neovim as a language server to inject LSP diagnostics, code actions, and more via Lua.

Stars3,263
Forks121
Last commit11 days ago
rustaceanvimrustaceanvim

🦀 Supercharge your Rust experience in Neovim! A heavily modified fork of rust-tools.nvim

Stars3,151
Forks134
Last commit12 hours ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub