Quickstart configs for Nvim LSP (by neovim)

Nvim-lspconfig Alternatives

Similar projects and alternatives to nvim-lspconfig

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a better nvim-lspconfig alternative or higher similarity.

nvim-lspconfig reviews and mentions

Posts with mentions or reviews of nvim-lspconfig. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-11-25.
  • Looking for a better IDE for Linux and Mac with inline errors and warnings
    5 projects | reddit.com/r/C_Programming | 25 Nov 2022
    I ended up relying on two plugins: lspconfig for lsp setup and nvim-cmp for auto-complete.
  • When I insert tab, it expands to 4 spaces and not 2 as I have set
    2 projects | reddit.com/r/neovim | 23 Nov 2022
    -- Mappings. -- See `:help vim.diagnostic.*` for documentation on any of the below functions local opts = { noremap=true, silent=true } vim.keymap.set('n', 'e', vim.diagnostic.open_float, opts) vim.keymap.set('n', '[d', vim.diagnostic.goto_prev, opts) vim.keymap.set('n', ']d', vim.diagnostic.goto_next, opts) vim.keymap.set('n', 'q', vim.diagnostic.setloclist, opts) -- Use an on_attach function to only map the following keys -- after the language server attaches to the current buffer local on_attach = function(client, bufnr) -- Enable completion triggered by vim.api.nvim_buf_set_option(bufnr, 'omnifunc', 'v:lua.vim.lsp.omnifunc') -- Mappings. -- See `:help vim.lsp.*` for documentation on any of the below functions local bufopts = { noremap=true, silent=true, buffer=bufnr } vim.keymap.set('n', 'gD', vim.lsp.buf.declaration, bufopts) vim.keymap.set('n', 'gd', vim.lsp.buf.definition, bufopts) vim.keymap.set('n', 'K', vim.lsp.buf.hover, bufopts) vim.keymap.set('n', 'gi', vim.lsp.buf.implementation, bufopts) vim.keymap.set('n', '', vim.lsp.buf.signature_help, bufopts) vim.keymap.set('n', 'wa', vim.lsp.buf.add_workspace_folder, bufopts) vim.keymap.set('n', 'wr', vim.lsp.buf.remove_workspace_folder, bufopts) vim.keymap.set('n', 'wl', function() print(vim.inspect(vim.lsp.buf.list_workspace_folders())) end, bufopts) vim.keymap.set('n', 'D', vim.lsp.buf.type_definition, bufopts) vim.keymap.set('n', 'rn', vim.lsp.buf.rename, bufopts) vim.keymap.set('n', 'ca', vim.lsp.buf.code_action, bufopts) vim.keymap.set('n', 'gr', vim.lsp.buf.references, bufopts) vim.keymap.set('n', 'f', function() vim.lsp.buf.format { async = true } end, bufopts) end local lsp_flags = { -- This is the default in Nvim 0.7+ debounce_text_changes = 150, } require('lspconfig')['pyright'].setup{ on_attach = on_attach, flags = lsp_flags, } require('lspconfig')['tsserver'].setup{ on_attach = on_attach, flags = lsp_flags, } require('lspconfig')['sumneko_lua'].setup{ on_attach = on_attach, flags = lsp_flags, -- https://github.com/neovim/nvim-lspconfig/blob/master/lua/lspconfig/server_configurations/sumneko_lua.lua. settings = { Lua = { runtime = { -- Tell the language server which version of Lua you're using (most likely LuaJIT in the case of Neovim). version = 'LuaJIT', }, diagnostics = { -- Get the language server to recognize the `vim` global. globals = {'vim'}, }, workspace = { -- Make the server aware of Neovim runtime files library = vim.api.nvim_get_runtime_file("", true), -- Someone wrote this helps if Lua Lsp is asking whether to create luassert. checkThirdParty = false, }, -- Do not send telemetry data containing a randomized but unique identifier. telemetry = { enable = false, }, }, }, }
  • How to have LSPs installed with Mason automatically hook up to cmp and work?
    3 projects | reddit.com/r/neovim | 22 Nov 2022
    The plugin responsible for that is nvim-lspconfig
  • neovim-lua - Working on improvements for LSP and celebrating 2 years with Lua
    4 projects | reddit.com/r/neovim | 18 Nov 2022
    There is one plugin worth mentioning, which is nvim-lspconfig. Neovim implements a client, but out of the box the client does not know anything about all the various servers that are popping up all over the internet, so you would need to write a configuration for each server you want to use. This mean a lot of duplicated code among users. The nvim-lspconfig includes reasonable default configurations (which you can override) for all the popular servers. This plugin is not strictly necessary, but it will save you a lot of tedium.
  • Why I'm getting message about `luassert`?
    4 projects | reddit.com/r/neovim | 15 Nov 2022
    I don't know how to disable this message with neodev specifically, but you probably wanna check out this thread: https://github.com/neovim/nvim-lspconfig/issues/1700
  • LSP is not working
    3 projects | reddit.com/r/neovim | 11 Nov 2022
    do you have language servers installed? you need to have each language server like this one for typescript on your PATH, or use something like mason to install them for you (and Mason-lspconfig to set those servers up with nvim-lspconfig)
  • How do you handle project specific configuration?
    14 projects | reddit.com/r/neovim | 10 Nov 2022
    As the number of projects I work on with neovim has grown in number and diversity, I have felt the need for project specific configuration more and more. Based on this issue and this issue it seems like there are or were plans/ideas to add some project management and configuration features to neovim core.
  • linux c++ devs, what does your dev environment look like?
    19 projects | reddit.com/r/cpp | 7 Nov 2022
    nvim-lspconfig for basic lsp config
  • Things you wish you have known earlier with neovim
    5 projects | reddit.com/r/neovim | 2 Nov 2022
    Language Servers do not come out of the box. You have to set those up yourself. Peruse this repo first. In particular, the server_configuration.md page is your holy grail for setting up LSP. Don't expect autocompletion and intellisense to come out of the box with neovim. Neovim is able to use a Language Server Protocol to activate intellisense/autocompletion, if you have that server set up yourself.
  • Helix Editor – 90% of Neovim With Kakoune
    7 projects | dev.to | 26 Oct 2022
    I’ve spend too many hours setting up the recent NeoVim features (since v0.5): tree-sitter, nvim-lsp, nvim-cmp.
  • A note from our sponsor - InfluxDB
    www.influxdata.com | 28 Nov 2022
    InfluxDB is the Time Series Data Platform where developers build real-time applications for analytics, IoT and cloud-native services in less time with less code. Learn more →


Basic nvim-lspconfig repo stats
5 days ago
The context switching struggle is real
Zigi makes context switching a thing of the past. It monitors Jira and GitHub updates, pings you when PRs need approval and lets you take fast actions - all directly from Slack!