diff options
| author | Kyren223 <ulmliad223@gmail.com> | 2024-07-19 01:00:40 +0300 |
|---|---|---|
| committer | Kyren223 <ulmliad223@gmail.com> | 2024-07-19 01:00:40 +0300 |
| commit | 4ace393a2e0907fb5d488d05b7db5c2ba5c376e7 (patch) | |
| tree | 58e531b2847f0a1d8970b3ffc83a8b0efd1cbcef /.config/nvim/lua/custom/plugins | |
| parent | dd569fc028dc2f503aa4005f3a7e35fafc7861fc (diff) | |
feat(neovim): auto-save buffers, Q keymap for closing buffer
Diffstat (limited to '.config/nvim/lua/custom/plugins')
| -rw-r--r-- | .config/nvim/lua/custom/plugins/utility.lua | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/.config/nvim/lua/custom/plugins/utility.lua b/.config/nvim/lua/custom/plugins/utility.lua index 4951f05..79982b4 100644 --- a/.config/nvim/lua/custom/plugins/utility.lua +++ b/.config/nvim/lua/custom/plugins/utility.lua @@ -1,5 +1,29 @@ return { { + 'okuuva/auto-save.nvim', + cmd = 'ASToggle', -- optional for lazy loading on command + event = { 'InsertLeave', 'TextChanged' }, + opts = { + execution_message = { enabled = false }, + condition = function(buf) + local excluded_ft = {} + + if vim.fn.getbufvar(buf, '&buftype') ~= '' then + return false + end + + local filetype = vim.fn.getbufvar(buf, '&filetype') + for _, ft in ipairs(excluded_ft) do + if ft == filetype then + return false + end + end + + return true + end, + }, + }, + { 'rmagatti/auto-session', config = function() vim.opt.sessionoptions = 'blank,buffers,curdir,folds,help,tabpages,winsize,winpos,terminal,localoptions' @@ -52,4 +76,16 @@ return { -- Spectre has no undo, so it should be rarely used, -- which is why no keybindings are defined { 'nvim-pack/nvim-spectre' }, + { + 'echasnovski/mini.nvim', + version = false, + config = function() + vim.keymap.set('n', 'Q', function() + if vim.bo.modified then + vim.cmd.write() + end + require('mini.bufremove').delete(0) + end, { desc = '[Q]uit Buffer' }) + end, + }, } |
