diff options
author | Folke Lemaitre <folke.lemaitre@gmail.com> | 2023-05-28 07:51:28 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-05-28 07:51:28 +0200 |
commit | ddd92a70d2aab5247895e89abaaa79c62ba7dbb4 (patch) | |
tree | 12d216a7fbc41d7f70dfefa3148f84435d1cd41b /runtime/lua/vim/lsp/protocol.lua | |
parent | e41b2e34b46a806b0fc59914263f8f4af9ac62f1 (diff) | |
download | rneovim-ddd92a70d2aab5247895e89abaaa79c62ba7dbb4.tar.gz rneovim-ddd92a70d2aab5247895e89abaaa79c62ba7dbb4.tar.bz2 rneovim-ddd92a70d2aab5247895e89abaaa79c62ba7dbb4.zip |
feat(lsp): initial support for dynamic capabilities (#23681)
- `client.dynamic_capabilities` is an object that tracks client register/unregister
- `client.supports_method` will additionally check if a dynamic capability supports the method, taking document filters into account. But only if the client enabled `dynamicRegistration` for the capability
- updated the default client capabilities to include dynamicRegistration for:
- formatting
- rangeFormatting
- hover
- codeAction
- hover
- rename
Diffstat (limited to 'runtime/lua/vim/lsp/protocol.lua')
-rw-r--r-- | runtime/lua/vim/lsp/protocol.lua | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/runtime/lua/vim/lsp/protocol.lua b/runtime/lua/vim/lsp/protocol.lua index a7919f12f5..a28ff407b7 100644 --- a/runtime/lua/vim/lsp/protocol.lua +++ b/runtime/lua/vim/lsp/protocol.lua @@ -697,7 +697,7 @@ function protocol.make_client_capabilities() didSave = true, }, codeAction = { - dynamicRegistration = false, + dynamicRegistration = true, codeActionLiteralSupport = { codeActionKind = { @@ -714,6 +714,12 @@ function protocol.make_client_capabilities() properties = { 'edit' }, }, }, + formatting = { + dynamicRegistration = true, + }, + rangeFormatting = { + dynamicRegistration = true, + }, completion = { dynamicRegistration = false, completionItem = { @@ -747,6 +753,7 @@ function protocol.make_client_capabilities() }, definition = { linkSupport = true, + dynamicRegistration = true, }, implementation = { linkSupport = true, @@ -755,7 +762,7 @@ function protocol.make_client_capabilities() linkSupport = true, }, hover = { - dynamicRegistration = false, + dynamicRegistration = true, contentFormat = { protocol.MarkupKind.Markdown, protocol.MarkupKind.PlainText }, }, signatureHelp = { @@ -790,7 +797,7 @@ function protocol.make_client_capabilities() hierarchicalDocumentSymbolSupport = true, }, rename = { - dynamicRegistration = false, + dynamicRegistration = true, prepareSupport = true, }, publishDiagnostics = { |