From 1b9be0c48931ab443d3a219ce7eb557b1134dcea Mon Sep 17 00:00:00 2001 From: vyfor Date: Sun, 22 Dec 2024 16:46:22 +0500 Subject: [PATCH] feat: improve cleanup logic --- lua/cord.lua | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/lua/cord.lua b/lua/cord.lua index 57643c32..da0c1a2b 100644 --- a/lua/cord.lua +++ b/lua/cord.lua @@ -15,6 +15,7 @@ function M.initialize() M.producer = Producer.new(M.client) M.handler = Handler.new(M.client) M.handler:register('initialize', function(pid) + vim.g.cord_pid = pid local executable = file_manager.get_executable_name() local target_path = file_manager.get_target_path(executable) uv.fs_stat(target_path, function(err) @@ -76,8 +77,17 @@ function M.setup(opts) end function M.cleanup() - if M.manager then M.manager.idle_timer:close() end - if M.client then M.client:close() end + if M.manager then + M.manager.clear_autocmds() + M.manager.idle_timer:close() + M.manager = nil + end + if M.client then + M.client:close() + M.client = nil + end + M.producer = nil + M.handler = nil end return M