diff options
author | Björn Linse <bjorn.linse@gmail.com> | 2021-02-10 22:28:52 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-02-10 22:28:52 +0100 |
commit | 61aea004d7101e138794a337c03ef00a6b3994e6 (patch) | |
tree | ed6e5bab2647e1580490d5c4ada4560dbde7eedd /runtime/lua/vim/treesitter/highlighter.lua | |
parent | 230f2ff381d7bced4d1e19bd1853ce75cbde797a (diff) | |
parent | 94622ca66b553018c19fbbb615f2e1fee0a8074a (diff) | |
download | rneovim-61aea004d7101e138794a337c03ef00a6b3994e6.tar.gz rneovim-61aea004d7101e138794a337c03ef00a6b3994e6.tar.bz2 rneovim-61aea004d7101e138794a337c03ef00a6b3994e6.zip |
Merge pull request #13895 from bfredl/ar2
buffer updates: fix autoread but for real this time
Diffstat (limited to 'runtime/lua/vim/treesitter/highlighter.lua')
-rw-r--r-- | runtime/lua/vim/treesitter/highlighter.lua | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/runtime/lua/vim/treesitter/highlighter.lua b/runtime/lua/vim/treesitter/highlighter.lua index 275e960e28..6b833c6d35 100644 --- a/runtime/lua/vim/treesitter/highlighter.lua +++ b/runtime/lua/vim/treesitter/highlighter.lua @@ -113,8 +113,9 @@ function TSHighlighter.new(tree, opts) opts = opts or {} self.tree = tree tree:register_cbs { - on_changedtree = function(...) self:on_changedtree(...) end, - on_bytes = function(...) self:on_bytes(...) end + on_changedtree = function(...) self:on_changedtree(...) end; + on_bytes = function(...) self:on_bytes(...) end; + on_detach = function(...) self:on_detach(...) end; } self.bufnr = tree:source() @@ -176,6 +177,10 @@ function TSHighlighter:on_bytes(_, _, start_row, _, _, _, _, _, new_end) a.nvim__buf_redraw_range(self.bufnr, start_row, start_row + new_end + 1) end +function TSHighlighter:on_detach() + self:destroy() +end + function TSHighlighter:on_changedtree(changes) for _, ch in ipairs(changes or {}) do a.nvim__buf_redraw_range(self.bufnr, ch[1], ch[3]+1) |