aboutsummaryrefslogtreecommitdiff
path: root/runtime/lua/vim/lsp/callbacks.lua
diff options
context:
space:
mode:
authorMatthieu Coudron <mattator@gmail.com>2020-03-01 01:47:21 +0100
committerGitHub <noreply@github.com>2020-03-01 01:47:21 +0100
commit6fcab7e758f3826b94ab369452b71d15a67c8b36 (patch)
tree2b965d4866bcfc918e2f13f99c49d36a83281436 /runtime/lua/vim/lsp/callbacks.lua
parent1656367b90bd29d84d5ebf1ccef560368a1973cf (diff)
parent16262472cda88d0a4dc5c6729cfef36264569324 (diff)
downloadrneovim-6fcab7e758f3826b94ab369452b71d15a67c8b36.tar.gz
rneovim-6fcab7e758f3826b94ab369452b71d15a67c8b36.tar.bz2
rneovim-6fcab7e758f3826b94ab369452b71d15a67c8b36.zip
Merge pull request #11931 from h-michael/symbol
[RDY] LSP support 'textDocument/documentSymbol’
Diffstat (limited to 'runtime/lua/vim/lsp/callbacks.lua')
-rw-r--r--runtime/lua/vim/lsp/callbacks.lua10
1 files changed, 8 insertions, 2 deletions
diff --git a/runtime/lua/vim/lsp/callbacks.lua b/runtime/lua/vim/lsp/callbacks.lua
index 99093216d9..63b5c4d493 100644
--- a/runtime/lua/vim/lsp/callbacks.lua
+++ b/runtime/lua/vim/lsp/callbacks.lua
@@ -38,7 +38,13 @@ end
M['textDocument/references'] = function(_, _, result)
if not result then return end
- util.set_qflist(result)
+ util.set_qflist(util.locations_to_items(result))
+end
+
+M['textDocument/documentSymbol'] = function(_, _, result, _, bufnr)
+ if not result or vim.tbl_isempty(result) then return end
+
+ util.set_qflist(util.symbols_to_items(result, bufnr))
api.nvim_command("copen")
api.nvim_command("wincmd p")
end
@@ -97,7 +103,7 @@ local function location_callback(_, method, result)
end
util.jump_to_location(result[1])
if #result > 1 then
- util.set_qflist(result)
+ util.set_qflist(util.locations_to_items(result))
api.nvim_command("copen")
api.nvim_command("wincmd p")
end