pojokcodeid.nvim-lazy/lua/plugins/autosave.lua

38 lines
1.1 KiB
Lua
Raw Permalink Normal View History

2024-06-25 06:41:59 +07:00
local M = {}
if pcode.auto_save then
M = {
"okuuva/auto-save.nvim",
event = { "InsertLeave", "TextChanged" },
opts = {
execution_message = {
enabled = false,
},
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,
},
},
}
end
return M