From 37a39fe8c7f573e55f81ce19d5c2c10d1cbe7a0e Mon Sep 17 00:00:00 2001 From: mbfoss Date: Tue, 9 Jun 2026 19:43:07 +0200 Subject: [PATCH] fix(scroll): State map memory leak The State map is never cleared when a Window is closed, so it's size increases continuously. --- lua/snacks/scroll.lua | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/lua/snacks/scroll.lua b/lua/snacks/scroll.lua index 607d7fc59..bf9d02eb5 100644 --- a/lua/snacks/scroll.lua +++ b/lua/snacks/scroll.lua @@ -201,6 +201,17 @@ function M.enable() end), }) + -- clean up state when a window is closed + vim.api.nvim_create_autocmd("WinClosed", { + group = group, + callback = function(ev) + local win = tonumber(ev.match) + if win then + State.reset(win) + end + end, + }) + -- clear scroll state when leaving the cmdline after a search with incsearch vim.api.nvim_create_autocmd({ "CmdlineLeave" }, { group = group,