vim.pack.add({ { src = "https://github.com/okuuva/auto-save.nvim", name = "autosave" }, { src = "https://github.com/vladdoster/remember.nvim", name = "remember" }, { src = "https://github.com/Aasim-A/scrollEOF.nvim", name = "scrolleof" }, { src = "https://github.com/folke/flash.nvim", name = "flash" }, }) require("auto-save").setup({ enabled = true, trigger_events = { immediate_save = { "BufLeave", "FocusLost", "QuitPre", "VimSuspend" }, defer_save = { "InsertLeave" }, -- save after debounce cancel_deferred_save = { "InsertEnter" }, -- cancel pending save }, debounce_delay = 1000, noautocmd = true, }) local group = vim.api.nvim_create_augroup("autosave", {}) -- Notification to say when a file is saved vim.api.nvim_create_autocmd("User", { pattern = "AutoSaveWritePre", group = group, callback = function(opts) if opts.data.saved_buffer ~= nil then local filename = vim.fn.expand("%:t") print("Saved '" .. filename .. "' at " .. vim.fn.strftime("%H:%M:%S")) end end, }) -- Notification when enabling/disabling autosave for a buffer vim.api.nvim_create_autocmd("User", { pattern = "AutoSaveEnable", group = group, callback = function(opts) print("AutoSave enabled") end, }) vim.api.nvim_create_autocmd("User", { pattern = "AutoSaveDisable", group = group, callback = function(opts) print("AutoSave disabled") end, }) -- enable remember require("remember").setup({}) -- enable scrolleof require("scrollEOF").setup()