commit 2e2ac49c57e5c7b35a78ad57a614615e01157623
parent 86a2ebd5fe4ccf69eb10dd35d88f75039ea0bccf
Author: Maria José Solano <majosolano99@gmail.com>
Date: Sun, 6 Jul 2025 15:12:01 -0700
refactor(lsp): narrower `hierarchy` argument type (#34799)
Diffstat:
1 file changed, 8 insertions(+), 4 deletions(-)
diff --git a/runtime/lua/vim/lsp/buf.lua b/runtime/lua/vim/lsp/buf.lua
@@ -861,6 +861,13 @@ local function format_hierarchy_item(item)
return string.format('%s %s', item.name, item.detail)
end
+--- @alias vim.lsp.buf.HierarchyMethod
+--- | 'typeHierarchy/subtypes'
+--- | 'typeHierarchy/supertypes'
+--- | 'callHierarchy/incomingCalls'
+--- | 'callHierarchy/outgoingCalls'
+
+--- @type table<vim.lsp.buf.HierarchyMethod, 'type' | 'call'>
local hierarchy_methods = {
[ms.typeHierarchy_subtypes] = 'type',
[ms.typeHierarchy_supertypes] = 'type',
@@ -868,12 +875,9 @@ local hierarchy_methods = {
[ms.callHierarchy_outgoingCalls] = 'call',
}
---- @param method vim.lsp.protocol.Method.ClientToServer.Request
+--- @param method vim.lsp.buf.HierarchyMethod
local function hierarchy(method)
local kind = hierarchy_methods[method]
- if not kind then
- vim.notify(lsp._unsupported_method(method), vim.log.levels.WARN)
- end
local prepare_method = kind == 'type' and ms.textDocument_prepareTypeHierarchy
or ms.textDocument_prepareCallHierarchy