close obsidian when nvim closes
This commit is contained in:
parent
6a5d3c5870
commit
f05aec7bcf
14
init.lua
14
init.lua
|
|
@ -465,12 +465,26 @@ vim.api.nvim_create_autocmd({ 'FocusGained', 'BufEnter' }, {
|
||||||
end,
|
end,
|
||||||
})
|
})
|
||||||
|
|
||||||
|
-- Use a trap-based approach for VimLeave to ensure it runs before Neovim fully exits
|
||||||
|
vim.api.nvim_create_autocmd('UIEnter', {
|
||||||
|
once = true,
|
||||||
|
callback = function()
|
||||||
|
-- Get Neovim's PID
|
||||||
|
local nvim_pid = vim.fn.getpid()
|
||||||
|
|
||||||
|
-- Create a trap in the parent shell that will kill Obsidian when Neovim exits
|
||||||
|
os.execute(string.format("trap 'pkill -9 -f obsidian' EXIT && " .. 'while kill -0 %d 2>/dev/null; do sleep 0.01; done & disown', nvim_pid))
|
||||||
|
end,
|
||||||
|
})
|
||||||
|
|
||||||
-- Cleanup temp directories on exit
|
-- Cleanup temp directories on exit
|
||||||
vim.api.nvim_create_autocmd('VimLeavePre', {
|
vim.api.nvim_create_autocmd('VimLeavePre', {
|
||||||
callback = function()
|
callback = function()
|
||||||
for _, vault in ipairs(vaults) do
|
for _, vault in ipairs(vaults) do
|
||||||
os.execute("rm -rf '" .. vault.path .. "_temp_preview/'*")
|
os.execute("rm -rf '" .. vault.path .. "_temp_preview/'*")
|
||||||
end
|
end
|
||||||
|
-- Also ensure Obsidian is closed
|
||||||
|
close_obsidian()
|
||||||
end,
|
end,
|
||||||
})
|
})
|
||||||
-- [[ Basic Autocommands ]]
|
-- [[ Basic Autocommands ]]
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue