diff --git a/lua/core/utils.lua b/lua/core/utils.lua index 59d771b..9cc8611 100644 --- a/lua/core/utils.lua +++ b/lua/core/utils.lua @@ -6,8 +6,9 @@ local merge_tb = vim.tbl_deep_extend M.close_buffer = function(force) if vim.bo.buftype == "terminal" then - api.nvim_win_hide(0) - return + force = force or #api.nvim_list_wins() < 2 and ":bd!" + local swap = force and #api.nvim_list_bufs() > 1 and ":bp | bd!" .. fn.bufnr() + return vim.cmd(swap or force or "hide") end local fileExists = fn.filereadable(fn.expand "%p") @@ -20,7 +21,6 @@ M.close_buffer = function(force) end force = force or not vim.bo.buflisted or vim.bo.buftype == "nofile" - -- if not force, change to prev buf and then close current local close_cmd = force and ":bd!" or ":bp | bd" .. fn.bufnr() vim.cmd(close_cmd)