aboutsummaryrefslogtreecommitdiffstats
path: root/lua/lspconfig/texlab.lua
diff options
context:
space:
mode:
authorChristian Clason <christian.clason@uni-due.de>2021-09-09 21:01:01 +0200
committerGitHub <noreply@github.com>2021-09-09 21:01:01 +0200
commit59d3e6dffc2e928bdb6e5bf46502f9899708251a (patch)
tree85c8d889c4fb0916ce59daf1306e2774a71849cf /lua/lspconfig/texlab.lua
parentfix(dartls): use correct path.join (#1237) (diff)
downloadnvim-lspconfig-59d3e6dffc2e928bdb6e5bf46502f9899708251a.tar
nvim-lspconfig-59d3e6dffc2e928bdb6e5bf46502f9899708251a.tar.gz
nvim-lspconfig-59d3e6dffc2e928bdb6e5bf46502f9899708251a.tar.bz2
nvim-lspconfig-59d3e6dffc2e928bdb6e5bf46502f9899708251a.tar.lz
nvim-lspconfig-59d3e6dffc2e928bdb6e5bf46502f9899708251a.tar.xz
nvim-lspconfig-59d3e6dffc2e928bdb6e5bf46502f9899708251a.tar.zst
nvim-lspconfig-59d3e6dffc2e928bdb6e5bf46502f9899708251a.zip
fix(texlab): update to handler signature change (#1240)
* fix(texlab): update to handler signature change Update the handlers for `textDocument/build` and `textDocument/forwardSearch` to the upstream breaking signature change.
Diffstat (limited to 'lua/lspconfig/texlab.lua')
-rw-r--r--lua/lspconfig/texlab.lua27
1 files changed, 25 insertions, 2 deletions
diff --git a/lua/lspconfig/texlab.lua b/lua/lspconfig/texlab.lua
index bfa6e50a..f1e21ea3 100644
--- a/lua/lspconfig/texlab.lua
+++ b/lua/lspconfig/texlab.lua
@@ -16,10 +16,33 @@ local texlab_forward_status = vim.tbl_add_reverse_lookup {
Unconfigured = 3,
}
+-- add compatibility shim for breaking signature change
+local function mk_handler(fn)
+ return function(...)
+ local config_or_client_id = select(4, ...)
+ local is_new = type(config_or_client_id) ~= 'number'
+ if is_new then
+ return fn(...)
+ else
+ local err = select(1, ...)
+ local method = select(2, ...)
+ local result = select(3, ...)
+ local client_id = select(4, ...)
+ local bufnr = select(5, ...)
+ local config = select(6, ...)
+ return fn(err, result, { method = method, client_id = client_id, bufnr = bufnr }, config)
+ end
+ end
+end
+
+local function request(bufnr, method, params, handler)
+ return lsp.buf_request(bufnr, method, params, mk_handler(handler))
+end
+
local function buf_build(bufnr)
bufnr = util.validate_bufnr(bufnr)
local params = { textDocument = { uri = vim.uri_from_bufnr(bufnr) } }
- lsp.buf_request(bufnr, 'textDocument/build', params, function(err, _, result, _)
+ request(bufnr, 'textDocument/build', params, function(err, result, _)
if err then
error(tostring(err))
end
@@ -33,7 +56,7 @@ local function buf_search(bufnr)
textDocument = { uri = vim.uri_from_bufnr(bufnr) },
position = { line = vim.fn.line '.' - 1, character = vim.fn.col '.' },
}
- lsp.buf_request(bufnr, 'textDocument/forwardSearch', params, function(err, _, result, _)
+ request(bufnr, 'textDocument/forwardSearch', params, function(err, result, _)
if err then
error(tostring(err))
end