From d53d542359de09270a625f3357db77d6b03041fa Mon Sep 17 00:00:00 2001 From: Yi Ming Date: Sun, 8 Mar 2026 10:28:56 +0800 Subject: [PATCH] fix(lsp): stop and close timer when `Capability` is destroyed --- runtime/lua/vim/lsp/codelens.lua | 7 +++++++ runtime/lua/vim/lsp/inline_completion.lua | 1 + 2 files changed, 8 insertions(+) diff --git a/runtime/lua/vim/lsp/codelens.lua b/runtime/lua/vim/lsp/codelens.lua index f29677fde3..2b89ea971d 100644 --- a/runtime/lua/vim/lsp/codelens.lua +++ b/runtime/lua/vim/lsp/codelens.lua @@ -63,6 +63,13 @@ function Provider:new(bufnr) return self end +---@package +function Provider:destroy() + self:reset_timer() + api.nvim_del_augroup_by_id(self.augroup) + self.active[self.bufnr] = nil +end + ---@package ---@param client_id integer function Provider:on_attach(client_id) diff --git a/runtime/lua/vim/lsp/inline_completion.lua b/runtime/lua/vim/lsp/inline_completion.lua index 5b51d3388a..5804da42a7 100644 --- a/runtime/lua/vim/lsp/inline_completion.lua +++ b/runtime/lua/vim/lsp/inline_completion.lua @@ -92,6 +92,7 @@ end ---@package function Completor:destroy() + self:reset_timer() api.nvim_buf_clear_namespace(self.bufnr, namespace, 0, -1) api.nvim_del_augroup_by_id(self.augroup) self.active[self.bufnr] = nil