From a1dde4950cac846eab149137c29aa44ecf5fa2bd Mon Sep 17 00:00:00 2001 From: Oscar Wallberg Date: Mon, 13 Apr 2026 05:44:06 +0200 Subject: [PATCH] fix(pack): handle uv errors --- lua/pack.lua | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/lua/pack.lua b/lua/pack.lua index 9c43749..18c9b9d 100644 --- a/lua/pack.lua +++ b/lua/pack.lua @@ -169,9 +169,12 @@ function M.watch() local plugins_dir = config_dir .. "/lua/plugins" - watcher = vim.uv.new_fs_event() + local err_msg, err_name + watcher, err_msg, err_name = vim.uv.new_fs_event() if not watcher then - log.error("Failed to create fs_event watcher") + log.error( + "Failed to create fs_event watcher (%s): %s", err_name, err_msg + ) return end @@ -188,12 +191,19 @@ function M.watch() return end + ---@type uv.uv_timer_t? local timer = timers[filename] - if timer ~= nil then - timer:stop() - else - timer = vim.uv.new_timer() + if not timer then + timer, err_msg, err_name = vim.uv.new_timer() + if not timer then + log.error( + "Failed to create new timer (%s): %s", err_name, err_msg + ) + return + end timers[filename] = timer + else + timer:stop() end timer:start(