huge cleanup

This commit is contained in:
2025-02-22 17:46:00 -06:00
parent 4742d52e78
commit 74eb4c94b8
19 changed files with 136 additions and 275 deletions
+27 -34
View File
@@ -1,44 +1,37 @@
local M = {}
local function get_active_buffers()
local active_buffers = {}
for tabnr = 1, vim.fn.tabpagenr("$") do
for _, bufnr in ipairs(vim.fn.tabpagebuflist(tabnr)) do
active_buffers[bufnr] = true
end
end
return active_buffers
local active_buffers = {}
for tabnr = 1, vim.fn.tabpagenr("$") do
for _, bufnr in ipairs(vim.fn.tabpagebuflist(tabnr)) do
active_buffers[bufnr] = true
end
end
return active_buffers
end
local function get_all_buffers()
local all_buffers = {}
for bufnr = 1, vim.fn.bufnr("$") do
if vim.fn.buflisted(bufnr) == 1 then
all_buffers[bufnr] = true
end
end
return all_buffers
local all_buffers = {}
for bufnr = 1, vim.fn.bufnr("$") do
if vim.fn.buflisted(bufnr) == 1 then
all_buffers[bufnr] = true
end
end
return all_buffers
end
function M.remove_unused_buffers()
local active_buffers = get_active_buffers()
local all_buffers = get_all_buffers()
local buffers_to_remove = {}
local function remove_unused_buffers()
local active_buffers = get_active_buffers()
local all_buffers = get_all_buffers()
local buffers_to_remove = {}
for bufnr, _ in pairs(all_buffers) do
if active_buffers[bufnr] == nil then
buffers_to_remove[bufnr] = true
end
end
for bufnr, _ in pairs(all_buffers) do
if active_buffers[bufnr] == nil then
buffers_to_remove[bufnr] = true
end
end
for bufnr, _ in pairs(buffers_to_remove) do
vim.cmd("bd " .. bufnr)
end
for bufnr, _ in pairs(buffers_to_remove) do
vim.cmd("bd " .. bufnr)
end
end
function M.init()
local map = require("helpers").map
map("n", "<Leader>b", ":lua require('buffer_tools').remove_unused_buffers()<CR>")
end
return M
vim.keymap.set("n", "<Leader>b", remove_unused_buffers, { noremap = true })