mirror of
https://github.com/neovim/neovim.git
synced 2024-12-20 11:15:14 -07:00
cc87dda31a
PR #23689 assumes `client.config.capabilities.workspace.didChangeWatchedFiles` exists when checking `dynamicRegistration`, but thats's true only if it was passed to `vim.lsp.start{_client}`. This caused #23806 (still an issue in v0.9.1; needs manual backport), but #23681 fixed it by defaulting `config.capabilities` to `make_client_capabilities` if not passed to `vim.lsp.start{_client}`. However, the bug resurfaces on HEAD if you provide a non-nil `capabilities` to `vim.lsp.start{_client}` with missing fields (e.g: not made via `make_client_capabilities`). From what I see, the spec says such missing fields should be interpreted as an absence of the capability (including those indicated by missing sub-fields): https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#clientCapabilities Also, suggest `vim.empty_dict()` for an empty dict in `:h vim.lsp.start_client()` (`{[vim.type_idx]=vim.types.dictionary}` no longer works anyway, probably since the cjson switch). |
||
---|---|---|
.. | ||
lsp | ||
ccomplete_spec.lua | ||
cfilter_spec.lua | ||
editorconfig_spec.lua | ||
health_spec.lua | ||
lsp_spec.lua | ||
man_spec.lua | ||
matchparen_spec.lua | ||
msgpack_spec.lua | ||
shada_spec.lua |