diff --git a/nvim/.config/nvim/lua/plugins.lua b/nvim/.config/nvim/lua/plugins.lua index 42040f1..6b65664 100644 --- a/nvim/.config/nvim/lua/plugins.lua +++ b/nvim/.config/nvim/lua/plugins.lua @@ -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)