diff --git a/runtime/lua/vim/treesitter/highlighter.lua b/runtime/lua/vim/treesitter/highlighter.lua index 0ec4ab37ec6e56..18109e88914fcf 100644 --- a/runtime/lua/vim/treesitter/highlighter.lua +++ b/runtime/lua/vim/treesitter/highlighter.lua @@ -267,7 +267,7 @@ local function on_line_impl(self, buf, line) -- Some injected languages may not have highlight queries. if not highlighter_query:query() then return end - if state.iter == nil then + if state.iter == nil or state.next_row < line then state.iter = highlighter_query:query():iter_captures(root_node, self.bufnr, line, root_end_row + 1) end