diff options
| author | Riley Bruins <ribru17@hotmail.com> | 2025-01-13 19:16:17 -0800 |
|---|---|---|
| committer | Christian Clason <ch.clason+github@icloud.com> | 2025-02-21 18:10:24 +0100 |
| commit | cbad2c662873bf791309505418407c804db219b7 (patch) | |
| tree | 44b7b952583273230b7ee0bb4ffb04c8b83580de /runtime/doc | |
| parent | 2e0a563828fe8eacd30ce1849e47013096234cba (diff) | |
| download | rneovim-cbad2c662873bf791309505418407c804db219b7.tar.gz rneovim-cbad2c662873bf791309505418407c804db219b7.tar.bz2 rneovim-cbad2c662873bf791309505418407c804db219b7.zip | |
perf(treesitter): don't block when finding injection ranges
**Problem:** Currently, parsing is asynchronous, but it involves a
(sometimes lengthy) step which finds all injection ranges for a tree by
iterating over that language's injection queries. This causes edits in
large files to be extremely slow, and also causes a long stutter during
the initial parse of a large file.
**Solution:** Break up the injection query iteration over multiple event
loop iterations.
Diffstat (limited to 'runtime/doc')
| -rw-r--r-- | runtime/doc/news.txt | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/runtime/doc/news.txt b/runtime/doc/news.txt index 314ac23338..5c7354e3b5 100644 --- a/runtime/doc/news.txt +++ b/runtime/doc/news.txt @@ -343,6 +343,8 @@ PERFORMANCE • |LanguageTree:parse()| now only runs the injection query on the provided range (as long as the language does not have a combined injection), significantly improving |treesitter-highlight| performance. +• Treesitter injection query iteration is now asynchronous, making edits in + large buffers with combined injections much quicker. PLUGINS |