From 73fa92afc8b0cb61ce1e4f234dfcf5303c8500ef Mon Sep 17 00:00:00 2001 From: Oscar Wallberg Date: Tue, 19 May 2026 20:26:58 +0200 Subject: [PATCH] fix(core): reset foldlevel on entering a diff window --- lua/core/autocommands.lua | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/lua/core/autocommands.lua b/lua/core/autocommands.lua index 8462e02..240df1f 100644 --- a/lua/core/autocommands.lua +++ b/lua/core/autocommands.lua @@ -66,6 +66,18 @@ vim.api.nvim_create_autocmd({ "BufReadPost" }, { command = 'silent! normal! g`"zv', }) +vim.api.nvim_create_autocmd("BufWinEnter", { + desc = "Reset foldlevel to 0 when entering a diff window." + .. " Vim's partial diff-state restoration on buffer re-entry" + .. " (e.g. via ) doesn't re-apply foldlevel=0, so" + .. " foldlevelstart leaks through and folds appear open.", + callback = function() + if vim.wo.diff then + vim.wo.foldlevel = 0 + end + end, +}) + vim.api.nvim_create_autocmd("FileType", { pattern = { "c" }, callback = function()