31 lines
1 KiB
Lua
31 lines
1 KiB
Lua
return {
|
|
-- "Pocco81/auto-save.nvim",
|
|
"zoriya/auto-save.nvim", -- HACK: use fork until PR is accepted
|
|
event = { "InsertEnter" },
|
|
opts = {
|
|
callbacks = {
|
|
before_saving = function()
|
|
-- save global autoformat status
|
|
vim.g.OLD_AUTOFORMAT = vim.g.autoformat_enabled
|
|
|
|
vim.g.autoformat_enabled = false
|
|
vim.g.OLD_AUTOFORMAT_BUFFERS = {}
|
|
-- disable all manually enabled buffers
|
|
for _, bufnr in ipairs(vim.api.nvim_list_bufs()) do
|
|
if vim.b[bufnr].autoformat_enabled then
|
|
table.insert(vim.g.OLD_BUFFER_AUTOFORMATS, bufnr)
|
|
vim.b[bufnr].autoformat_enabled = false
|
|
end
|
|
end
|
|
end,
|
|
after_saving = function()
|
|
-- restore global autoformat status
|
|
vim.g.autoformat_enabled = vim.g.OLD_AUTOFORMAT
|
|
-- reenable all manually enabled buffers
|
|
for _, bufnr in ipairs(vim.g.OLD_AUTOFORMAT_BUFFERS or {}) do
|
|
vim.b[bufnr].autoformat_enabled = true
|
|
end
|
|
end,
|
|
},
|
|
},
|
|
}
|