Title here
Summary here
Before LSP, every editor needed its own plugin for every language: N editors × M languages worth of duplicated work. The Language Server Protocol (originally from VS Code) splits the problem: a language server is a separate program that deeply understands one language, and any editor that speaks the protocol gets its intelligence for free.
Once a server is attached to a buffer you get, among others:
gd).grr).K).grn).Three things must exist:
lua-language-server,
basedpyright-langserver. Mason installs these.nvim-lspconfig ships these
definitions; Neovim 0.11+ activates them natively with
vim.lsp.enable().grn, grr,
gra, K, [d/]d); you add taste on top.Check what is attached to the current buffer at any time:
:LspInfo