diff --git a/lua/pending/init.lua b/lua/pending/init.lua index 484711d..9fef199 100644 --- a/lua/pending/init.lua +++ b/lua/pending/init.lua @@ -227,14 +227,18 @@ function M._setup_autocmds(bufnr) local cur_win = vim.api.nvim_get_current_win() local tw = buffer.winid() if tw and vim.api.nvim_win_is_valid(tw) and cur_win ~= tw then - local cursor = vim.api.nvim_win_get_cursor(cur_win) vim.schedule(function() + local cursor = vim.api.nvim_win_is_valid(cur_win) + and vim.api.nvim_win_get_cursor(cur_win) + or nil if vim.api.nvim_win_is_valid(cur_win) and #vim.api.nvim_list_wins() > 1 then pcall(vim.api.nvim_win_close, cur_win, false) end if vim.api.nvim_win_is_valid(tw) then vim.api.nvim_set_current_win(tw) - pcall(vim.api.nvim_win_set_cursor, tw, cursor) + if cursor then + pcall(vim.api.nvim_win_set_cursor, tw, cursor) + end end end) return @@ -252,7 +256,9 @@ function M._setup_autocmds(bufnr) group = group, buffer = bufnr, callback = function() - buffer.clear_marks(bufnr) + if vim.bo[bufnr].modified then + buffer.clear_marks(bufnr) + end end, }) vim.api.nvim_create_autocmd('WinClosed', {