diff options
author | kevinhwang91 <kevin.hwang@live.com> | 2021-05-20 21:15:31 +0800 |
---|---|---|
committer | kevinhwang91 <kevin.hwang@live.com> | 2021-05-20 21:15:31 +0800 |
commit | d29148ffd812058cf7281607d1b6a9dd937d5d6c (patch) | |
tree | 8dc16d1b0949b0093a3fd71991ac3ed438fca4d6 /runtime/lua/vim/lsp/buf.lua | |
parent | 2dc0f812710b19f8befcfa64ef9335cadc510296 (diff) | |
parent | 5d9c5601275abfa17396b3a80c7b958c48080807 (diff) | |
download | rneovim-d29148ffd812058cf7281607d1b6a9dd937d5d6c.tar.gz rneovim-d29148ffd812058cf7281607d1b6a9dd937d5d6c.tar.bz2 rneovim-d29148ffd812058cf7281607d1b6a9dd937d5d6c.zip |
Merge remote-tracking branch 'origin/master' into qftf
Diffstat (limited to 'runtime/lua/vim/lsp/buf.lua')
-rw-r--r-- | runtime/lua/vim/lsp/buf.lua | 24 |
1 files changed, 14 insertions, 10 deletions
diff --git a/runtime/lua/vim/lsp/buf.lua b/runtime/lua/vim/lsp/buf.lua index 341a3e82fc..5dd7109bb0 100644 --- a/runtime/lua/vim/lsp/buf.lua +++ b/runtime/lua/vim/lsp/buf.lua @@ -297,26 +297,30 @@ local function pick_call_hierarchy_item(call_hierarchy_items) return choice end +local function call_hierarchy(method) + local params = util.make_position_params() + request('textDocument/prepareCallHierarchy', params, function(err, _, result) + if err then + vim.notify(err.message, vim.log.levels.WARN) + return + end + local call_hierarchy_item = pick_call_hierarchy_item(result) + vim.lsp.buf_request(0, method, { item = call_hierarchy_item }) + end) +end + --- Lists all the call sites of the symbol under the cursor in the --- |quickfix| window. If the symbol can resolve to multiple --- items, the user can pick one in the |inputlist|. function M.incoming_calls() - local params = util.make_position_params() - request('textDocument/prepareCallHierarchy', params, function(_, _, result) - local call_hierarchy_item = pick_call_hierarchy_item(result) - vim.lsp.buf_request(0, 'callHierarchy/incomingCalls', { item = call_hierarchy_item }) - end) + call_hierarchy('callHierarchy/incomingCalls') end --- Lists all the items that are called by the symbol under the --- cursor in the |quickfix| window. If the symbol can resolve to --- multiple items, the user can pick one in the |inputlist|. function M.outgoing_calls() - local params = util.make_position_params() - request('textDocument/prepareCallHierarchy', params, function(_, _, result) - local call_hierarchy_item = pick_call_hierarchy_item(result) - vim.lsp.buf_request(0, 'callHierarchy/outgoingCalls', { item = call_hierarchy_item }) - end) + call_hierarchy('callHierarchy/outgoingCalls') end --- List workspace folders. |