mirror of
https://github.com/nvim-treesitter/nvim-treesitter.git
synced 2026-07-10 07:20:06 -04:00
Problem: Tracking parser revision in lockfile and allowing override through the parsers module complicates the code. In addition, only revision changes are handled robustly, not changes to other installation info. Solution: Track parser revision in the parsers module directly. Reload parser table on every install or update call. Support modifying parser table in a `User TSUpdate` autocommand.
1.5 KiB
1.5 KiB
Roadmap
This document lists the planned and finished changes in this rewrite towards Nvim-treesitter 1.0.
TODO
-
parsers.lua: include revision (serialization at home:vim.inspect)- rename
parserstolanguages - rename
install_infotoparser
- rename
-
parsers.lua: allow specifying version in addition to commit hash (for Tier 1) -
update-lockfile: one commit per parser/tier?
-
tests: fix, update, extend (cover all Tier 1 languages)
-
documentation: consolidate, autogenerate?
-
documentation: migration guide
-
locals.lua: move tonvim-treesitter-refactor? -
textobjects: include simple(!) function, queries? (check Helix)
-
downstream: adapt to breaking changes (
nvim-treesitter-refactor)
DONE
- remove module framework
- remove extra utilities
- refactor
indent.luainto standalone - refactor
locals.luainto standalone - refactor commands, predicates, filetypes registration to plugin/
- support installing tiers of parsers
- install parsers to standard directory by default
- remove bundled queries from runtimepath; copy on parser install
- general refactor and cleanup
- rewrite installation using async module (drop support for sync; use callback instead)
- switch to upstream injection format
- remove locals from highlighting (cf. https://github.com/nvim-treesitter/nvim-treesitter/issues/3944#issuecomment-1458782497)