mirror of
https://github.com/chenasraf/nvim-treesitter.git
synced 2026-05-17 17:38:02 +00:00
Problem: Not easy to run all checks and tests locally. Redundant CI workflows. Solution: Separate CI into two workflows: * lint: Lua files (stylua, luals), query files (valid captures, predicates, directives using tsqueryls), docs (SUPPORTED_LANGUAGES.md) -- does not need parser installation * tests: parsers (ABI compatibility), query files (tsqueryls on Linux/macOS; nvim on Windows), highlight and indent tests (separated for better readability) -- needs parser installation (but only once) Switch to https://github.com/nvim-treesitter/highlight-assertions fork with ABI 15 support. Run all tests (on Linux and macOS) through `make` (`formatlua`, `checklua`, `lintquery`, `formatquery`, `checkquery`, `docs`, `tests`), which downloads and caches all necessary dependencies. Remove `update-readme` workflow (replaced by lint job on PRs).
1.4 KiB
1.4 KiB
Roadmap
This document lists the planned and finished changes in this rewrite towards Nvim-treesitter 1.0.
TODO
parsers.lua: track versioned releases for tier 1parsers.lua: add WASM support (tier 1)install.lua: migrate to async v2- tests: remove custom crate, plenary dependency
- documentation: consolidate, autogenerate?
- documentation: migration guide
- indents: rewrite (Helix or Zed compatible)
- textobjects: include simple(!)
node,scope(usinglocals) objects
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)
- drop ensure_install (replace with install)
- CI: switch to ts_query_ls, add update readme as check (remove update job)