diff options
author | Hirokazu Hata <h.hata.ai.t@gmail.com> | 2020-02-22 21:14:10 +0900 |
---|---|---|
committer | Hirokazu Hata <h.hata.ai.t@gmail.com> | 2020-02-28 09:03:17 +0900 |
commit | f157fdef7eccba6601c6d3b1475847466b60c25b (patch) | |
tree | af22614d594412007ebb6045229b50619433589a /runtime/lua/vim/lsp.lua | |
parent | 49cd750d6a72efc0571a89d7a874bbb01081227f (diff) | |
download | rneovim-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.lua | 12 |
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 |