nvim-lint VS null-ls.nvim

Compare nvim-lint vs null-ls.nvim and see what are their differences.

nvim-lint

An asynchronous linter plugin for Neovim complementary to the built-in Language Server Protocol support. (by mfussenegger)

null-ls.nvim

Use Neovim as a language server to inject LSP diagnostics, code actions, and more via Lua. (by jose-elias-alvarez)
Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
nvim-lint null-ls.nvim
28 164
1,562 3,554
- -
9.0 0.0
7 days ago 9 months ago
Lua Lua
GNU General Public License v3.0 only GNU General Public License v3.0 or later
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

nvim-lint

Posts with mentions or reviews of nvim-lint. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-08-14.
  • Using nvim-lint as a null-ls alternative for linters
    4 projects | /r/neovim | 14 Aug 2023
    Personally, i think nvim-lint is the best alternative currently, specially so because it has no dependencies on external binaries. This guide assumes you already have your LSP set up with nvim-lspconfig (or an alternative like lsp-zero). You should also have an way to install the linters you are gonna need, i highly recommend Mason with mason-lspconfig.
  • This Week in Neovim #47: Archiving null-ls, native inlay hints, build.lua, flash.nvim, mini.files...
    1 project | /r/neovim | 11 Jul 2023
    Try out https://github.com/mfussenegger/nvim-lint for linting tools, it integrates with nvim diagnostics module, might cover all use cases of null-ls for someone shopping around.
  • null-ls will be archived
    14 projects | /r/neovim | 9 Jul 2023
    People looking for alternative can check these projects: - nvim-lint - formatter.nvim
  • Does a language server replace ALE, syntastic, and the language plugin?
    12 projects | /r/neovim | 13 May 2023
    For linting, I would recommend nvim-lint. Again the same step as before, a little bit of setup code to register your linter and you're good to go!
  • ALE now supports Neovim's diagnostics API
    5 projects | /r/neovim | 31 Jan 2023
    This will be the third linting solution to make use of the [Neovim Diagnostic] module after null-ls and nvim-lint. All can co-exist, all have the pros and cons.
  • Linting with ALE with executables in virtual envs
    2 projects | /r/neovim | 29 Dec 2022
    I use nvim-lint (https://github.com/mfussenegger/nvim-lint), but I still don't know exactly how to achieve your goals with it. My hunch is that it should be somewhat straightforward, since Lua code could be used to provide the executable command (i.e. if in poetry project then cmd =poetry run ...else if ... then ... end)
  • ALE alternative in Lua
    2 projects | /r/neovim | 16 Dec 2022
  • Guide: Structuring Lua plugins
    11 projects | /r/neovim | 7 Nov 2022
    It's not obvious from the website, but this is the blog of GitHub user @mfussenegger, who is a Neovim core member, one of the primary maintainers of Neovim's LSP client implementation, and the other of several excellent plugins.
  • Code Linting
    4 projects | /r/neovim | 5 Nov 2022
    https://github.com/mfussenegger/nvim-lint works with the diagnostics API that was created after LSP was added, to allow non-LSP to use diagnostics API. Meaning you can see LSP and linting in the same interfaces if you use this API.
  • Improved Tcl support in Neovim
    1 project | /r/Tcl | 25 Oct 2022
    As part of my work-in-progress Neovim [plugin]([https://github.com/nat-418/tcl.nvim)(https://github.com/nat-418/tcl.nvim)) for Tcl development, I added support for Nagelfar syntax checking in the nvim-lint plugin. This provides inline checking for errors as seen in the attached screenshot. If anyone has any ideas on how to create a Tcl Language Server, or knows of a project already working on one, I would be very interested to know about it.

null-ls.nvim

Posts with mentions or reviews of null-ls.nvim. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-12-06.
  • cpp setting problem
    4 projects | /r/neovim | 6 Dec 2023
  • Being a bash developer in the 21st century
    4 projects | news.ycombinator.com | 22 Sep 2023
    you can use nvim then, it has shellcheck for diagnostics and formatting, like in vscode :)

    here the link to the config: https://github.com/jose-elias-alvarez/null-ls.nvim/blob/main...

  • Linting/formatting and LSP
    1 project | /r/neovim | 8 Sep 2023
    I use a lot of different languages generally and I'm running into issues around formatting. Is there any standard way to use LSP formatting by default and otherwise fallback to specific linter/formatting programs? I believe null-ls is the normal way of dealing with this, but since it's been archived, I'd rather not rely on it.
  • How to setup efm-langserver for pint formatter?
    3 projects | /r/neovim | 13 Jul 2023
    I've been using pint for formatting php files with null-ls.nvim. Few days ago null-ls.nvim has announced that the plugin will be archived in few months so I started migrating all my formatters and linter from null-ls to efm-langserver. I got other things such as prettier, black, isort, mypy, etc. working but can't get pint to work with php files: If I run pint via efm-langserver, everything is deleted from the buffer, and the saved file is formatted separately. How do I setup efm-langserver correctly to work with pint? Below is my config.yml for pint currently. yaml tools: pint: &pint format-command: "pint --no-interaction --quiet ${INPUT}" format-stdin: false languages: php: - <<: *pint Thank you.
  • Archiving Null-Ls
    1 project | news.ycombinator.com | 10 Jul 2023
  • null-ls will be archived
    1 project | /r/ThePrimeagenReact | 10 Jul 2023
    14 projects | /r/neovim | 9 Jul 2023
  • Why is nobody using CoC anymore?
    3 projects | /r/neovim | 3 Jul 2023
    Because null-ls.nvim & mason.nvim together do everything I wanted CoC for
  • Your favourite Neovim plugins?
    42 projects | /r/neovim | 21 Jun 2023
  • How can I get yapf, black, and other formatters working with pylsp?
    1 project | /r/neovim | 19 Jun 2023
    There is a good answer. I think you know lua and neovim config enough to pick things that you need. If you need a short answer, null-ls is the way.

What are some alternatives?

When comparing nvim-lint and null-ls.nvim you can also consider the following projects:

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

formatter.nvim

ESLint - Find and fix problems in your JavaScript code.

nvim-lspconfig - Quickstart configs for Nvim LSP

diagnostic-nvim - A wrapper for neovim built in LSP diagnosis config

neoformat - :sparkles: A (Neo)vim plugin for formatting code.

nvim-lspinstall - Provides the missing :LspInstall for nvim-lspconfig

StyLua - An opinionated Lua code formatter

LunarVim - 🌙 LunarVim is an IDE layer for Neovim. Completely free and community driven.

efm-langserver - General purpose Language Server

lsp-zero.nvim - A starting point to setup some lsp related features in neovim.