A guide on Neovim's LSP client

This page summarizes the projects mentioned and recommended in the original post on dev.to

InfluxDB – Built for High-Performance Time Series Workloads
InfluxDB 3 OSS is now GA. Transform, enrich, and act on time series data directly in the database. Automate critical tasks and eliminate the need to move data externally. Download now.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
  1. minicli

    A minimalist framework for command-line applications in PHP

    In case you didn't click on the link to intelephense, you should know that is a language server for php. If you just want to test the code I show here, you don't need the php interpreter installed, just the source code of a php project. You can use this repository: minicli, is a decent size codebase and doesn't depend on any other php libraries.

  2. InfluxDB

    InfluxDB – Built for High-Performance Time Series Workloads. InfluxDB 3 OSS is now GA. Transform, enrich, and act on time series data directly in the database. Automate critical tasks and eliminate the need to move data externally. Download now.

    InfluxDB logo
  3. language-server-protocol

    Defines a common protocol for language servers.

    A language server is an external program that follows the Language Server Protocol. The LSP specification defines what type of messages a language server can receive, and also how it should respond. The idea here is that any tool that follows the LSP specification can communicate with a language server.

  4. vscode-intelephense

    PHP intellisense for Visual Studio Code

    I'm going to use intelephense to show the minimal configuration needed to setup a language server in Neovim.

  5. nvim-lspconfig

    Quickstart configs for Nvim LSP

    If we can't find the basic usage in the documentation we can go to nvim-lspconfig's github repository. In there we look for a folder called server_configurations, this contains configuration files for a bunch of language servers.

  6. rust-analyzer

    A Rust compiler front-end for IDEs

    For example, intelephense can show diagnostics in real time, there is no need to save the file to get new diagnostics. But rust-analyzer, the language server for rust, can only update diagnostics after saving the file.

  7. ruff-lsp

    A Language Server Protocol implementation for Ruff.

    Here's another example: ruff-lsp, a language server for python. It describes itself as a linter and code formatter. As far as I can tell ruff-lsp does not provide code completions or semantic highlights.

  8. typescript-language-server

    TypeScript & JavaScript Language Server

    Sometimes a language server can support multiple filetypes. An example of this is tsserver, the language server for javascript and typescript. In this case a filetype plugin can still work but there is an easier way to go about it.

  9. SaaSHub

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

    SaaSHub logo
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

  • Show HN: Lspwatch – Automatic, configurable observability for language servers

    3 projects | news.ycombinator.com | 27 Mar 2025
  • Suspense your federated component with caution

    1 project | dev.to | 14 Oct 2023
  • How do I select which LSP is currently running?

    1 project | /r/HelixEditor | 17 Aug 2023
  • Formatting on save not working

    3 projects | /r/HelixEditor | 5 Jul 2023
  • Struggling with javascript completion with LSP

    2 projects | /r/emacs | 15 Jun 2023

Did you know that TypeScript is
the 1st most popular programming language
based on number of references?