From 6711fa27ca6e822bfd2394ec513671617cc53efd Mon Sep 17 00:00:00 2001 From: Riley Bruins Date: Tue, 28 Jan 2025 12:22:25 -0800 Subject: [PATCH] fix(treesitter): recalculate folds on VimEnter #32240 **Problem:** In the case where the user sets the treesitter foldexpr upon startup in their `init.lua`, the fold info will be calculated before the parser has been loaded in, meaning folds will be properly calculated until edits or `:e`. **Solution:** Refresh fold information upon `VimEnter` as a sanity check to ensure that a parser really doesn't exist before always returning `'0'` in the foldexpr. --- runtime/lua/vim/treesitter/_fold.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/runtime/lua/vim/treesitter/_fold.lua b/runtime/lua/vim/treesitter/_fold.lua index ad4110b83d..38318347a7 100644 --- a/runtime/lua/vim/treesitter/_fold.lua +++ b/runtime/lua/vim/treesitter/_fold.lua @@ -380,7 +380,7 @@ function M.foldexpr(lnum) if not foldinfos[bufnr] then foldinfos[bufnr] = FoldInfo.new(bufnr) - api.nvim_create_autocmd('BufUnload', { + api.nvim_create_autocmd({ 'BufUnload', 'VimEnter' }, { buffer = bufnr, once = true, callback = function()