From 52d56f2e072c91b0da548db48f4e9375b29d740f Mon Sep 17 00:00:00 2001 From: Myzel394 <50424412+Myzel394@users.noreply.github.com> Date: Wed, 17 Apr 2024 12:20:45 +0200 Subject: [PATCH] fix: Recursively parse arrays for lsp entries too --- lua/jsonfly/parsers.lua | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/lua/jsonfly/parsers.lua b/lua/jsonfly/parsers.lua index ba24140..e0fd44f 100644 --- a/lua/jsonfly/parsers.lua +++ b/lua/jsonfly/parsers.lua @@ -90,6 +90,7 @@ end ---@param result Symbol ---@return string|number|table|boolean|nil function M:parse_lsp_value(result) + -- Object if result.kind == 2 then local value = {} @@ -98,10 +99,13 @@ function M:parse_lsp_value(result) end return value + -- Integer elseif result.kind == 16 then return tonumber(result.detail) + -- String elseif result.kind == 15 then return result.detail + -- Array elseif result.kind == 18 then local value = {} @@ -110,8 +114,10 @@ function M:parse_lsp_value(result) end return value + -- null elseif result.kind == 13 then return nil + -- boolean elseif result.kind == 17 then return result.detail == "true" end @@ -159,7 +165,7 @@ function M:get_entries_from_lsp_symbols(symbols) } 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) for jindex=1, #sub_keys do