aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRiley Bruins <ribru17@hotmail.com>2025-01-28 12:22:25 -0800
committerGitHub <noreply@github.com>2025-01-28 12:22:25 -0800
commit6711fa27ca6e822bfd2394ec513671617cc53efd (patch)
tree42e5b44be8599e671ce577ffd3873aad52d583a8
parentb88874d33c15bb0fd7a421230f8bf819056d7665 (diff)
downloadrneovim-6711fa27ca6e822bfd2394ec513671617cc53efd.tar.gz
rneovim-6711fa27ca6e822bfd2394ec513671617cc53efd.tar.bz2
rneovim-6711fa27ca6e822bfd2394ec513671617cc53efd.zip
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.
-rw-r--r--runtime/lua/vim/treesitter/_fold.lua2
1 files changed, 1 insertions, 1 deletions
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()