fix(view): Fix error thrown when trying to wipe buffer in autocmd window. (#314)
This commit is contained in:
@@ -68,9 +68,9 @@ M.View = {
|
|||||||
---Find a rogue NvimTree buffer that might have been spawned by i.e. a session.
|
---Find a rogue NvimTree buffer that might have been spawned by i.e. a session.
|
||||||
---@return integer|nil
|
---@return integer|nil
|
||||||
local function find_rogue_buffer()
|
local function find_rogue_buffer()
|
||||||
for i = 1, vim.fn.bufnr("$"), 1 do
|
for _, v in ipairs(a.nvim_list_bufs()) do
|
||||||
if vim.fn.bufname(i) == "NvimTree" then
|
if vim.fn.bufname(v) == "NvimTree" then
|
||||||
return i
|
return v
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
return nil
|
return nil
|
||||||
@@ -89,9 +89,14 @@ function M._wipe_rogue_buffer()
|
|||||||
if bn then
|
if bn then
|
||||||
local win_ids = vim.fn.win_findbuf(bn)
|
local win_ids = vim.fn.win_findbuf(bn)
|
||||||
for _, id in ipairs(win_ids) do
|
for _, id in ipairs(win_ids) do
|
||||||
a.nvim_win_close(id, true)
|
if vim.fn.win_gettype(id) ~= "autocmd" then
|
||||||
|
a.nvim_win_close(id, true)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
a.nvim_buf_delete(bn, {})
|
|
||||||
|
vim.schedule(function ()
|
||||||
|
pcall(a.nvim_buf_delete, bn, {})
|
||||||
|
end)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user