See if using vim.schedule() when doing some stuff will fix the weirdness

main
Bryan 2024-11-09 08:35:13 -06:00
parent abeb001d5f
commit f312ae146a
1 changed files with 11 additions and 9 deletions

View File

@ -58,7 +58,6 @@ function M.load(opts)
config.load_post()
end
M.fire("LoadPost")
vim.api.nvim_notify("Session Loaded\n" .. session, vim.log.levels.OFF, {})
return true -- returning deletes autocmd after fired
end,
})
@ -127,7 +126,6 @@ function M.save(opts)
if type(config.save_post) == "function" then
config.save_post()
end
vim.api.nvim_notify("Session Saved", vim.log.levels.OFF, {})
M.fire("SavePost")
return true -- returning true deletes autocmd after fired
end,
@ -137,8 +135,10 @@ function M.save(opts)
if type(config.save_pre) == "function" then
config.save_pre()
end
vim.schedule(function()
vim.api.nvim_command("wa")
vim.api.nvim_command("mksession! " .. e(opts.session or vim.g.persisting_session or M.current()))
end)
end
---Delete the current session
@ -172,12 +172,14 @@ function M.switch(session_file_path)
vim.api.nvim_create_autocmd("User", {
pattern = "PersistedSavePost",
callback = function()
vim.schedule(function()
for _, buf in ipairs(vim.api.nvim_list_bufs()) do
if vim.api.nvim_buf_is_loaded(buf) then
if vim.api.nvim_buf_is_valid(buf) then
vim.api.nvim_buf_delete(buf, {})
end
end
M.load({ session = session_file_path })
end)
return true
end,
})