diff --git a/config/nvim/lua/user/tabs.lua b/config/nvim/lua/user/tabs.lua index 949a924..e545ea1 100644 --- a/config/nvim/lua/user/tabs.lua +++ b/config/nvim/lua/user/tabs.lua @@ -3,6 +3,19 @@ local M = { } M.close_tab = function() + local wins = vim.api.nvim_tabpage_list_wins(0) + + for _, win in ipairs(wins) do + local bufnr = vim.api.nvim_win_get_buf(win) + local is_modified = vim.api.nvim_buf_get_option(bufnr, "modified") + + if is_modified then + local bufname = vim.fn.bufname(bufnr) + print(bufname .. " is not saved") + return + end + end + table.insert(M.history, vim.fn.bufnr("%")) vim.cmd("tabclose") end