diff --git a/dots/.config/nvim/lua/plugins/configs/git.lua b/dots/.config/nvim/lua/plugins/configs/git.lua index 49650397..a69c8634 100644 --- a/dots/.config/nvim/lua/plugins/configs/git.lua +++ b/dots/.config/nvim/lua/plugins/configs/git.lua @@ -36,11 +36,36 @@ return { end, }) + local ensure_neogit_refresh = function() + local times_to_repeat = 10 + local neogit = require("neogit") + if not neogit then + return + end + + neogit.dispatch_refresh() + local repeat_attempt = 0 + while repeat_attempt < times_to_repeat do + repeat_attempt = repeat_attempt + 1 + vim.wait(100, function() + pcall(neogit.dispatch_refresh) + return true + end) + end + end + vim.api.nvim_create_autocmd("BufEnter", { pattern = "*Neogit*", callback = function() - require("neogit").dispatch_refresh() - end + ensure_neogit_refresh() + end, + }) + + vim.api.nvim_create_autocmd("User", { + pattern = "^Neogit*", + callback = function() + ensure_neogit_refresh() + end, }) ---@type NeogitConfig