55 lines
1.4 KiB
Lua
55 lines
1.4 KiB
Lua
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()
|