diff options
| author | Marten Trip <me@marten.xyz> | 2021-08-11 20:03:31 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-08-11 20:03:31 +0200 |
| commit | 06e55d3b3afe4b3070783699ecc8985f0236caa4 (patch) | |
| tree | 32d5a16ce83a01a9ce0ba55f407ca92d3ccaf845 | |
| parent | 2292ee2be0f03ec9a0e4ee9477f96db914033189 (diff) | |
fix: builtin `list_or_jump` now handles non list replies from the server (#1101)
fix for servers such as zls and clojure_lsp
| -rw-r--r-- | lua/telescope/builtin/lsp.lua | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/lua/telescope/builtin/lsp.lua b/lua/telescope/builtin/lsp.lua index 42a1851..8ca8b92 100644 --- a/lua/telescope/builtin/lsp.lua +++ b/lua/telescope/builtin/lsp.lua @@ -58,6 +58,12 @@ local function list_or_jump(action, title, opts) local flattened_results = {} for _, server_results in pairs(result) do if server_results.result then + -- textDocument/definition can return Location or Location[] + if not vim.tbl_islist(server_results.result) then + flattened_results = { server_results.result } + break + end + vim.list_extend(flattened_results, server_results.result) end end |
