From 82092fe19a0ff0d0e4bed2ccfd4351cbb2d10d9e Mon Sep 17 00:00:00 2001 From: Alec Goncharow Date: Thu, 29 Feb 2024 22:57:46 -0500 Subject: embrace autocomplete defaults, add nocheckin pre-commit hook --- .config/nvim/lua/buffers.lua | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 .config/nvim/lua/buffers.lua (limited to '.config/nvim/lua/buffers.lua') diff --git a/.config/nvim/lua/buffers.lua b/.config/nvim/lua/buffers.lua new file mode 100644 index 0000000..ca593a7 --- /dev/null +++ b/.config/nvim/lua/buffers.lua @@ -0,0 +1,36 @@ +--Nmap("b", ':buffer ') + +-- stolen from https://www.reddit.com/r/neovim/comments/12c4ad8/closing_unused_buffers/ +local id = vim.api.nvim_create_augroup("startup", { + clear = false +}) + +local persistbuffer = function(bufnr) + bufnr = bufnr or vim.api.nvim_get_current_buf() + vim.fn.setbufvar(bufnr, 'bufpersist', 1) +end + +vim.api.nvim_create_autocmd({ "BufRead" }, { + group = id, + pattern = { "*" }, + callback = function() + vim.api.nvim_create_autocmd({ "InsertEnter", "BufModifiedSet" }, { + buffer = 0, + once = true, + callback = function() + persistbuffer() + end + }) + end +}) + +vim.keymap.set('n', 'o', + function() + local curbufnr = vim.api.nvim_get_current_buf() + local buflist = vim.api.nvim_list_bufs() + for _, bufnr in ipairs(buflist) do + if vim.bo[bufnr].buflisted and bufnr ~= curbufnr and (vim.fn.getbufvar(bufnr, 'bufpersist') ~= 1) then + vim.cmd('bd ' .. tostring(bufnr)) + end + end + end, { silent = true, desc = 'Close unused buffers' }) -- cgit v1.2.3-70-g09d2