neovim: Implement proper session persistence
This commit is contained in:
parent
9e53067078
commit
f889f445c3
|
@ -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)
|
||||
|
|
Loading…
Reference in a new issue