neovim

Neovim text editor
git clone https://git.dasho.dev/neovim.git
Log | Files | Refs | README

commit cdc9baeaf89eb09f08427a09e3a0f86d56dcc812
parent 9c718bc2bce53b5be45061bff940f99e50c8bfcb
Author: luukvbaal <luukvbaal@gmail.com>
Date:   Sun, 17 Nov 2024 01:25:10 +0100

fix(treesitter): remove redundant on_bytes callback #31041

Problem:  Treesitter highlighter implements an on_bytes callback that
          just re-marks a buffer range for redraw. The edit that
          prompted the callback will already have done that.
Solution: Remove redundant on_bytes callback from the treesitter
          highlighter module.
Diffstat:
Mruntime/doc/treesitter.txt | 3+--
Mruntime/lua/vim/treesitter/highlighter.lua | 10----------
Mruntime/lua/vim/treesitter/languagetree.lua | 2+-
3 files changed, 2 insertions(+), 13 deletions(-)

diff --git a/runtime/doc/treesitter.txt b/runtime/doc/treesitter.txt @@ -1605,8 +1605,7 @@ LanguageTree:register_cbs({cbs}, {recursive}) • {cbs} (`table<TSCallbackNameOn,function>`) An |nvim_buf_attach()|-like table argument with the following handlers: - • `on_bytes` : see |nvim_buf_attach()|, but this will be - called after the parsers callback. + • `on_bytes` : see |nvim_buf_attach()|. • `on_changedtree` : a callback that will be called every time the tree has syntactical changes. It will be passed two arguments: a table of the ranges (as node diff --git a/runtime/lua/vim/treesitter/highlighter.lua b/runtime/lua/vim/treesitter/highlighter.lua @@ -93,9 +93,6 @@ function TSHighlighter.new(tree, opts) opts = opts or {} ---@type { queries: table<string,string> } self.tree = tree tree:register_cbs({ - on_bytes = function(...) - self:on_bytes(...) - end, on_detach = function() self:on_detach() end, @@ -215,13 +212,6 @@ function TSHighlighter:for_each_highlight_state(fn) end ---@package ----@param start_row integer ----@param new_end integer -function TSHighlighter:on_bytes(_, _, start_row, _, _, _, _, _, new_end) - api.nvim__redraw({ buf = self.bufnr, range = { start_row, start_row + new_end + 1 } }) -end - ----@package function TSHighlighter:on_detach() self:destroy() end diff --git a/runtime/lua/vim/treesitter/languagetree.lua b/runtime/lua/vim/treesitter/languagetree.lua @@ -1037,7 +1037,7 @@ end --- Registers callbacks for the [LanguageTree]. ---@param cbs table<TSCallbackNameOn,function> An [nvim_buf_attach()]-like table argument with the following handlers: ---- - `on_bytes` : see [nvim_buf_attach()], but this will be called _after_ the parsers callback. +--- - `on_bytes` : see [nvim_buf_attach()]. --- - `on_changedtree` : a callback that will be called every time the tree has syntactical changes. --- It will be passed two arguments: a table of the ranges (as node ranges) that --- changed and the changed tree.