Commit message (Collapse) | Author | Age | |
---|---|---|---|
* | refactor(treesitter): use byte ranges from treesitter (#22589) | Lewis Russell | 2023-03-09 |
| | |||
* | Revert "refactor(treesitter): delegate region calculation to treesitter" ↵ | Lewis Russell | 2023-03-08 |
| | | | | | | | (#22575) Revert "refactor(treesitter): delegate region calculation to treesitter (#22553)" This reverts commit 276b647fdba07bf1762d8dd371c4b655b8a418df. | ||
* | refactor(treesitter): delegate region calculation to treesitter (#22553) | Lewis Russell | 2023-03-08 |
| | |||
* | refactor(treesitter): simplify some range functions | Lewis Russell | 2023-03-06 |
| | |||
* | fix(treesitter): typos in _range.lua | Jaehwang Jung | 2023-03-03 |
| | | | fix(treesitter): typos _range.lua | ||
* | perf(treesitter): smarter languagetree invalidation | Lewis Russell | 2023-02-23 |
Problem: Treesitter injections are slow because all injected trees are invalidated on every change. Solution: Implement smarter invalidation to avoid reparsing injected regions. - In on_bytes, try and update self._regions as best we can. This PR just offsets any regions after the change. - Add valid flags for each region in self._regions. - Call on_bytes recursively for all children. - We still need to run the query every time for the top level tree. I don't know how to avoid this. However, if the new injection ranges don't change, then we re-use the old trees and avoid reparsing children. This should result in roughly a 2-3x reduction in tree parsing when the comment injections are enabled. |