return { "okuuva/auto-save.nvim", enabled = true, cmd = "ASToggle", event = { "InsertLeave", "TextChanged" }, opts = { enabled = true, trigger_events = { immediate_save = { "BufLeave", "FocusLost", "QuitPre", "VimSuspend" }, defer_save = { "InsertLeave", "TextChanged", { "User", pattern = "VisualLeave" }, { "User", pattern = "FlashJumpEnd" }, { "User", pattern = "SnacksInputLeave" }, { "User", pattern = "SnacksPickerInputLeave" }, }, cancel_deferred_save = { "InsertEnter", { "User", pattern = "VisualEnter" }, { "User", pattern = "FlashJumpStart" }, { "User", pattern = "SnacksInputEnter" }, { "User", pattern = "SnacksPickerInputEnter" }, }, }, condition = function(buf) local mode = vim.fn.mode() if mode == "i" then return false end local filetype = vim.bo[buf].filetype if filetype == "harpoon" or filetype == "mysql" then return false end return true end, write_all_buffers = true, noautocmd = false, lockmarks = false, debounce_delay = 2000, debug = false, }, }