Language Server Protocol
- The
Language Server Protocol(LSP) defines the protocol used between an editor and a language server that provides language features autocompletegoto definitiondocumentation on hover- etc
- https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/
- Clients (development tools) communicate with the server using the language protocol over
JSON-RPC
Language Server
-
A
Language Serveris an external process with language specific rules -
Examples
- rust-analyzer
- gopls
- tsserver (executed by the node language runtime)
- html
- cssls
- tailwindcss
- svelte
- lua_ls
- graphql
- emmet_ls
- prismals
- pyright
Language Client
-
Your code editor
-
Examples
- vscode