Will Lillis
152d2756fc
fix(cli): warn user when nm can't be run to verify the symbols inside
...
the parser being built
(cherry picked from commit 0cdb6bef7b )
2026-01-18 23:26:47 -05:00
Christian Clason
f05efbb352
fix(wasm): regenerate stdlib with wasm-opt
...
Problem: Output of `cargo xtask build-wasm-stdlib` depends on whether
`wasm-opt` is installed (since `clang` will use it by default if it
finds it).
Solution: Install it and rerun the xtask.
(cherry picked from commit 5d290a2a75 )
2026-01-15 16:52:47 +01:00
Will Lillis
1f221c8500
fix(build): define _BSD_SOURCE
...
System endian conversion macros are gated behind this feature flag for
older versions of GLIBC. `_BSD_SOURCE` and `_SVID_SOURCE` were
deprecated and replaced with `_DEFAULT_SOURCE` starting with GLIBC 2.19.
(cherry picked from commit aefae11c0d )
2026-01-12 23:43:46 -05:00
Kevin Wang
fdca0718bc
fix(templates): fix python free-threading compatibility
...
(cherry picked from commit 630fa52717 )
2026-01-10 04:01:08 -06:00
Christian Clason
fa7b1b2a66
fix(wasm): update wasm-stdlib.h
...
(cherry picked from commit cd6672701b )
2026-01-06 19:27:35 +01:00
tree-sitter-ci-bot[bot]
adcc4d1f7b
fix(wasm): add common definitions to stdlib ( #5199 ) ( #5208 )
...
Also expose `strlen` through `string.h` instead of `stdio.h`.
(cherry picked from commit f4ca3d95ca )
Co-authored-by: Trim21 <trim21.me@gmail.com>
2026-01-06 12:27:26 +01:00
skewb1k
7d9c544c96
fix(cli): restore test summary output for tree-sitter test
...
Problem:
After commit f02d7e7e33
the `tree-sitter test` command no longer printed the final test summary,
leaving empty line. The `Stats` struct was embedded into `TestSummary`,
and the explicit call to print it was removed.
Solution:
Print `parse_stats` from `TestSummary.fmt()` implementation.
(cherry picked from commit 17e3c7a5c5 )
2026-01-04 22:45:41 -08:00
WillLillis
c1e49d1571
feat(cli): fill in missing fields to tree-sitter.json when running
...
`tree-sitter init -u`
(cherry picked from commit dd60d5cff0 )
2025-12-31 20:37:15 +01:00
WillLillis
eae6554735
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 20:37:15 +01: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