aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLewis Russell <lewis6991@gmail.com>2023-05-18 10:52:01 +0100
committerGitHub <noreply@github.com>2023-05-18 10:52:01 +0100
commitef64e225f6f6c01280aa8472bebe812016f357bf (patch)
treea3fbfc39c1599e111fc02360a5cbf69ff581fb9f
parentc9f47fca8b896ecb304294cce675fedac9ab926c (diff)
downloadrneovim-ef64e225f6f6c01280aa8472bebe812016f357bf.tar.gz
rneovim-ef64e225f6f6c01280aa8472bebe812016f357bf.tar.bz2
rneovim-ef64e225f6f6c01280aa8472bebe812016f357bf.zip
fix(treesitter): allow foldexpr without highlights (#23672)
Ref nvim-treesitter/nvim-treesitter#4748
-rw-r--r--runtime/lua/vim/treesitter.lua10
-rw-r--r--runtime/lua/vim/treesitter/_fold.lua4
2 files changed, 2 insertions, 12 deletions
diff --git a/runtime/lua/vim/treesitter.lua b/runtime/lua/vim/treesitter.lua
index d1f5996768..12fbe1654f 100644
--- a/runtime/lua/vim/treesitter.lua
+++ b/runtime/lua/vim/treesitter.lua
@@ -136,16 +136,6 @@ function M.get_parser(bufnr, lang, opts)
return parsers[bufnr]
end
----@package
----@param bufnr (integer|nil) Buffer number
----@return boolean
-function M._has_parser(bufnr)
- if bufnr == nil or bufnr == 0 then
- bufnr = api.nvim_get_current_buf()
- end
- return parsers[bufnr] ~= nil
-end
-
--- Returns a string parser
---
---@param str string Text to parse
diff --git a/runtime/lua/vim/treesitter/_fold.lua b/runtime/lua/vim/treesitter/_fold.lua
index f6425d7cb9..a8f8c7967e 100644
--- a/runtime/lua/vim/treesitter/_fold.lua
+++ b/runtime/lua/vim/treesitter/_fold.lua
@@ -301,7 +301,8 @@ function M.foldexpr(lnum)
lnum = lnum or vim.v.lnum
local bufnr = api.nvim_get_current_buf()
- if not ts._has_parser(bufnr) or not lnum then
+ local parser = vim.F.npcall(ts.get_parser, bufnr)
+ if not parser then
return '0'
end
@@ -309,7 +310,6 @@ function M.foldexpr(lnum)
foldinfos[bufnr] = FoldInfo.new()
get_folds_levels(bufnr, foldinfos[bufnr])
- local parser = ts.get_parser(bufnr)
parser:register_cbs({
on_changedtree = function(tree_changes)
on_changedtree(bufnr, foldinfos[bufnr], tree_changes)