From c671f7042399117753066a5caefbda6551db6d88 Mon Sep 17 00:00:00 2001 From: Price Hiller Date: Fri, 8 Nov 2024 00:55:37 -0600 Subject: [PATCH] fix(nvim): handle rust analyzer cancellation issues --- users/price/dots/.config/nvim/lua/core/lsp.lua | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/users/price/dots/.config/nvim/lua/core/lsp.lua b/users/price/dots/.config/nvim/lua/core/lsp.lua index a0886589..5d1cd471 100644 --- a/users/price/dots/.config/nvim/lua/core/lsp.lua +++ b/users/price/dots/.config/nvim/lua/core/lsp.lua @@ -1,6 +1,17 @@ local M = {} M.setup = function() + -- HACK: See https://github.com/neovim/neovim/issues/30985#issuecomment-2447329525 + -- This fixes an issue with "server cancelled the request" emissions from `rust-analyzer` + for _, method in ipairs({ "textDocument/diagnostic", "workspace/diagnostic" }) do + local default_diagnostic_handler = vim.lsp.handlers[method] + vim.lsp.handlers[method] = function(error, result, ctx, config) + if error ~= nil and error.code == -32802 then + return + end + return default_diagnostic_handler(error, result, ctx, config) + end + end vim.diagnostic.config({ severity_sort = true, underline = true,