diff options
| author | Alec Goncharow <alec@goncharow.dev> | 2024-02-29 22:57:46 -0500 |
|---|---|---|
| committer | Alec Goncharow <alec@goncharow.dev> | 2024-02-29 22:57:46 -0500 |
| commit | 82092fe19a0ff0d0e4bed2ccfd4351cbb2d10d9e (patch) | |
| tree | b096fcf91d3739649dabad3a7176709d914ff877 /.config/nvim/lua/buffers.lua | |
| parent | 68677e4b0faec5b746a27bec036477ebf718f3c0 (diff) | |
embrace autocomplete defaults, add nocheckin pre-commit hook
Diffstat (limited to '.config/nvim/lua/buffers.lua')
| -rw-r--r-- | .config/nvim/lua/buffers.lua | 36 |
1 files changed, 36 insertions, 0 deletions
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("<leader>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', '<Leader>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' }) |
