From 7087b938990694fe8ddf8644402e97423da81769 Mon Sep 17 00:00:00 2001 From: Folke Lemaitre Date: Sun, 3 Nov 2024 09:13:27 +0100 Subject: [PATCH] feat(snacks): use bufdelete --- lua/lazyvim/util/ui.lua | 40 +--------------------------------------- 1 file changed, 1 insertion(+), 39 deletions(-) diff --git a/lua/lazyvim/util/ui.lua b/lua/lazyvim/util/ui.lua index 7c6780ea..04f3ee3a 100644 --- a/lua/lazyvim/util/ui.lua +++ b/lua/lazyvim/util/ui.lua @@ -226,45 +226,7 @@ end ---@param buf number? function M.bufremove(buf) - buf = buf or 0 - buf = buf == 0 and vim.api.nvim_get_current_buf() or buf - - if vim.bo.modified then - local choice = vim.fn.confirm(("Save changes to %q?"):format(vim.fn.bufname()), "&Yes\n&No\n&Cancel") - if choice == 0 or choice == 3 then -- 0 for / and 3 for Cancel - return - end - if choice == 1 then -- Yes - vim.cmd.write() - end - end - - for _, win in ipairs(vim.fn.win_findbuf(buf)) do - vim.api.nvim_win_call(win, function() - if not vim.api.nvim_win_is_valid(win) or vim.api.nvim_win_get_buf(win) ~= buf then - return - end - -- Try using alternate buffer - local alt = vim.fn.bufnr("#") - if alt ~= buf and vim.fn.buflisted(alt) == 1 then - vim.api.nvim_win_set_buf(win, alt) - return - end - - -- Try using previous buffer - local has_previous = pcall(vim.cmd, "bprevious") - if has_previous and buf ~= vim.api.nvim_win_get_buf(win) then - return - end - - -- Create new listed buffer - local new_buf = vim.api.nvim_create_buf(true, false) - vim.api.nvim_win_set_buf(win, new_buf) - end) - end - if vim.api.nvim_buf_is_valid(buf) then - pcall(vim.cmd, "bdelete! " .. buf) - end + Snacks.bufdelete(buf) end return M