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()