diff options
author | Michael Lingelbach <m.j.lbach@gmail.com> | 2021-08-23 16:25:15 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-08-23 16:25:15 -0400 |
commit | 5d633546bf5990d03e4b4dc1df213f88316115e6 (patch) | |
tree | 892aaf02a91b96674274a7795ee640e259ba7d6c /runtime/lua/vim/lsp/protocol.lua | |
parent | a92e83ac14a0a674bc5b4b1d06d6b6c9d0d20a10 (diff) | |
download | rneovim-5d633546bf5990d03e4b4dc1df213f88316115e6.tar.gz rneovim-5d633546bf5990d03e4b4dc1df213f88316115e6.tar.bz2 rneovim-5d633546bf5990d03e4b4dc1df213f88316115e6.zip |
fix(lsp): enable additional capabilities (#15470)
Declaration, type-definition, and implementation capabilities were
previously disabled if the client received table output from the server
capabilities. The workDoneProgress capability is sent for many servers
for all supported capabilities as part of this table. Default to setting
capability to table instead of false.
Diffstat (limited to 'runtime/lua/vim/lsp/protocol.lua')
-rw-r--r-- | runtime/lua/vim/lsp/protocol.lua | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/runtime/lua/vim/lsp/protocol.lua b/runtime/lua/vim/lsp/protocol.lua index ded8af5773..27703b4503 100644 --- a/runtime/lua/vim/lsp/protocol.lua +++ b/runtime/lua/vim/lsp/protocol.lua @@ -1003,8 +1003,7 @@ function protocol.resolve_capabilities(server_capabilities) elseif type(server_capabilities.declarationProvider) == 'boolean' then general_properties.declaration = server_capabilities.declarationProvider elseif type(server_capabilities.declarationProvider) == 'table' then - -- TODO: support more detailed declarationProvider options. - general_properties.declaration = false + general_properties.declaration = server_capabilities.declarationProvider else error("The server sent invalid declarationProvider") end @@ -1014,8 +1013,7 @@ function protocol.resolve_capabilities(server_capabilities) elseif type(server_capabilities.typeDefinitionProvider) == 'boolean' then general_properties.type_definition = server_capabilities.typeDefinitionProvider elseif type(server_capabilities.typeDefinitionProvider) == 'table' then - -- TODO: support more detailed typeDefinitionProvider options. - general_properties.type_definition = false + general_properties.type_definition = server_capabilities.typeDefinitionProvider else error("The server sent invalid typeDefinitionProvider") end @@ -1025,8 +1023,7 @@ function protocol.resolve_capabilities(server_capabilities) elseif type(server_capabilities.implementationProvider) == 'boolean' then general_properties.implementation = server_capabilities.implementationProvider elseif type(server_capabilities.implementationProvider) == 'table' then - -- TODO(ashkan) support more detailed implementation options. - general_properties.implementation = false + general_properties.implementation = server_capabilities.implementationProvider else error("The server sent invalid implementationProvider") end |