neovim/runtime/lua/vim/treesitter
Lewis Russell 2ca076e45f feat(treesitter)!: incremental injection parsing
Problem:

Treesitter highlighting is slow for large files with lots of injections.

Solution:

Only parse injections we are going to render during a redraw cycle.

---

- `LanguageTree:parse()` will no longer parse injections by default and
  now requires an explicit range argument to be passed.

- `TSHighlighter` now parses injections incrementally during on_win
  callbacks for the line range being rendered.

- Plugins which require certain injections to be parsed must run
  `parser:parse({ start_row, end_row })` before using the tree.
2023-08-12 16:11:36 +01:00
..
_fold.lua feat(treesitter)!: incremental injection parsing 2023-08-12 16:11:36 +01:00
_meta.lua feat(treesitter)!: incremental injection parsing 2023-08-12 16:11:36 +01:00
_query_linter.lua refactor(treesitter): use npcall in _query_linter.lua #23985 2023-06-11 14:46:22 -07:00
_range.lua feat(treesitter)!: incremental injection parsing 2023-08-12 16:11:36 +01:00
dev.lua feat(treesitter)!: incremental injection parsing 2023-08-12 16:11:36 +01:00
health.lua refactor: deprecate checkhealth functions 2023-04-15 23:40:48 +02:00
highlighter.lua feat(treesitter)!: incremental injection parsing 2023-08-12 16:11:36 +01:00
language.lua docs(lua): more improvements (#24387) 2023-07-18 15:42:30 +01:00
languagetree.lua feat(treesitter)!: incremental injection parsing 2023-08-12 16:11:36 +01:00
query.lua feat(treesitter)!: incremental injection parsing 2023-08-12 16:11:36 +01:00