dotfiles/.config/nvim/lua/plugins/extras/util/autosave.lua
Sergio Laín 353bbc67f2
feat(nvim): added a lot of extras
wildfire, neorg, obsidian, autosave, no-neck-pain, etc
2023-11-16 23:48:31 +01:00

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,
},
},
}