aboutsummaryrefslogtreecommitdiff
path: root/runtime/lua/vim/treesitter/highlighter.lua
diff options
context:
space:
mode:
authorThomas Vigouroux <tomvig38@gmail.com>2020-09-09 19:02:16 +0200
committerGitHub <noreply@github.com>2020-09-09 19:02:16 +0200
commita621c45ba07e3608aad714403178e3aaded15df7 (patch)
tree9437586c27ab75b961a5e6e098220cfb574de18a /runtime/lua/vim/treesitter/highlighter.lua
parent59712f6dbecfd9a7ccd021115170d1c9313b0969 (diff)
parent1ff064126de389a655a064f235a7a02138d3602c (diff)
downloadrneovim-a621c45ba07e3608aad714403178e3aaded15df7.tar.gz
rneovim-a621c45ba07e3608aad714403178e3aaded15df7.tar.bz2
rneovim-a621c45ba07e3608aad714403178e3aaded15df7.zip
Merge pull request #12840 from vigoux/ts-hl-fixes
treesitter: fix some highlight issues
Diffstat (limited to 'runtime/lua/vim/treesitter/highlighter.lua')
-rw-r--r--runtime/lua/vim/treesitter/highlighter.lua7
1 files changed, 2 insertions, 5 deletions
diff --git a/runtime/lua/vim/treesitter/highlighter.lua b/runtime/lua/vim/treesitter/highlighter.lua
index 1acf888821..b261d51d4a 100644
--- a/runtime/lua/vim/treesitter/highlighter.lua
+++ b/runtime/lua/vim/treesitter/highlighter.lua
@@ -134,12 +134,9 @@ function TSHighlighter:on_changedtree(changes)
self.root = self.parser.tree:root()
for _, ch in ipairs(changes or {}) do
- -- Try to be as exact as possible
- local changed_node = self.root:descendant_for_range(ch[1], ch[2], ch[3], ch[4])
+ a.nvim_buf_clear_namespace(self.buf, ts_hs_ns, ch[1], ch[3] + 1)
- a.nvim_buf_clear_namespace(self.buf, ts_hs_ns, ch[1], ch[3])
-
- for capture, node in self.query:iter_captures(changed_node, self.buf, ch[1], ch[3] + 1) do
+ for capture, node in self.query:iter_captures(self.root, self.buf, ch[1], ch[3] + 1) do
local start_row, start_col, end_row, end_col = node:range()
local hl = self.hl_cache[capture]
if hl then