WillLillis
5ea246adbc
feat(cli): fill in missing fields to tree-sitter.json when running
...
`tree-sitter init -u`
(cherry picked from commit dd60d5cff0 )
2025-12-31 19:08:21 +00:00
WillLillis
5e0bcf6fef
fix(cli): increase verbosity of tree-sitter init -u updates
...
Also, use `info` logs rather than `warn`
(cherry picked from commit f1288ea5c9 )
2025-12-31 19:08:21 +00:00
WillLillis
48ee942c4f
fix(cli): canonicalize build --output path
...
This fixes a potential issue with the new lock file hashing mechanism,
in which two different path literals pointing to the same location would
hash to separate lock files, allowing a race condition.
(cherry picked from commit 93d793d249 )
2025-12-30 17:49:45 +01:00
Firas al-Khalil
9ee2b87dd6
feat(cli): concurrent build of same grammar on different paths
...
(cherry picked from commit 5d9605a91e )
2025-12-29 12:37:04 +01:00
Firas al-Khalil
fb91deb8d9
fix(cli): report library load failure
...
Instead of panicking somehere else.
This happens on concurrent builds of the the same grammar.
(cherry picked from commit 5293dd683e )
2025-12-29 12:37:04 +01:00
Firas al-Khalil
789a966f96
fix(cli): report context on compile fail
...
(cherry picked from commit 62effdf128 )
2025-12-29 12:37:04 +01:00
WillLillis
3c49fef0e3
fix(rust): address nightly clippy lint
...
(cherry picked from commit 8e4f21aba0 )
2025-12-27 19:39:28 -05:00
WillLillis
8a297b86bc
fix(cli): set language in cwd for all usages of highlight command
...
(cherry picked from commit 5208299bbb )
2025-12-27 19:39:28 -05:00
skewb1k
ac6644016c
fix(cli): remove extra newline with --cst
...
Makes CST output consistent with other formats.
(cherry picked from commit f05e57e2fc )
2025-12-24 15:37:30 +01:00
skewb1k
a80765614b
fix(cli): remove extra indentation with --cst --no-ranges
...
(cherry picked from commit 2f33a37dff )
2025-12-24 15:37:30 +01:00
kevin-hua-kraken
34602af22c
fix(playground): update query API
...
(cherry picked from commit a7d8c0cbb2 )
2025-12-23 14:18:14 +01:00
Will Lillis
c4f81931e6
fix(cli): correct discrepancy with cst for --no-ranges
...
(cherry picked from commit eacb95c85d )
2025-12-16 23:24:07 -05:00
skewb1k
25777e5a64
fix(cli): trailing whitespace after multiline text nodes in CST
...
Problem:
The CST printer emits trailing whitespace after multiline text nodes.
With 1704c604bf and `:cst` corpus tests
this causes trailing spaces to appear on `test --update`.
These spaces cannot be removed afterward, as the test runner
expects an exact character-for-character match for CST tests.
Solution:
Print whitespace only if node is not multiline.
(cherry picked from commit 4ac2d5d276 )
2025-12-14 22:41:02 -05:00
Christian Clason
cd4b6e2ef9
0.26.3
2025-12-13 13:41:03 +01:00
Christian Clason
8caecbc13f
build(deps): cargo update
2025-12-13 12:58:59 +01:00
ObserverOfTime
1b654ae35d
ci(release): use node 24
2025-12-13 06:28:18 -05:00
Marcono1234
3bd44afcaa
docs(cli): fix wrong file path for Java bindings test
...
The test is currently generated in the default (= unnamed) package.
2025-12-10 20:54:07 +02:00
Will Lillis
8b8199775f
0.26.x
...
Also bump the tree-sitter-language crate to 0.1.6
2025-12-09 17:19:25 -05:00
dependabot[bot]
744e556f7e
build(deps): bump esbuild
...
Bumps the npm group with 1 update in the /lib/binding_web directory: [esbuild](https://github.com/evanw/esbuild ).
Updates `esbuild` from 0.27.0 to 0.27.1
- [Release notes](https://github.com/evanw/esbuild/releases )
- [Changelog](https://github.com/evanw/esbuild/blob/main/CHANGELOG.md )
- [Commits](https://github.com/evanw/esbuild/compare/v0.27.0...v0.27.1 )
---
updated-dependencies:
- dependency-name: esbuild
dependency-version: 0.27.1
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: npm
...
Signed-off-by: dependabot[bot] <support@github.com>
2025-12-08 23:43:47 +01:00
Will Lillis
8a3dcc6155
release 0.26.1
2025-12-08 17:05:03 -05:00
dependabot[bot]
b0afbf3762
build(deps): bump wasmparser from 0.242.0 to 0.243.0 in the cargo group
...
Bumps the cargo group with 1 update: [wasmparser](https://github.com/bytecodealliance/wasm-tools ).
Updates `wasmparser` from 0.242.0 to 0.243.0
- [Release notes](https://github.com/bytecodealliance/wasm-tools/releases )
- [Commits](https://github.com/bytecodealliance/wasm-tools/commits )
---
updated-dependencies:
- dependency-name: wasmparser
dependency-version: 0.243.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: cargo
...
Signed-off-by: dependabot[bot] <support@github.com>
2025-12-08 22:38:09 +01:00
Will Lillis
974be3bb30
fix(rust): specify workspace dependency of tree-sitter-language crate
...
as "0.1"
If a rust project depends on both the tree-sitter lib bindings and the
language crate, cargo needs to be able to resolve a common version of
the tree-sitter-language crate. Specifying exactly "0.1.5" for the lib
bindings is overly restrictive, and could lead to future headaches. By
specifying "0.1", any "0.1.x" version should be available to resolve to.
2025-12-08 16:00:57 -05:00
ObserverOfTime
d861e2bcd9
docs(cli): list Java & Zig binding files
2025-12-08 15:47:15 -05:00
ObserverOfTime
b9c2d1dc89
feat(bindings): add Java bindings
2025-12-08 15:47:15 -05:00
ObserverOfTime
8ca17d1bb1
ci(release): enable trusted publishing & attestations
2025-12-08 15:38:21 -05:00
ObserverOfTime
3182efeccc
feat(bindings): add byproducts to cmake
2025-12-08 04:35:09 -05:00
Will Lillis
bec7c3272b
fix(loader)!: correct arguments passed to select_language
2025-12-07 17:11:28 -05:00
dependabot[bot]
e6bfed33ee
build(deps): bump the npm group across 1 directory with 7 updates
...
Bumps the npm group with 7 updates in the /lib/binding_web directory:
| Package | From | To |
| --- | --- | --- |
| [@eslint/js](https://github.com/eslint/eslint/tree/HEAD/packages/js ) | `9.36.0` | `9.39.1` |
| [@types/emscripten](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/emscripten ) | `1.41.2` | `1.41.5` |
| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node ) | `24.5.2` | `24.10.1` |
| [esbuild](https://github.com/evanw/esbuild ) | `0.25.10` | `0.27.0` |
| [eslint](https://github.com/eslint/eslint ) | `9.36.0` | `9.39.1` |
| [tsx](https://github.com/privatenumber/tsx ) | `4.20.5` | `4.21.0` |
| [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint ) | `8.44.1` | `8.48.1` |
Updates `@eslint/js` from 9.36.0 to 9.39.1
- [Release notes](https://github.com/eslint/eslint/releases )
- [Commits](https://github.com/eslint/eslint/commits/v9.39.1/packages/js )
Updates `@types/emscripten` from 1.41.2 to 1.41.5
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases )
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/emscripten )
Updates `@types/node` from 24.5.2 to 24.10.1
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases )
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node )
Updates `esbuild` from 0.25.10 to 0.27.0
- [Release notes](https://github.com/evanw/esbuild/releases )
- [Changelog](https://github.com/evanw/esbuild/blob/main/CHANGELOG.md )
- [Commits](https://github.com/evanw/esbuild/compare/v0.25.10...v0.27.0 )
Updates `eslint` from 9.36.0 to 9.39.1
- [Release notes](https://github.com/eslint/eslint/releases )
- [Commits](https://github.com/eslint/eslint/compare/v9.36.0...v9.39.1 )
Updates `tsx` from 4.20.5 to 4.21.0
- [Release notes](https://github.com/privatenumber/tsx/releases )
- [Changelog](https://github.com/privatenumber/tsx/blob/master/release.config.cjs )
- [Commits](https://github.com/privatenumber/tsx/compare/v4.20.5...v4.21.0 )
Updates `typescript-eslint` from 8.44.1 to 8.48.1
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases )
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/typescript-eslint/CHANGELOG.md )
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.48.1/packages/typescript-eslint )
---
updated-dependencies:
- dependency-name: "@eslint/js"
dependency-version: 9.39.1
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: npm
- dependency-name: "@types/emscripten"
dependency-version: 1.41.5
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: npm
- dependency-name: "@types/node"
dependency-version: 24.10.1
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: npm
- dependency-name: esbuild
dependency-version: 0.27.0
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: npm
- dependency-name: eslint
dependency-version: 9.39.1
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: npm
- dependency-name: tsx
dependency-version: 4.21.0
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: npm
- dependency-name: typescript-eslint
dependency-version: 8.48.1
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: npm
...
Signed-off-by: dependabot[bot] <support@github.com>
2025-12-06 13:05:02 +01:00
Christian Clason
053b264502
build(deps): cargo update
2025-12-06 12:53:10 +01:00
dependabot[bot]
a8f25fa441
build(deps): bump glob from 10.4.5 to 10.5.0 in /lib/binding_web
...
Bumps [glob](https://github.com/isaacs/node-glob ) from 10.4.5 to 10.5.0.
- [Changelog](https://github.com/isaacs/node-glob/blob/main/changelog.md )
- [Commits](https://github.com/isaacs/node-glob/compare/v10.4.5...v10.5.0 )
---
updated-dependencies:
- dependency-name: glob
dependency-version: 10.5.0
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
2025-12-06 12:21:22 +01:00
dependabot[bot]
f450ce4f6e
build(deps): bump vite from 7.1.5 to 7.1.11 in /lib/binding_web
...
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite ) from 7.1.5 to 7.1.11.
- [Release notes](https://github.com/vitejs/vite/releases )
- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md )
- [Commits](https://github.com/vitejs/vite/commits/v7.1.11/packages/vite )
---
updated-dependencies:
- dependency-name: vite
dependency-version: 7.1.11
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
2025-12-05 23:59:37 -05:00
dependabot[bot]
3ff8edf9e8
build(deps): bump js-yaml from 4.1.0 to 4.1.1 in /crates/cli/eslint
...
Bumps [js-yaml](https://github.com/nodeca/js-yaml ) from 4.1.0 to 4.1.1.
- [Changelog](https://github.com/nodeca/js-yaml/blob/master/CHANGELOG.md )
- [Commits](https://github.com/nodeca/js-yaml/compare/4.1.0...4.1.1 )
---
updated-dependencies:
- dependency-name: js-yaml
dependency-version: 4.1.1
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
2025-12-05 22:25:23 -05:00
dependabot[bot]
6b6040961c
build(deps): bump js-yaml from 4.1.0 to 4.1.1 in /lib/binding_web
...
Bumps [js-yaml](https://github.com/nodeca/js-yaml ) from 4.1.0 to 4.1.1.
- [Changelog](https://github.com/nodeca/js-yaml/blob/master/CHANGELOG.md )
- [Commits](https://github.com/nodeca/js-yaml/compare/4.1.0...4.1.1 )
---
updated-dependencies:
- dependency-name: js-yaml
dependency-version: 4.1.1
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
2025-12-05 22:24:47 -05:00
Will Lillis
888f57657d
fix(cli): improve error reporting for invalid range arguments to query
...
command
2025-12-03 18:06:16 -05:00
Max Brunsfeld
be8fe690d8
Clean up node range tracking in query_cursor__advance
2025-12-03 18:06:16 -05:00
Piotr Osiewicz
c0b1710f8a
Add containing range APIs to query cursor
...
Co-authored-by: Kirill Bulatov <mail4score@gmail.com>
Co-authored-by: Max Brunsfeld <maxbrunsfeld@gmail.com>
Co-authored-by: dino <dinojoaocosta@gmail.com>
Co-authored-by: John Tur <john-tur@outlook.com>
Co-authored-by: Piotr Osiewicz <24362066+osiewicz@users.noreply.github.com>
Co-authored-by: dino <dinojoaocosta@gmail.com>
Co-authored-by: Will Lillis <will.lillis24@gmail.com>
2025-12-03 18:06:16 -05:00
Piotr Osiewicz
7d3feeae9a
cli: Do not validate UTF-8 boundaries when query results are not being
...
tested
Co-authored-by: Kirill Bulatov <mail4score@gmail.com>
Co-authored-by: dino <dinojoaocosta@gmail.com>
Co-authored-by: Max Brunsfeld <maxbrunsfeld@gmail.com>
Co-authored-by: John Tur <john-tur@outlook.com>
2025-12-03 18:06:16 -05:00
dependabot[bot]
3f85f65e3f
build(deps): bump the cargo group with 2 updates
...
Bumps the cargo group with 2 updates: [cc](https://github.com/rust-lang/cc-rs ) and [wasmparser](https://github.com/bytecodealliance/wasm-tools ).
Updates `cc` from 1.2.47 to 1.2.48
- [Release notes](https://github.com/rust-lang/cc-rs/releases )
- [Changelog](https://github.com/rust-lang/cc-rs/blob/main/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/cc-rs/compare/cc-v1.2.47...cc-v1.2.48 )
Updates `wasmparser` from 0.241.2 to 0.242.0
- [Release notes](https://github.com/bytecodealliance/wasm-tools/releases )
- [Commits](https://github.com/bytecodealliance/wasm-tools/commits )
---
updated-dependencies:
- dependency-name: cc
dependency-version: 1.2.48
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo
- dependency-name: wasmparser
dependency-version: 0.242.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: cargo
...
Signed-off-by: dependabot[bot] <support@github.com>
2025-12-02 08:10:34 +01:00
WillLillis
df8b62fc50
feat(xtask): bring wasi-sdk treatment up to par with the loader
...
The loader package's `ensure_wasi_sdk_exists` private method checks for
the wasi-sdk, fetching it if it can't be found. This logic was
re-implemented in xtask for `build-wasm-stdlib`, but without the
fetching functionality. We can have nice things in xtask too! Rather
than make this function a public member of `tree-sitter-loader`, we
just re-implement and leave a nice comment asking people to keep the
two in sync.
2025-11-27 16:06:25 -05:00
ObserverOfTime
14b4708018
fix(loader): write Wasm lib directly to lib dir
...
Problem: `fs::rename` fails if the parser directory and the Tree-sitter
library directory are on different file systems.
Solution: Write the library file directly to the final directory.
2025-11-25 17:23:44 +01:00
WillLillis
dcef0cc0ee
fix(cli): correct query match limit warning condition
2025-11-25 17:23:19 +01:00
WillLillis
c1a0f48781
fix(cli): return error if --wasm flag is passed when the wasm feature
...
is disabled
This applies to the `parse` and `test` commands, but not `build` as it
doesn't require the wasm feature. Also, hide the `--wasm` options if
from the `--help` output if the feature is disabled.
2025-11-25 17:23:19 +01:00
Antonin Delpeuch
f6d17fdb04
fix(node): bump tree-sitter dep to 0.25 in bindings
...
Sets the dependency `tree-sitter` to version 0.25 in
the NodeJS bindings generated by default, so that
`npm run test` passes.
2025-11-25 03:32:31 -05:00
Riley Bruins
829733a35e
fix(query): prevent infinite loop with + and ? quantifiers
...
**Problem:** A query with a `?` quantifier followed by a `+` quantifier
would hang at 100% CPU usage while iterating through a tree, regardless
of the source content.
**Solution:** Collect all quantifiers in one step, and then add the
required repeat/optional step logic *after* we have determined the
composite quantifier we need to use for the current step.
2025-11-25 03:21:13 -05:00
Christian Clason
d64b863030
build(deps): bump wasi-sdk to v29
2025-11-25 07:41:04 +01:00
skewb1k
882aa867eb
docs: remove manual bindings update steps for scanner
...
Since 66dab20462 , bindings automatically
detect external scanner, making the instructions for manual updating
outdated. Avoids confusion about missing commented lines in Rust
bindings.
2025-11-24 23:00:40 +01:00
dependabot[bot]
de92a9b4c9
build(deps): bump the cargo group with 4 updates
...
Bumps the cargo group with 4 updates: [cc](https://github.com/rust-lang/cc-rs ), [clap](https://github.com/clap-rs/clap ), [clap_complete](https://github.com/clap-rs/clap ) and [indexmap](https://github.com/indexmap-rs/indexmap ).
Updates `cc` from 1.2.46 to 1.2.47
- [Release notes](https://github.com/rust-lang/cc-rs/releases )
- [Changelog](https://github.com/rust-lang/cc-rs/blob/main/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/cc-rs/compare/cc-v1.2.46...cc-v1.2.47 )
Updates `clap` from 4.5.51 to 4.5.53
- [Release notes](https://github.com/clap-rs/clap/releases )
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md )
- [Commits](https://github.com/clap-rs/clap/compare/clap_complete-v4.5.51...clap_complete-v4.5.53 )
Updates `clap_complete` from 4.5.60 to 4.5.61
- [Release notes](https://github.com/clap-rs/clap/releases )
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md )
- [Commits](https://github.com/clap-rs/clap/compare/clap_complete-v4.5.60...clap_complete-v4.5.61 )
Updates `indexmap` from 2.12.0 to 2.12.1
- [Changelog](https://github.com/indexmap-rs/indexmap/blob/main/RELEASES.md )
- [Commits](https://github.com/indexmap-rs/indexmap/compare/2.12.0...2.12.1 )
---
updated-dependencies:
- dependency-name: cc
dependency-version: 1.2.47
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo
- dependency-name: clap
dependency-version: 4.5.53
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo
- dependency-name: clap_complete
dependency-version: 4.5.61
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo
- dependency-name: indexmap
dependency-version: 2.12.1
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo
...
Signed-off-by: dependabot[bot] <support@github.com>
2025-11-24 22:42:26 +01:00
dependabot[bot]
5880df47e2
ci: bump actions/checkout from 5 to 6 in the actions group
...
Bumps the actions group with 1 update: [actions/checkout](https://github.com/actions/checkout ).
Updates `actions/checkout` from 5 to 6
- [Release notes](https://github.com/actions/checkout/releases )
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md )
- [Commits](https://github.com/actions/checkout/compare/v5...v6 )
---
updated-dependencies:
- dependency-name: actions/checkout
dependency-version: '6'
dependency-type: direct:production
update-type: version-update:semver-major
dependency-group: actions
...
Signed-off-by: dependabot[bot] <support@github.com>
2025-11-24 22:41:27 +01:00
Will Lillis
e92a7803eb
fix(docs): final updates before 0.26.1
...
- Indicate where xtask looks for wasi-sdk
- Indicate where `build --wasm` looks for and downloads wasi-sdk binary
to
- Mark native runtime as experimental, describe limitations
- Note ABI 13 support limitations
- Mention that `test --wasm` and `parse --wasm` require
`--features=wasm` build
2025-11-24 15:18:12 +01:00
Will Lillis
0d656de98b
feat(cli): update zig bindings with version command
2025-11-21 19:40:14 -05:00