fix: Recursively parse arrays for lsp entries too

This commit is contained in:
Myzel394 2024-04-17 12:20:45 +02:00
parent 5b18e0bc04
commit 52d56f2e07
No known key found for this signature in database
GPG Key ID: DEC4AAB876F73185

View File

@ -90,6 +90,7 @@ end
---@param result Symbol ---@param result Symbol
---@return string|number|table|boolean|nil ---@return string|number|table|boolean|nil
function M:parse_lsp_value(result) function M:parse_lsp_value(result)
-- Object
if result.kind == 2 then if result.kind == 2 then
local value = {} local value = {}
@ -98,10 +99,13 @@ function M:parse_lsp_value(result)
end end
return value return value
-- Integer
elseif result.kind == 16 then elseif result.kind == 16 then
return tonumber(result.detail) return tonumber(result.detail)
-- String
elseif result.kind == 15 then elseif result.kind == 15 then
return result.detail return result.detail
-- Array
elseif result.kind == 18 then elseif result.kind == 18 then
local value = {} local value = {}
@ -110,8 +114,10 @@ function M:parse_lsp_value(result)
end end
return value return value
-- null
elseif result.kind == 13 then elseif result.kind == 13 then
return nil return nil
-- boolean
elseif result.kind == 17 then elseif result.kind == 17 then
return result.detail == "true" return result.detail == "true"
end end
@ -159,7 +165,7 @@ function M:get_entries_from_lsp_symbols(symbols)
} }
keys[#keys + 1] = entry keys[#keys + 1] = entry
if symbol.kind == 2 then if symbol.kind == 2 or symbol.kind == 18 then
local sub_keys = M:get_entries_from_lsp_symbols(symbol.children) local sub_keys = M:get_entries_from_lsp_symbols(symbol.children)
for jindex=1, #sub_keys do for jindex=1, #sub_keys do