aboutsummaryrefslogtreecommitdiff
path: root/runtime/lua/vim/lsp.lua
diff options
context:
space:
mode:
authorHirokazu Hata <h.hata.ai.t@gmail.com>2020-02-22 21:14:10 +0900
committerHirokazu Hata <h.hata.ai.t@gmail.com>2020-02-28 09:03:17 +0900
commitf157fdef7eccba6601c6d3b1475847466b60c25b (patch)
treeaf22614d594412007ebb6045229b50619433589a /runtime/lua/vim/lsp.lua
parent49cd750d6a72efc0571a89d7a874bbb01081227f (diff)
downloadrneovim-f157fdef7eccba6601c6d3b1475847466b60c25b.tar.gz
rneovim-f157fdef7eccba6601c6d3b1475847466b60c25b.tar.bz2
rneovim-f157fdef7eccba6601c6d3b1475847466b60c25b.zip
lsp: add bufnr to callback function arguments
DocumentSymbol type doesn't have location field. So when we'll add 'textDocument/documentSymbol’ handler, we can't decide which file have we jump to.
Diffstat (limited to 'runtime/lua/vim/lsp.lua')
-rw-r--r--runtime/lua/vim/lsp.lua12
1 files changed, 6 insertions, 6 deletions
diff --git a/runtime/lua/vim/lsp.lua b/runtime/lua/vim/lsp.lua
index 71ec3cb6c4..23eac45046 100644
--- a/runtime/lua/vim/lsp.lua
+++ b/runtime/lua/vim/lsp.lua
@@ -101,7 +101,7 @@ local function for_each_buffer_client(bufnr, callback)
for client_id in pairs(client_ids) do
local client = active_clients[client_id]
if client then
- callback(client, client_id)
+ callback(client, client_id, bufnr)
end
end
end
@@ -520,7 +520,7 @@ function lsp.start_client(config)
end
--- Checks capabilities before rpc.request-ing.
- function client.request(method, params, callback)
+ function client.request(method, params, callback, bufnr)
if not callback then
callback = resolve_callback(method)
or error("not found: request callback for client "..client.name)
@@ -536,7 +536,7 @@ function lsp.start_client(config)
return
end
return rpc.request(method, params, function(err, result)
- callback(err, method, result, client_id)
+ callback(err, method, result, client_id, bufnr)
end)
end
@@ -836,8 +836,8 @@ function lsp.buf_request(bufnr, method, params, callback)
callback = { callback, 'f', true };
}
local client_request_ids = {}
- for_each_buffer_client(bufnr, function(client, client_id)
- local request_success, request_id = client.request(method, params, callback)
+ for_each_buffer_client(bufnr, function(client, client_id, resolved_bufnr)
+ local request_success, request_id = client.request(method, params, callback, resolved_bufnr)
-- This could only fail if the client shut down in the time since we looked
-- it up and we did the request, which should be rare.
@@ -874,7 +874,7 @@ end
function lsp.buf_request_sync(bufnr, method, params, timeout_ms)
local request_results = {}
local result_count = 0
- local function _callback(err, _method, result, client_id)
+ local function _callback(err, _method, result, client_id, bufnr)
request_results[client_id] = { error = err, result = result }
result_count = result_count + 1
end