feat: Add persistence
This commit is contained in:
29
lua/plugins/persistence.lua
Normal file
29
lua/plugins/persistence.lua
Normal file
@@ -0,0 +1,29 @@
|
||||
return {
|
||||
{
|
||||
"folke/persistence.nvim",
|
||||
lazy = false,
|
||||
opts = {
|
||||
-- Options (default values are standard)
|
||||
},
|
||||
config = function(_, opts)
|
||||
require("persistence").setup(opts)
|
||||
|
||||
-- Automatically restore session when opening Neovim without arguments
|
||||
vim.api.nvim_create_autocmd("VimEnter", {
|
||||
group = vim.api.nvim_create_augroup("PersistenceAutoLoad", { clear = true }),
|
||||
callback = function()
|
||||
-- Only autoload if Neovim was launched with no arguments
|
||||
if vim.fn.argc() == 0 then
|
||||
-- Pre-load session if it exists for the current directory
|
||||
require("persistence").load()
|
||||
end
|
||||
end,
|
||||
})
|
||||
|
||||
-- Session keymaps
|
||||
vim.keymap.set("n", "<leader>qs", function() require("persistence").load() end, { desc = "Restore Session" })
|
||||
vim.keymap.set("n", "<leader>ql", function() require("persistence").load({ last = true }) end, { desc = "Restore Last Session" })
|
||||
vim.keymap.set("n", "<leader>qd", function() require("persistence").stop() end, { desc = "Stop Session Saving (For exit)" })
|
||||
end,
|
||||
},
|
||||
}
|
||||
Reference in New Issue
Block a user