Kevin Wang
fdca0718bc
fix(templates): fix python free-threading compatibility
...
(cherry picked from commit 630fa52717 )
2026-01-10 04:01:08 -06: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
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
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
Will Lillis
8a3dcc6155
release 0.26.1
2025-12-08 17:05:03 -05:00
ObserverOfTime
b9c2d1dc89
feat(bindings): add Java bindings
2025-12-08 15:47:15 -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]
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
Will Lillis
888f57657d
fix(cli): improve error reporting for invalid range arguments to query
...
command
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
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
Will Lillis
0d656de98b
feat(cli): update zig bindings with version command
2025-11-21 19:40:14 -05:00
Amaan Qureshi
b095968dff
refactor(cli): clean up version updating code
...
This commit adds proper error types when updating the version across
files
2025-11-21 19:40:14 -05:00
Will Lillis
320c0865e9
feat(cli): don't bail after first version update fails
2025-11-21 19:40:14 -05:00
ObserverOfTime
60635e0729
fix(generate): add node_modules to quickjs resolver
2025-11-21 19:39:53 -05:00
Will Lillis
877782a8a4
fix(docs): update cli docs to reflect changes to various subcommand
...
arguments
2025-11-19 04:30:01 -05:00
Antonin Delpeuch
0e1f715ef1
Move PathsJSON method, reformat
2025-11-19 03:57:13 -05:00
Antonin Delpeuch
f3012a999d
feat(bindings): expose the queries dynamically
...
Available in the Rust, Python, and Node bindings
Co-authored-by: ObserverOfTime <chronobserver@disroot.org>
2025-11-19 03:57:13 -05:00
Valeriy Kosikhin
57e3a7b2ca
fix(loader): set correct runtime host for cc while cross-compiling
...
Pass the BUILD_TARGET variable from the build environment as 'host' for
the cc crate. Otherwise, when cross-compiled, cc will keep looking for a
cross-compiler instead of the native one on the target system.
Signed-off-by: Valeriy Kosikhin <vkosikhin@gmail.com>
2025-11-17 18:19:34 +01:00
WillLillis
61c21aa408
refactor(generate)!: include path when available in IO errors
2025-11-14 11:28:00 +01:00
WillLillis
7eb23d9f3c
refactor(config)!: transition from anyhow to thiserror
2025-11-14 11:28:00 +01:00
WillLillis
db2d221ae9
fix(generate): remove leftover imports of anyhow
2025-11-14 11:28:00 +01:00
WillLillis
67cb3cb881
refactor(loader)!: transition from anyhow to thiserror
2025-11-14 11:28:00 +01:00
Will Lillis
7657cc9d35
fix(dsl): add ReservedRule to Rule type definition
2025-11-12 07:27:05 +01:00
Will Lillis
361287fb56
fix(cli)!: deprecate --build flag for generate command
2025-11-07 08:51:24 +01:00
Will Lillis
419a5a7305
fix(generate): don't short-circuit within extend_sorted
2025-11-03 01:22:29 -05:00
Will Lillis
c7b5f89392
feat(xtask): generate JSON schema for cli TestSummary
2025-11-02 21:08:55 -05:00
Will Lillis
d546e28abf
fix(cli): mark report_states_for_rule and json/json_summary flags
...
for `generate` command as conflicting
2025-11-02 21:08:55 -05:00
WillLillis
86e2fd2337
fix(cli): correct behavior of parse --stat and --json-summary flags
2025-11-02 21:08:55 -05:00