return { { "folke/persistence.nvim", enabled = false, }, { "olimorris/persisted.nvim", init = function() vim.api.nvim_create_autocmd({ "User" }, { pattern = "PersistedTelescopeLoadPre", callback = function(session) -- Save the currently loaded session using a global variable require("persisted").save({ session = vim.g.persisted_loaded_session }) -- Delete all of the open buffers vim.api.nvim_input(":%bd!") end, }) end, lazy = false, config = function() LazyVim.on_load("telescope.nvim", function() require("telescope").setup({ extensions = { persisted = { layout_config = { height = 0.6, width = 0.6, }, }, }, }) require("telescope").load_extension("persisted") end) require("persisted").setup({ use_git_branch = true, should_save = function() if vim.bo.filetype == "dashboard" then return false end return true end, }) end, keys = { { "ql", function() require("persisted").load() end, desc = "Load Session", }, { "qL", function() require("persisted").load({ last = true }) end, desc = "Load Last Session", }, { "qt", function() require("persisted").stop() end, desc = "Stop Current Session", }, { "qv", function() require("persisted").save() end, desc = "Save Current Session", }, { "qr", function() require("persisted").start() end, desc = "Start Recording Current Session", }, { "qs", function() require("persisted").select() end, desc = "Select Sessions", }, { "qS", "Telescope persisted", desc = "Select Session (Telescope)", }, }, }, { "nvimdev/dashboard-nvim", opts = function(_, opts) -- Remove the older session plugin entry for i, section in ipairs(opts.config.center) do if section.key == "s" then table.remove(opts.config.center, i) break end end local session = { action = 'lua require("persisted").load()', desc = " Restore Session", icon = " ", key = "s", } session.desc = session.desc .. string.rep(" ", 43 - #session.desc) session.key_format = " %s" table.insert(opts.config.center, 9, session) end, }, }