From 966d12ac730c83da90d60ab24eae539b2ea69441 Mon Sep 17 00:00:00 2001 From: srdusr Date: Wed, 24 Sep 2025 00:14:04 +0200 Subject: Update/Overhaul --- lua/plugins/auto-session.lua | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100755 lua/plugins/auto-session.lua (limited to 'lua/plugins/auto-session.lua') diff --git a/lua/plugins/auto-session.lua b/lua/plugins/auto-session.lua new file mode 100755 index 0000000..d982e08 --- /dev/null +++ b/lua/plugins/auto-session.lua @@ -0,0 +1,39 @@ +local M = {} + +function M.setup() + local auto = pcall(require, 'auto-session') and require('auto-session') + if not auto then + return false + end + + local nvim_version = vim.version() + if nvim_version.major == 0 and nvim_version.minor < 5 then + return false + end + + -- Configure session options + vim.opt.sessionoptions:append("localoptions") -- Add localoptions to sessionoptions + + -- Set up auto-session + auto.setup({ + log_level = 'info', + auto_session_suppress_dirs = { '~/', '~/Projects', '~/projects', '~/Downloads', '~/downloads' }, + auto_session_use_git_branch = true, + bypass_save_filetypes = { "dashboard" }, + + -- Additional configuration to handle session options + pre_save_cmds = { + -- Ensure local options are saved with the session + function() vim.opt.sessionoptions:append("localoptions") end, + }, + + -- Post restore hook to ensure local options are properly set + post_restore = function() + vim.opt.sessionoptions:append("localoptions") + end, + }) + + return true +end + +return M -- cgit v1.2.3