chore: adapt lsp request handler for nvim >= 0.5.1
https://github.com/neovim/neovim/pull/15504
This commit is contained in:
@@ -1,6 +1,7 @@
|
|||||||
local vim = vim
|
local vim = vim
|
||||||
|
|
||||||
local main = require('symbols-outline')
|
local main = require('symbols-outline')
|
||||||
|
local buf_request = require('symbols-outline.utils.lsp_utils').request
|
||||||
|
|
||||||
local M = {}
|
local M = {}
|
||||||
|
|
||||||
@@ -24,7 +25,7 @@ function M.show_code_actions()
|
|||||||
|
|
||||||
local params = get_action_params(node, main.state.code_win)
|
local params = get_action_params(node, main.state.code_win)
|
||||||
|
|
||||||
vim.lsp.buf_request(params.bufnr, "textDocument/codeAction", params,
|
buf_request(params.bufnr, "textDocument/codeAction", params,
|
||||||
vim.lsp.handlers["textDocument/codeAction"])
|
vim.lsp.handlers["textDocument/codeAction"])
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ local vim = vim
|
|||||||
|
|
||||||
local main = require('symbols-outline')
|
local main = require('symbols-outline')
|
||||||
local util = vim.lsp.util
|
local util = vim.lsp.util
|
||||||
|
local buf_request = require('symbols-outline.utils.lsp_utils').request
|
||||||
|
|
||||||
local M = {}
|
local M = {}
|
||||||
|
|
||||||
@@ -23,8 +24,8 @@ function M.show_hover()
|
|||||||
|
|
||||||
local hover_params = get_hover_params(node, main.state.code_win)
|
local hover_params = get_hover_params(node, main.state.code_win)
|
||||||
|
|
||||||
vim.lsp.buf_request(hover_params.bufnr, "textDocument/hover", hover_params,
|
buf_request(hover_params.bufnr, "textDocument/hover", hover_params,
|
||||||
function(_, _, result, _, _, config)
|
function(_, result, _, config)
|
||||||
|
|
||||||
if not (result and result.contents) then
|
if not (result and result.contents) then
|
||||||
-- return { 'No information available' }
|
-- return { 'No information available' }
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
local vim = vim
|
local vim = vim
|
||||||
local main = require('symbols-outline')
|
local main = require('symbols-outline')
|
||||||
local config = require('symbols-outline.config')
|
local config = require('symbols-outline.config')
|
||||||
|
local buf_request = require('symbols-outline.utils.lsp_utils').request
|
||||||
|
|
||||||
local M = {}
|
local M = {}
|
||||||
|
|
||||||
@@ -103,8 +104,8 @@ local function update_hover()
|
|||||||
if not node then return end
|
if not node then return end
|
||||||
local params = get_hover_params(node, main.state.code_win)
|
local params = get_hover_params(node, main.state.code_win)
|
||||||
|
|
||||||
vim.lsp.buf_request(params.bufnr, "textDocument/hover", params,
|
buf_request(params.bufnr, "textDocument/hover", params,
|
||||||
function(err, _, result)
|
function(err, result)
|
||||||
if err then print(vim.inspect(err)) end
|
if err then print(vim.inspect(err)) end
|
||||||
local markdown_lines = {}
|
local markdown_lines = {}
|
||||||
if result ~= nil then
|
if result ~= nil then
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
local vim = vim
|
local vim = vim
|
||||||
|
|
||||||
local main = require('symbols-outline')
|
local main = require('symbols-outline')
|
||||||
|
local buf_request = require('symbols-outline.utils.lsp_utils').request
|
||||||
|
|
||||||
local M = {}
|
local M = {}
|
||||||
|
|
||||||
@@ -26,8 +27,8 @@ function M.rename()
|
|||||||
|
|
||||||
params.newName = new_name
|
params.newName = new_name
|
||||||
|
|
||||||
vim.lsp.buf_request(params.bufnr, "textDocument/rename", params,
|
buf_request(params.bufnr, "textDocument/rename", params,
|
||||||
function(_, _, result)
|
function(_, result)
|
||||||
if result ~= nil then
|
if result ~= nil then
|
||||||
vim.lsp.util.apply_workspace_edit(result)
|
vim.lsp.util.apply_workspace_edit(result)
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -2,6 +2,31 @@ local vim = vim
|
|||||||
|
|
||||||
local M = {}
|
local M = {}
|
||||||
|
|
||||||
|
-- callback args changed in Neovim 0.5.1/0.6. See:
|
||||||
|
-- https://github.com/neovim/neovim/pull/15504
|
||||||
|
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
|
||||||
|
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, ...)
|
||||||
|
fn(err, result, { method = method, client_id = client_id, bufnr = bufnr }, config)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
-- from mfussenegger/nvim-lsp-compl@29a81f3
|
||||||
|
function M.request(bufnr, method, params, handler)
|
||||||
|
return vim.lsp.buf_request(bufnr, method, params, mk_handler(handler))
|
||||||
|
end
|
||||||
|
|
||||||
function M.is_buf_attached_to_lsp(bufnr)
|
function M.is_buf_attached_to_lsp(bufnr)
|
||||||
local clients = vim.lsp.buf_get_clients(bufnr or 0)
|
local clients = vim.lsp.buf_get_clients(bufnr or 0)
|
||||||
return clients ~= nil and #clients > 0
|
return clients ~= nil and #clients > 0
|
||||||
|
|||||||
Reference in New Issue
Block a user