mirror of
https://github.com/NotAShelf/direnv.nvim.git
synced 2026-06-24 21:34:49 +00:00
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:
parent
e623d36451
commit
ffe17ca6fa
1 changed files with 12 additions and 5 deletions
|
|
@ -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)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue