PSA: Configuring LSP w/o nvim-lspconfig is Simple!

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

Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
  • nvim-lspconfig

    Quickstart configs for Nvim LSP

    Besides what others said, some language servers are just a bit of a pain to configure, be it because their settings are not very well documented, they have a lot of settings, or they need some workaround to get them to work with neovim. For example, it took me a few days to write a configuration for the vdmj language server (which is now included in lspconfig), which also required fixes on both the neovim and language server side. If it had been included in lspconfig to begin with, it would have been a huge time saver.

  • typescript-language-server

    TypeScript & JavaScript Language Server

    This is not the case! After reading the LSP help pages (:help lsp), I installed and configured two language servers: Typescript Language Server for JavaScript and Pyright for Python. Neovim has fantastic defaults, so things like tags, omnicompletion, and semantic highlighting (New in 0.9) are enabled and configured by default as long as your language server supports them. You can see my configuration below.

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

  • pyright

    Static Type Checker for Python

    This is not the case! After reading the LSP help pages (:help lsp), I installed and configured two language servers: Typescript Language Server for JavaScript and Pyright for Python. Neovim has fantastic defaults, so things like tags, omnicompletion, and semantic highlighting (New in 0.9) are enabled and configured by default as long as your language server supports them. You can see my configuration below.

  • nvim-treesitter

    Nvim Treesitter configurations and abstraction layer

    This is slightly off-topic, but can anyone tell me if Tree-sitter can also be configured basically? Reading the docs, it seems quite a bit more involved, so I'm considering using nvim-treesitter.

  • lsp-command

    Command interface for neovim LSP

    I'm currently rewriting this https://github.com/ii14/lsp-command to work with the newer versions of the LSP API. As it stands, it does require nvim-lspconfig. Would those who don't use nvim-lspconfig find this useful?

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

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