Configuration files

nvim: use `nvim-bufdel` for buffer closing

Changed files
+13 -30
.config
nvim
lua
config
plugins
+1
.config/nvim/lazy-lock.json
··· 12 12 "mini.files": { "branch": "main", "commit": "5b9431cf5c69b8e69e5a67d2d12338a3ac2e1541" }, 13 13 "mini.surround": { "branch": "main", "commit": "b12fcfefd6b9b7c9e9a773bc0e3e07ae20c03351" }, 14 14 "nui.nvim": { "branch": "main", "commit": "de740991c12411b663994b2860f1a4fd0937c130" }, 15 + "nvim-bufdel": { "branch": "main", "commit": "523d58e94e7212fff3e05c247b962dc8f93bcfde" }, 15 16 "nvim-notify": { "branch": "master", "commit": "397c7c1184745fca649e5104de659e6392ef5a4d" }, 16 17 "nvim-treesitter": { "branch": "master", "commit": "42fc28ba918343ebfd5565147a42a26580579482" }, 17 18 "nvim-web-devicons": { "branch": "master", "commit": "0422a19d9aa3aad2c7e5cca167e5407b13407a9d" },
+5 -30
.config/nvim/lua/config/keys.lua
··· 20 20 vim.keymap.set("n", "<leader>bb", function() 21 21 vim.cmd.b("#") 22 22 end, { desc = "Go to last buffer" }) 23 - vim.keymap.set("n", "<leader>bd", function() 24 - local bufnr = vim.api.nvim_get_current_buf() 25 23 26 - if not vim.bo[bufnr].modified then 27 - vim.cmd.bd() 28 - return 29 - end 30 - 31 - local buf_name = vim.api.nvim_buf_get_name(bufnr) 32 - local choice = vim.fn.confirm("Unsaved changes in " .. buf_name .. ", save?", "&Yes\n&No\n&Cancel", "Cancel", "Question") 33 - 34 - if choice == 1 then 35 - vim.notify("Saved buffer", vim.log.levels.INFO, { title = buf_name }) 36 - vim.cmd.write() 37 - vim.api.nvim_buf_delete(bufnr, { force = false }) 38 - elseif choice == 2 then 39 - vim.notify("Closed buffer without saving", vim.log.levels.WARN, { title = buf_name }) 40 - vim.api.nvim_buf_delete(bufnr, { force = true }) 41 - else 42 - vim.notify("Cancelled closing buffer", vim.log.levels.WARN, { title = buf_name }) 43 - end 44 - end, { desc = "Close current buffer" }) 45 - 46 - vim.keymap.set("n", "<leader>bD", function() 47 - vim.api.nvim_buf_delete(vim.api.nvim_get_current_buf(), { force = true }) 48 - 49 - local bufnr = vim.api.nvim_get_current_buf() 50 - if vim.bo[bufnr].modified then 51 - vim.notify("Closed buffer without saving", vim.log.levels.WARN) 52 - end 53 - end, { desc = "Force close current buffer" }) 24 + vim.keymap.set("n", "<leader>bd", "<cmd>BufDel<cr>", { desc = "Close current buffer" }) 25 + vim.keymap.set("n", "<leader>bD", "<cmd>BufDel!<cr>", { desc = "Force close current buffer" }) 26 + vim.keymap.set("n", "<leader>bo", "<cmd>BufDelOthers<cr>", { desc = "Close all other buffers" }) 27 + vim.keymap.set("n", "<leader>bO", "<cmd>BufDelOthers!<cr>", { desc = "Force close all other buffers" }) 28 + vim.keymap.set("n", "<leader>bA", "<cmd>BufDelAll!<cr>", { desc = "Force close all buffers" })
+7
.config/nvim/lua/plugins/misc.lua
··· 34 34 }, 35 35 config = true, 36 36 }, 37 + { 38 + "ojroques/nvim-bufdel", 39 + cmd = { "BufDel", "BufDelOthers", "BufDelAll" }, 40 + opts = { 41 + quit = false, 42 + }, 43 + }, 37 44 }