✨ feat(nvim): new extra: persisted.nvim
fork of persistence.nvim
This commit is contained in:
parent
2d82fb3d4b
commit
0e4cc13a14
4 changed files with 106 additions and 4 deletions
8
.config/nvim/.github/README.md
vendored
8
.config/nvim/.github/README.md
vendored
|
@ -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>
|
||||
|
||||
|
|
|
@ -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",
|
||||
|
|
91
.config/nvim/lua/plugins/extras/util/persisted.lua
Normal file
91
.config/nvim/lua/plugins/extras/util/persisted.lua
Normal 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)",
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
|
@ -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
|
||||
|
|
Loading…
Add table
Reference in a new issue