feat(nvim): new extra: persisted.nvim

fork of persistence.nvim
This commit is contained in:
Sergio Laín 2024-08-07 13:39:04 +02:00
parent 2d82fb3d4b
commit 0e4cc13a14
No known key found for this signature in database
GPG key ID: 8429B2EE312F8150
4 changed files with 106 additions and 4 deletions

View file

@ -454,6 +454,14 @@
</details>
<details>
<summary><b> Session</b></summary>
- [olimorris/persisted.nvim](https://dotfyle.com/plugins/olimorris/persisted.nvim)
- [folke/persistence.nvim](https://dotfyle.com/plugins/folke/persistence.nvim)
</details>
<details>
<summary><b>📈 Startup</b></summary>

View file

@ -72,6 +72,7 @@
"plugins.extras.util.kitty-scrollback",
"plugins.extras.util.mason-lock",
"plugins.extras.util.neovide",
"plugins.extras.util.persisted",
"plugins.extras.util.persistence-extended",
"plugins.extras.util.smart-splits",
"plugins.extras.util.vscode",

View file

@ -0,0 +1,91 @@
local group = vim.api.nvim_create_augroup("PersistedHooks", {})
vim.api.nvim_create_autocmd({ "User" }, {
pattern = "PersistedTelescopeLoadPre",
group = group,
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("<ESC>:%bd!<CR>")
end,
})
return {
{
"folke/persistence.nvim",
enabled = false,
},
{
"olimorris/persisted.nvim",
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,
autoload = false,
should_autosave = function()
if vim.bo.filetype == "dashboard" then
return false
end
return true
end,
})
end,
keys = {
{
"<leader>ql",
function()
require("persisted").load()
end,
desc = "Load Session",
},
{
"<leader>qL",
function()
require("persisted").load({ last = true })
end,
desc = "Load Last Session",
},
{
"<leader>qS",
function()
require("persisted").stop()
end,
desc = "Stop Current Session",
},
{
"<leader>qs",
function()
require("persisted").save()
end,
desc = "Save Current Session (Telescope)",
},
{
"<leader>qT",
function()
require("persisted").start()
end,
desc = "Start Recording Current Session",
},
{
"<leader>qt",
"<cmd>Telescope persisted<cr>",
desc = "Search Sessions (Telescope)",
},
},
},
}

View file

@ -1,20 +1,22 @@
local isActive = true
local p = require("persistence")
return {
"folke/persistence.nvim",
optional = true,
keys = {
{
"<leader>qS",
function()
local p = require("persistence")
p.save()
LazyVim.notify("Session Saved", { title = "Persistence" })
end,
desc = "Save Session",
},
-- stylua: ignore start
{ "<leader>qt",
{
"<leader>qt",
function()
local isActive = true
local p = require("persistence")
if isActive then
p.stop()
isActive = false