Does a language server replace ALE, syntastic, and the language plugin?

This page summarizes the projects mentioned and recommended in the original post on /r/neovim

SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
  1. nvim-treesitter

    Nvim Treesitter configurations and abstraction layer

    For syntax highlighting, you only need one plugin and that is the nvim-treesitter it has a growing list of languages with great looking syntax highlighting. But don't be fooled, treesitter can do much more than that but for this post I'll just mention it's syntax highlighting capabilities.

  2. SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
  3. nvim-cmp

    A completion plugin for neovim coded in Lua.

    But for autocompletion there is plenty to choose from but nvim-cmp has been the most popular one. This will have more code to write for the setup (not challenging per say) but just following the recommended setup would be all you need to get started.

  4. kickstart.nvim

    A launch point for your personal nvim configuration

    I recommend looking at kickstart.nvim . It's a good starting place

  5. nvim-lspconfig

    Quickstart configs for Nvim LSP

    For the alternatives, since nvim already comes with a built-in lsp client all you need is some configuration. This is provided by nvim-lspconfig. With a little bit of lua code for the setup you'll be all set to use the lsp client with the language server of your choice.

  6. nvim-lint

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

    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!

  7. formatter.nvim

    For formatting, formatter.nvim is a good choice and has similar setup to nvim-lint.

  8. null-ls.nvim

    Discontinued Use Neovim as a language server to inject LSP diagnostics, code actions, and more via Lua.

    However, if you want one tool to do both linting and formatting you can look to null-ls.nvim which is the most popular but is a language server itself that runs the linter/formatter as an lsp server.

  9. lsp-zero.nvim

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

    Finally, you could go a little bit further and check out lsp-zero.nvim which does all the boilerplate setup for: nvim-lspconfig, null-ls and nvim-cmp, so you won't have to manually write setup code for each respective plugin and therefore just gets you up and running with your development instead of being stuck configuring nvim like I do almost everyday.

  10. mason.nvim

    Portable package manager for Neovim that runs everywhere Neovim runs. Easily install and manage LSP servers, DAP servers, linters, and formatters.

    So you will need to install black on your system (there is another plugin that helps install such tools and language servers called mason.nvim, but that's a rabbit hole for another day haha).

  11. python-lsp-server

    Fork of the python-language-server project, maintained by the Spyder IDE team and the community

    Another example, you can setup python-lsp-server with nvim-lspconfig (lsp server also needs to be installed globally or in virtualenv) and they have a plugin for black which you can then install in the same virtualenv and just use lsp to format the code instead of formatter.nvim.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • A Missing IDE Feature

    3 projects | news.ycombinator.com | 4 Nov 2024
  • Do I need NeoVIM?

    11 projects | /r/neovim | 7 Dec 2023
  • cpp setting problem

    4 projects | /r/neovim | 6 Dec 2023
  • Using nvim-lint as a null-ls alternative for linters

    4 projects | /r/neovim | 14 Aug 2023
  • Mouse bindings/config

    1 project | /r/neovim | 27 Jun 2023