neovim: Implement proper session persistence

This commit is contained in:
Peter Cai 2022-08-14 14:39:26 -04:00
parent 9e53067078
commit f889f445c3

View file

@ -125,4 +125,42 @@ return require('packer').startup(function(use)
end,
}) end,
}
-- Session Manager
use {
"olimorris/persisted.nvim",
config = function()
require("persisted").setup({
autoload = true,
before_save = function()
require('neo-tree.sources.manager').close('filesystem')
for _, term in pairs(require("toggleterm.terminal").get_all()) do
term:close()
end
end,
after_save = function()
require('neo-tree.sources.manager').show('filesystem')
end,
before_source = function()
require('neo-tree.sources.manager').close('filesystem')
end,
after_source = function()
require('neo-tree.sources.manager').show('filesystem')
end,
})
-- Autoload when directory changed
local last_cwd = vim.fn.getcwd()
vim.api.nvim_create_autocmd({ 'DirChanged' }, {
callback = function()
local cwd = vim.fn.getcwd()
if (cwd == last_cwd) then
return
end
last_cwd = cwd
require("persisted").load()
end
})
end,
}
end)