fix: guard LSP restart against race condition and invalid buffers

Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I1ff307bfa381c7517a486a54463765386a6a6964
This commit is contained in:
raf 2026-06-23 19:58:52 +03:00
commit ffe17ca6fa
Signed by: NotAShelf
GPG key ID: 29D95B64378DB4BF

View file

@ -329,11 +329,18 @@ M._init = function(path)
local bufnr = vim.api.nvim_get_current_buf() local bufnr = vim.api.nvim_get_current_buf()
local bufname = vim.api.nvim_buf_get_name(bufnr) local bufname = vim.api.nvim_buf_get_name(bufnr)
local clients = vim.lsp.get_clients({ bufnr = bufnr }) local clients = vim.lsp.get_clients({ bufnr = bufnr })
for _, client in ipairs(clients) do if bufname ~= "" and #clients > 0 then
client:stop() for _, client in ipairs(clients) do
end client:stop()
if bufname ~= "" then end
vim.cmd("edit") vim.defer_fn(function()
if
vim.api.nvim_buf_is_valid(bufnr)
and vim.api.nvim_buf_get_name(bufnr) ~= ""
then
vim.cmd("edit")
end
end, 500)
end end
end end
end) end)