Files
nvim/lua/plugins/utils/convenience.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()