fix: unexpected behavior from BufReadPost autocmds

This commit is contained in:
Steven Arcangeli 2023-01-28 18:07:18 -08:00
parent 20e4ff1838
commit 716dd8f9cf
2 changed files with 47 additions and 16 deletions

View file

@ -525,4 +525,28 @@ M.get_preview_win = function()
end
end
---@param bufnr integer
---@param preferred_win nil|integer
---@return nil|integer
M.buf_get_win = function(bufnr, preferred_win)
if
preferred_win
and vim.api.nvim_win_is_valid(preferred_win)
and vim.api.nvim_win_get_buf(preferred_win) == bufnr
then
return preferred_win
end
for _, winid in ipairs(vim.api.nvim_tabpage_list_wins(0)) do
if vim.api.nvim_win_is_valid(winid) and vim.api.nvim_win_get_buf(winid) == bufnr then
return winid
end
end
for _, winid in ipairs(vim.api.nvim_list_wins()) do
if vim.api.nvim_win_is_valid(winid) and vim.api.nvim_win_get_buf(winid) == bufnr then
return winid
end
end
return nil
end
return M