aboutsummaryrefslogtreecommitdiffstats
path: root/TODO.md
Commit message (Collapse)AuthorAgeFilesLines
* docs: final update after rewriteChristian Clason2025-05-211-28/+0
| | | | Make clear this is not the default branch
* feat(install)!: migrate to latest async.nvim impl (#7856)Lewis Russell2025-05-161-1/+1
| | | | Provides significantly simpler blocking installation and update.
* docs: update to rewriteChristian Clason2025-05-121-2/+0
| | | | | | | | | | | This updates * README * CONTRIBUTING * the `:h nvim-treesitter` documentation to the current state of `main`. It also adds a pull request template for adding a new language.
* feat!: update tier 1 parsers to versionsChristian Clason2025-05-121-2/+1
|
* feat(tests)!: new infrastructure based on makefileChristian Clason2025-05-121-6/+4
| | | | | | | | | | | | | | | | | | | | | | 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).
* feat(setup)!: remove ensure_install fieldChristian Clason2025-05-121-1/+1
| | | | | | | | Instead, call `require('nvim-treesitter').install( { ... } )` manually. This gives users full control over how they want to install parsers (sync, from grammar, limited concurrency) and obviates the need for calling `setup` for most users.
* feat: add .tsqueryrc.jsonChristian Clason2025-05-121-0/+1
|
* fix(install): don't prompt on installed parsers (skip)Christian Clason2025-05-121-0/+2
| | | | Use `:TSInstall!` or `force = true` to reinstall.
* feat(parsers): rework tiersChristian Clason2025-05-121-1/+1
| | | | | | | * stable: updates follow semver releases (todo) * unstable: updates follow HEAD (default) * unmaintained: no automatic updates * unsupported: no updates, cannot be installed
* feat(install)!: drop support for gitChristian Clason2025-05-121-3/+5
| | | | | | | | | 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()`).
* feat!: use tree-sitter buildChristian Clason2025-05-121-5/+0
|
* feat!: track parser revision in LuaChristian Clason2025-05-121-3/+6
| | | | | | | | | | | 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.
* feat: add parser tiersChristian Clason2025-05-121-4/+3
| | | | | | | | | | Tier 1: Stable Tier 2: Core (maintained by org members) Tier 3: Community (maintained by external contributors, to varying degree) Tier 4: Unsupported (lacking active maintainer or declared experimental); skipped in lockfile update and ignored for automatic install by default
* feat!: drop makefile support, norg parserChristian Clason2025-05-121-1/+0
| | | | | | | | | Norg install_info and queries are maintained by neorg. All other parsers are compatible with C++11, so fix that as standard. (Can be bumped if all supported platforms support C++14.) Remove Makefile support, as it's no longer needed.
* fix: install dependenciesChristian Clason2025-05-121-6/+1
|
* ci: remove update-lockfile shell scriptChristian Clason2025-05-121-1/+2
|
* refactor: rewrite installation using jobs and asyncLewis Russell2025-05-121-1/+1
| | | | Replace sync variants with callback support
* feat(locals)!: refactor `locals.lua` into standaloneChristian Clason2025-05-121-1/+3
| | | | Co-authored-by: TheLeoP <eugenio2305@hotmail.com>
* feat!: drop modules, general refactor and cleanupChristian Clason2025-05-121-0/+34