From b8dfa2f112130c1dcb12409f881a3fd83aa5b56d Mon Sep 17 00:00:00 2001 From: Jaehwang Jerry Jung Date: Tue, 15 Jun 2021 15:07:52 +0900 Subject: fix(lsp): fix on_detach in lsp.diagnostic `lsp.diagnostic.get_all()` was returning diagnotics for `:bwipeout`-ed buffers because the diagnostic cache is not cleared. The first argument of on_detach callback is the string "detach", not the bufnr. --- runtime/lua/vim/lsp/diagnostic.lua | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'runtime/lua/vim') diff --git a/runtime/lua/vim/lsp/diagnostic.lua b/runtime/lua/vim/lsp/diagnostic.lua index c6fed54908..d4580885db 100644 --- a/runtime/lua/vim/lsp/diagnostic.lua +++ b/runtime/lua/vim/lsp/diagnostic.lua @@ -321,9 +321,9 @@ function M.save(diagnostics, bufnr, client_id) -- Clean up our data when the buffer unloads. api.nvim_buf_attach(bufnr, false, { - on_detach = function(b) + on_detach = function(_, b) clear_diagnostic_cache(b, client_id) - _diagnostic_cleanup[bufnr][client_id] = nil + _diagnostic_cleanup[b][client_id] = nil end }) end -- cgit