Improve highlither for document edits

The syntax highlighter keep a cache of the documents like tokenization.

In order to minimize the amount of tokenize re-computations we insert some
emtty lines or remove some lines in the highlither lines corresponding to
the lines added or removed to the document.
This commit is contained in:
Francesco Abbate
2021-10-07 19:19:08 +02:00
parent 8477818c96
commit 44d7f3738f
2 changed files with 16 additions and 3 deletions
+2 -2
View File
@@ -348,7 +348,7 @@ function Doc:raw_insert(line, col, text, undo_stack, time)
push_undo(undo_stack, time, "remove", line, col, line2, col2)
-- update highlighter and assure selection is in bounds
self.highlighter:invalidate(line)
self.highlighter:insert_notify(line, #lines - 1)
self:sanitize_selection()
end
@@ -375,7 +375,7 @@ function Doc:raw_remove(line1, col1, line2, col2, undo_stack, time)
end
-- update highlighter and assure selection is in bounds
self.highlighter:invalidate(line1)
self.highlighter:remove_notify(line1, line2 - line1)
self:sanitize_selection()
end