622 Commits

Author SHA1 Message Date
Christian Clason
90cd6580e7 tests: add stable Nvim 2026-04-01 14:59:03 +02:00
Christian Clason
2f5d4c3f3c docs(readme): clarify pre-release support policy 2026-03-14 19:46:07 +01:00
Farid
b033ab331c docs(readme): fix lazy snippet 2026-01-05 12:01:59 +01:00
Christian Clason
99dfc5acef docs(readme): fix lazy snippet 2026-01-04 18:08:46 +01:00
Christian Clason
d3218d988f docs(readme)!: main is now the default branch 2025-12-14 13:16:25 +01:00
Gabriel Holodak
c5623d3486 docs: document setting foldmethod alongside foldexpr (#8187) 2025-12-02 17:15:52 -08:00
Christian Clason
fd2880e8bc feat(install): remove node requirement
* supported parsers _must_ commit at least `grammar.json`
* set `TREE_SITTER_JS_RUNTIME=native` when generating parser to use
  built-in quickjs instead of node (requires tree-sitter 0.26)
2025-10-30 08:36:00 +01:00
Christian Clason
cdb5d5ef23 docs(readme): remove wiki link 2025-10-17 14:24:49 +02:00
Sergio A. Vargas
030e979b23 docs(README): clarify that tree-sitter-cli is required (#8124)
Seems like most distros have split out the CLI package under this name and reserve `tree-sitter` for the library (and crates) only.
2025-09-17 17:53:25 +02:00
Christian Clason
057e845518 feat(install): support custom queries 2025-06-04 11:35:41 +02:00
Christian Clason
b19b5ce171 docs: final update after rewrite
Make clear this is not the default branch
2025-05-21 09:15:29 +02:00
Lewis Russell
69371f0148 feat(install)!: migrate to latest async.nvim impl (#7856)
Provides significantly simpler blocking installation and update.
2025-05-16 18:33:52 +02:00
Christian Clason
b0a20057b0 feat(config)!: remove ignore_install
This was only useful for no longer supported `auto_install` option.
2025-05-16 08:48:27 +02:00
Christian Clason
e8bfe271b0 docs: update to rewrite
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.
2025-05-12 18:43:41 +02:00
Christian Clason
18bb653917 feat(locals)!: remove locals module
Problem: `locals.lua` was neither used nor tested, and providing it goes
against the goal of nvim-treesitter not being a required dependency for
other plugins.

Solution: Remove the module and document that the queries are provided
as-is for limited backward compatibility only.
2025-05-12 18:43:41 +02:00
Christian Clason
bdc2e01958 feat(install)!: always generate from json if possible 2025-05-12 18:43:40 +02:00
Christian Clason
522e0c6991 feat(setup)!: remove ensure_install field
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.
2025-05-12 18:43:40 +02:00
Christian Clason
a9f34d5a76 feat(parsers): rework tiers
* stable: updates follow semver releases (todo)
* unstable: updates follow HEAD (default)
* unmaintained: no automatic updates
* unsupported: no updates, cannot be installed
2025-05-12 18:43:40 +02:00
Christian Clason
a2841d29d7 feat(install)!: bump minimum tree-sitter version to 0.24 2025-05-12 18:43:40 +02:00
Christian Clason
ab230eadd4 feat(config)!: remove auto_install
use https://github.com/lewis6991/ts-install.nvim instead
2025-05-12 18:43:40 +02:00
Christian Clason
214cfcf851 feat!: use tree-sitter build 2025-05-12 18:43:40 +02:00
Christian Clason
c17de56890 feat!: track parser revision in Lua
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.
2025-05-12 18:43:40 +02:00
Christian Clason
5a38df5627 feat(install)!: generate from json instead of requiring node
Problem: Many parsers require node/npm to evaluate the `grammar.js`
before being able to generate a parser from it.

Solution: Generate from `grammar.json` instead, which is fully resolved.
Drops `node` and `npm` as (optional) requirements for nvim-treesitter.

Note that this requires parsers to commit the generated json iff the
grammar requires evaluation (which is currently the case for all tracked
languages).
2025-05-12 18:43:40 +02:00
Christian Clason
a8f5641ab3 feat(install)!: remove support for C++ scanners 2025-05-12 18:43:40 +02:00
Christian Clason
abcbe65b6e docs(readme): document 'location' key 2025-05-12 18:43:40 +02:00
Christian Clason
bae77b87b1 feat: add parser tiers
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
2025-05-12 18:43:40 +02:00
Christian Clason
f0a984347c feat!: drop makefile support, norg parser
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.
2025-05-12 18:43:40 +02:00
Lewis Russell
cde679e435 refactor: rewrite installation using jobs and async
Replace sync variants with callback support
2025-05-12 18:43:40 +02:00
Christian Clason
5817ff01b5 feat(locals)!: refactor locals.lua into standalone
Co-authored-by: TheLeoP <eugenio2305@hotmail.com>
2025-05-12 18:43:40 +02:00
Christian Clason
692b051b09 feat!: drop modules, general refactor and cleanup 2025-05-12 18:43:40 +02:00
AJ Delcimmuto
7bbed4b548 feat(brightscript): brightscript parser and queries (#7780) 2025-04-13 13:20:09 -07:00
Vladimir Levin
9399bfd816 feat(caddy): add parser and queries (#7588)
---------

Co-authored-by: Christian Clason <c.clason@uni-graz.at>
2025-03-23 16:04:41 +00:00
nvim-treesitter-bot[bot]
b454febfd9 bot(readme): update 2025-03-23 15:53:44 +00:00
Caleb White
548ed98f8a feat(blade): add laravel blade parser and queries (#7693) 2025-03-12 18:47:19 +01:00
nvim-treesitter-bot[bot]
f06adcf572 bot(readme): update 2025-03-09 17:56:04 +00:00
nvim-treesitter-bot[bot]
8bc635a25f bot(readme): update 2025-02-27 09:16:43 +00:00
Christian Clason
b08ae25c47 feat(parsers)!: drop org
The parser has neither queries nor a listed maintainer here and hasn't
seen updates in two years.
2025-02-16 13:53:28 +01:00
nvim-treesitter-bot[bot]
1f36863a4e bot(readme): update 2025-02-08 09:51:26 +00:00
simonvic
e8ccc339a3 feat(enforce): add parser and queries (#7626) 2025-02-08 10:38:13 +01:00
Tristan Knight
39bf51ff68 feat(razor): add parser and queries (#7545) 2025-02-01 20:06:26 +01:00
nvim-treesitter-bot[bot]
07bd1b53bf bot(readme): update 2025-01-21 09:25:45 +01:00
Serhii Khoma
8758abeb4d feat(idris): add parser and queries (#7274) 2025-01-16 17:34:37 +01:00
Serhii Khoma
f87c8956ae feat(ipkg): add parser and queries (#7277)
Co-authored-by: ObserverOfTime <chronobserver@disroot.org>
2024-12-30 08:48:20 -08:00
nvim-treesitter-bot[bot]
53e20aa728 bot(readme): update 2024-12-06 17:51:03 +00:00
Christian Clason
efb2e9c607 docs(parser): add maintainer for julia 2024-11-23 11:24:39 +01:00
nvim-treesitter-bot[bot]
0722f23886 bot(readme): update 2024-11-06 22:15:19 +00:00
nvim-treesitter-bot[bot]
b5cda6d731 bot(readme): update 2024-11-06 17:17:43 +00:00
nvim-treesitter-bot[bot]
7dc8aabe86 bot(readme): update 2024-11-05 14:34:09 +00:00
nvim-treesitter-bot[bot]
dfd3207ed4 bot(readme): update 2024-11-04 08:38:00 +01:00
Elliot Fontaine
92d2501d69 feat(cylc): add parser and queries (#7225) 2024-10-31 17:56:58 +01:00