Neovim LSP client ↔ external language servers: formatting selection with overlapping capabilities
Neovim's built-in LSP client communicates with external language servers over msgpack-RPC and exposes vim.lsp functions for diagnostics, completion and formatting. During initialization the client merges server-declared capabilities with client settings and registers handlers for LSP requests and notifications. When multiple language servers attach to the sa