aboutsummaryrefslogtreecommitdiff
path: root/runtime/lua/vim/treesitter/highlighter.lua
diff options
context:
space:
mode:
authorluukvbaal <luukvbaal@gmail.com>2024-11-18 15:35:21 +0100
committerGitHub <noreply@github.com>2024-11-18 06:35:21 -0800
commit40347f6e27f1594797ecb0b268076a94630e4c1b (patch)
treef354b7ffef8aa1dc1d21efb67dff250bda73c92c /runtime/lua/vim/treesitter/highlighter.lua
parent1763eddede82697a081d8741bd7e780c1b729de0 (diff)
downloadrneovim-40347f6e27f1594797ecb0b268076a94630e4c1b.tar.gz
rneovim-40347f6e27f1594797ecb0b268076a94630e4c1b.tar.bz2
rneovim-40347f6e27f1594797ecb0b268076a94630e4c1b.zip
fix(api): only flush nvim__redraw when necessary #31250
Problem: Not possible to only set a "redraw later" type with nvim__redraw, which seems to be desired for the treesitter highlighter. Solution: Do not update the screen when "flush" is explicitly set to false and only redraw later types are present. In that case, do not call ui_flush() either.
Diffstat (limited to 'runtime/lua/vim/treesitter/highlighter.lua')
-rw-r--r--runtime/lua/vim/treesitter/highlighter.lua4
1 files changed, 2 insertions, 2 deletions
diff --git a/runtime/lua/vim/treesitter/highlighter.lua b/runtime/lua/vim/treesitter/highlighter.lua
index 05124c29f0..8ce8652f7d 100644
--- a/runtime/lua/vim/treesitter/highlighter.lua
+++ b/runtime/lua/vim/treesitter/highlighter.lua
@@ -219,8 +219,8 @@ end
---@package
---@param changes Range6[]
function TSHighlighter:on_changedtree(changes)
- for i, ch in ipairs(changes) do
- api.nvim__redraw({ buf = self.bufnr, range = { ch[1], ch[4] + 1 }, flush = i == #changes })
+ for _, ch in ipairs(changes) do
+ api.nvim__redraw({ buf = self.bufnr, range = { ch[1], ch[4] + 1 }, flush = false })
end
end