From ffe588870d3325bf1e7d6a7d33009de0d2bee6e6 Mon Sep 17 00:00:00 2001 From: jdhao Date: Sat, 6 Nov 2021 12:52:45 +0800 Subject: [breaking change] make it work for nvim 0.5.1 In nvim 0.5.1, the lsp handler signature has changed, see https://github.com/neovim/neovim/pull/15504 and LunarVim/LunarVim#1484. --- lua/config/lsp.lua | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'lua/config/lsp.lua') diff --git a/lua/config/lsp.lua b/lua/config/lsp.lua index 7cc8062..7c92df4 100644 --- a/lua/config/lsp.lua +++ b/lua/config/lsp.lua @@ -166,10 +166,14 @@ vim.lsp.handlers["textDocument/publishDiagnostics"] = vim.lsp.with(vim.lsp.diagn }) -- Refs: https://github.com/neovim/nvim-lspconfig/wiki/UI-customization#show-source-in-diagnostics -vim.lsp.handlers["textDocument/publishDiagnostics"] = function(_, _, params, client_id, _) - local uri = params.uri - local bufnr = vim.uri_to_bufnr(uri) +vim.lsp.handlers["textDocument/publishDiagnostics"] = function(_, result, context, _) + -- result contains diagnostics and uri + -- context contains client_id and method, but not always buf_nr + local client_id = context.client_id + local diagnostics = result.diagnostics + local uri = result.uri + local bufnr = vim.uri_to_bufnr(uri) if not bufnr then return end @@ -178,7 +182,7 @@ vim.lsp.handlers["textDocument/publishDiagnostics"] = function(_, _, params, cli return end - local diagnostics = params.diagnostics + -- change diagnostics format for i, v in ipairs(diagnostics) do diagnostics[i].message = string.format("%s: %s", v.source, v.message) end -- cgit v1.2.3