42 lines
1.5 KiB
Lua
42 lines
1.5 KiB
Lua
return {
|
|
'okuuva/auto-save.nvim',
|
|
cmd = 'ASToggle',
|
|
event = { 'InsertLeave', 'TextChanged' },
|
|
opts = function()
|
|
-- Disable autoformat between automatic saves
|
|
vim.api.nvim_create_autocmd('User', {
|
|
pattern = 'AutoSaveWritePre',
|
|
group = vim.api.nvim_create_augroup('autosave-pre', { clear = true }),
|
|
callback = function(opts)
|
|
local bufnr = opts.data.saved_buffer
|
|
vim.b[bufnr].disable_autoformat = true
|
|
end,
|
|
})
|
|
|
|
vim.api.nvim_create_autocmd('User', {
|
|
pattern = 'AutoSaveWritePost',
|
|
group = vim.api.nvim_create_augroup('autosave-post', { clear = true }),
|
|
callback = function(opts)
|
|
local bufnr = opts.data.saved_buffer
|
|
vim.b[bufnr].disable_autoformat = false
|
|
end,
|
|
})
|
|
|
|
return {
|
|
-- execution_message = { enabled = false }, removed
|
|
condition = function(buf)
|
|
-- TODO: oil issues might be bcz of autosaving?
|
|
-- Maybe I should exclude Oil ft?
|
|
-- Might be unrelated tho
|
|
-- Oil error is "cannot save, action already in progress"
|
|
|
|
local buftype = vim.fn.getbufvar(buf, '&buftype')
|
|
local filetype = vim.bo[buf].filetype
|
|
|
|
-- Don't autosave special buffers or Oil buffers
|
|
return buftype == '' and filetype ~= 'oil'
|
|
end,
|
|
}
|
|
end,
|
|
}
|