nvim-treesitter/TODO.md
Christian Clason a8677385b7 feat(install)!: drop support for git
Problem: Using git for installing parsers can lead to data loss if in a
git commit buffer.

Solution: Only support downloading via curl+tar, which are installed on
all supported platforms (since Windows 10). Curl will also be required
for WASM parsers (and for `vim.net.download()`).
2025-05-12 18:43:40 +02:00

1.4 KiB

Roadmap

This document lists the planned and finished changes in this rewrite towards Nvim-treesitter 1.0.

TODO

  • parsers.lua: allow specifying version in addition to commit hash (for Tier 1)
  • parsers.lua: add WASM support (tier 1)
  • parsers.lua: update tiers (stable, dev, unmaintained, broken)
  • tests: fix, update (remove custom crate, plenary dependency)
  • documentation: consolidate, autogenerate?
  • documentation: migration guide
  • indents: rewrite (Helix compatible)
  • textobjects: include simple(!) node, scope (using locals) objects
  • downstream: adapt to breaking changes (nvim-treesitter-refactor)

DONE

  • remove module framework
  • remove extra utilities
  • refactor indent.lua into standalone
  • refactor locals.lua into 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)