From 6c83e6ecb3eee5881222aae5e2ef8f008c539534 Mon Sep 17 00:00:00 2001 From: Bryan Date: Thu, 7 Nov 2024 11:40:15 -0600 Subject: [PATCH] Move post load/save event creation back out of setup func --- lua/persisted/init.lua | 41 ++++++++++++++++++++--------------------- 1 file changed, 20 insertions(+), 21 deletions(-) diff --git a/lua/persisted/init.lua b/lua/persisted/init.lua index ac6fef8..7167790 100644 --- a/lua/persisted/init.lua +++ b/lua/persisted/init.lua @@ -52,6 +52,15 @@ function M.load(opts) opts = opts or {} local session + vim.api.nvim_create_autocmd("SessionLoadPost", { + callback = function() + if type(config.load_post) == "function" then + config.load_post() + end + M.fire("LoadPost") + return true -- returning deletes autocmd after fired + end, + }) if opts.last then session = M.last() elseif opts.session then @@ -111,7 +120,17 @@ function M.save(opts) return end - M.fire("SavePre") + vim.api.nvim_create_autocmd("SessionWritePost", { + callback = function() + if type(config.save_post) == "function" then + config.save_post() + end + M.fire("PersistedSavePost") + return true -- returning deletes autocmd after fired + end, + }) + + M.fire("PersistedSavePre") if type(config.save_pre) == "function" then config.save_pre() end @@ -228,26 +247,6 @@ function M.setup(opts) vim.fn.mkdir(config.save_dir, "p") - vim.api.nvim_create_autocmd("SessionSavePost", { - callback = function() - if type(config.save_post) == "function" then - config.save_post() - end - M.fire("SavePost") - return true -- returning deletes autocmd after fired - end, - }) - - vim.api.nvim_create_autocmd("SessionLoadPost", { - callback = function() - if type(config.load_post) == "function" then - config.load_post() - end - M.fire("LoadPost") - return true -- returning deletes autocmd after fired - end, - }) - if config.autostart and M.allowed_dir() and vim.g.persisting == nil and not start_args then M.start() end