Will Lillis
596a4d69bb
fix(query): prevent cross-branch capture contamination in alternations with quantifiers
...
When a branch inside an alternation has a + or * quantifier, the
quantifier's pass_through step loops back to the branch's first step.
The alternation linking also sets that step's alternative_index to
point to the next branch. This causes the quantifier loop-back to
incorrectly explore other branches in the case of a failed match that
follows a successful match, contaminating captures.
This is corrected by redirecting the quantifier loop-back to a
"clean" copy of the target step without the alternative index pointing
to the next alternation branch.
Co-authored-by: Riley Bruins <ribru17@hotmail.com>
2026-02-09 21:57:29 -05:00
Will Lillis
48e921883a
fix(rust)!: return u32 from Node::child_count
...
This matches the type returned from the underlying C library, and also
composes more cleanly with other functions like `Node::child`
2026-02-09 21:05:48 -05:00
Will Lillis
9dd09fec1e
fix(cli): require tree-sitter CLI in CMake template
2026-02-08 18:40:57 -05:00
Amaan Qureshi
22cda59a19
lib: clean up strict aliasing fixes in array.h
2026-02-08 11:09:31 +01:00
Will Lillis
73b2f981d5
fix(cli): allow for both debug logs and graphs
2026-02-07 17:03:56 -05:00
Will Lillis
c4acd92930
fix(loader): download wasm tools into a tempdir
...
This ensures the directories are cleaned up even in the case of an
error during or after download.
2026-02-04 22:23:11 -05:00
Will Lillis
953e3f2630
fix(test): acquire lock before downloading wasm tools
...
Because Rust tests run in parallel, two tests compiling a parser to wasm
can both try to download wasi-sdk and wasm-opt to a common location,
causing corrupted files and/or other failures. To prevent this, we can
guard access to these tools. `cfg(test)` isn't passed across crate
boundaries, so this lock must be present for all build configurations.
2026-02-04 22:23:11 -05:00
Will Lillis
eab567a02d
fix(rust): place std::env::set_var inside unsafe blocks
...
This is optional for the 2021 but required for 2024. The function is
unsafe either way and should be marked as such.
2026-02-02 04:29:13 -05:00
Will Lillis
2338c3d649
rust: bump language crate version
...
The language crate's version had to be bumped to 0.1.7 on the 0.26
release branch, so bump to 0.1.8 on master
2026-02-01 15:00:22 -05:00
Will Lillis
7e1d8add13
feat(cli): add --verbose flag to build command
...
This displays the working directory of the command (if present),
compiler used, all of its arguments, any environment variables set,
and anything written to stdout/stderr by the compilation tool.
2026-02-01 13:00:02 -05:00
Will Lillis
0b8f124453
fix(cli): include default values for --edits and --iterations in
...
`fuzz` command help
2026-02-01 12:31:13 -05:00
Will Lillis
c9d9ce6cbb
fix(cli): use --edits value for fuzz tests
2026-02-01 12:31:13 -05:00
Will Lillis
337e20e0f2
fix(wasm): when reallocating the last allocated region, properly grow
...
the region in place.
Previous changes to `malloc` caused `realloc` to sometimes pull regions
off of the free list during this optimization. Because no `memcpy` is
performed, this resulted in corrupted data returning to the caller.
Co-authored-by: trim21 <i@trim21.me>
2026-01-31 18:24:31 -05:00
Will Lillis
8fe076695f
test: rename wasm corpus test "wasm_realloc"->"wasm_realloc_overflow_heap"
2026-01-31 18:24:31 -05:00
Will Lillis
439030503c
fix(loader): don't rely on nm to verify scanner symbols
...
Relying on a user's system's installation of `nm` has proven to be bug
prone and flaky. Instead, we can enforce that these symbols are defined
by requiring the linker to resolve them. This is already the default on
macos, but linux has looser requirements which defers the error to when
the library is opened. This check was not run on Windows (because
there's no `nm`), but the msvc linker is similiarly strict to macos's
w.r.t. resolving symbols at build time rather than runtime, so there's
no issue here.
2026-01-31 17:59:50 -05:00
Will Lillis
18e2fb1e78
fix(loader): account for nm/ld fix on newer powerpc linux toolchains
...
Previously a bug in linux powerpc linkers/nm caused function symbols to
be incorrectly reported in the data "D" section. Newer toolchains now
correctly report these symbols' sections as "T". Account for both to
maintain compatibility with older toolchains
2026-01-31 17:59:50 -05:00
Christian Clason
1850706af0
fix(wasm): don't wasm-opt twice
...
Now that we run `wasm-opt` explicitly after compilation, skip it during
the `clang` compile and link phase.
2026-01-31 10:43:19 +01:00
Will Lillis
94f4143ad6
generate: return error rather than assert when ABI incompatibility is
...
detected
2026-01-30 22:45:07 -05:00
Will Lillis
e65dc4c3b5
fix(generate): ensure parse table action id's fit within uint16_t
...
Without this check, action ids > 65,535 can be assigned to `uint16_t`s
in parser.c. This causes parsing to either crash or silently misbehave.
2026-01-30 22:45:07 -05:00
Will Lillis
4a2b8ed299
fix(generate): error if supertype is defined as a terminal rule
2026-01-30 22:35:41 -05:00
Will Lillis
7ad63a865e
fix(wasm): return early from calloc if malloc fails
...
Co-authored-by: trim21 <i@trim21.me>
2026-01-26 21:14:14 -05:00
Will Lillis
634ba3a1f7
fix(wasm): correct several bugs in realloc
...
- free memory if 0 size is passed in
- Don't `memcpy` contents if new pointer is `NULL`
- Copy old region's contents only up to size of new region
- free old region
Co-authored-by: trim21 <i@trim21.me>
2026-01-26 21:14:14 -05:00
Will Lillis
c0137208ec
fix(rust): address new nightly lint
2026-01-25 17:18:43 -05:00
Will Lillis
8f4df58983
fix(init): correct paths in rust bindings on Windows
2026-01-25 17:18:43 -05:00
Will Lillis
5177b3dc26
fix(lib): address strict aliasing violations with Array type
...
Altering the `Array` type itself isn't feasible, as this causes
unacceptable breakage with existing parsers that depend on it. Instead,
pass in individual `Array` fields for to various `_array__*` functions.
Any time the `contents` of an array may be modified (`free`d, `realloc`d,
etc), return the potentially new address out by value. This prevents any
strict aliasing violations as we're no longer writing to a type-casted
pointer.
Co-authored-by: Nathaniel Wesley Filardo <nwfilardo@gmail.com>
2026-01-24 14:18:40 -05:00
Will Lillis
55fdc50e81
feat(xtask): allow alternate branch for fixture grammars
...
Set tree-sitter-php fixture to `upstream_test_fixture` branch.
Also remove the `--update` flag, as it does nothing.
2026-01-24 14:18:40 -05:00
Will Lillis
d736b259de
wasm: build wctype.c as part of stdlib
2026-01-24 14:19:00 +01:00
Christian Clason
397452ead5
fix(wasm): add iswpunct to stdlib
2026-01-24 14:19:00 +01:00
Sasha Koss
ecb854da3b
Add missing Wasm shims required by tree-sitter-ruby
2026-01-24 03:04:44 -05:00
Sasha Koss
400c2b5a3b
Make __assert_fail static inline to avoid duplicate symbol rust-lld error
2026-01-24 03:04:44 -05:00
Will Lillis
148b4ca1b2
fix(loader): search correct cache directory for wasi-sdk clang
2026-01-23 09:10:30 +01:00
Will Lillis
aea4ef2338
feat(xtask): give wasm-opt the wasi-sdk treatment
2026-01-21 21:30:13 -05:00
Will Lillis
b1ec6a2586
feat(loader): use wasm-opt to optimize wasm files after compilation
...
Similar to wasi-sdk's `clang`, if `wasm-opt` cannot be found, binaryen
is downloaded, unzipped, and cached for future use.
2026-01-21 21:30:13 -05:00
Tam1SH
ae8184b8b9
docs(playground): highlight full row for highlighted nodes
2026-01-18 23:48:58 -05:00
Will Lillis
0cdb6bef7b
fix(cli): warn user when nm can't be run to verify the symbols inside
...
the parser being built
2026-01-18 22:19:19 -05:00
DanikVitek
b12009a746
fix: Clarify/fix lifetimes
...
- One has to think about lifetimes if a type has one:
- `<&'a Node<'tree>>::language` now returns `LanguageRef<'tree>` instead of
`LanguageRef<'a>`, as it should;
- Remove explicit "outlives" requirements from `QueryMatches`, `QueryCaptures`,
and their impl blocks, because they're inferred
- Removed unnecessary `&mut` from `cst_render_node`'s `cursor` parameter
2026-01-17 00:14:21 -05:00
Will Lillis
5808350bfe
fix(docs): appease clippy regarding spacing in README
2026-01-15 10:38:57 +01:00
Will Lillis
e64e74d5ed
docs: adhere to 120 new word column limit for docs
2026-01-14 18:11:42 -05:00
Will Lillis
aefae11c0d
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.
2026-01-12 19:41:58 -05:00
Kevin Wang
630fa52717
fix(templates): fix python free-threading compatibility
2026-01-09 11:44:41 +02:00
Trim21
f4ca3d95ca
fix(wasm) add common definitions to stdlib ( #5199 )
...
Also expose `strlen` through `string.h` instead of `stdio.h`.
2026-01-06 12:01:37 +01:00
skewb1k
17e3c7a5c5
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.
2026-01-04 21:31:11 -08:00
WillLillis
dd60d5cff0
feat(cli): fill in missing fields to tree-sitter.json when running
...
`tree-sitter init -u`
2025-12-31 14:08:09 -05:00
WillLillis
f1288ea5c9
fix(cli): increase verbosity of tree-sitter init -u updates
...
Also, use `info` logs rather than `warn`
2025-12-31 14:08:09 -05:00
Christian Clason
47ae060966
feat(quickjs): add console support for Array
2025-12-31 13:32:09 +01:00
Christian Clason
a1893b4420
build(deps): update rquickjs to 0.11.0
2025-12-31 13:32:09 +01:00
skewb1k
0d4d854809
feat(cli): make test --update rewrite all corpus files
2025-12-31 01:43:48 -05:00
WillLillis
93d793d249
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.
2025-12-30 17:07:04 +01:00
Firas al-Khalil
5d9605a91e
feat(cli): concurrent build of same grammar on different paths
2025-12-29 00:20:05 -05:00
Firas al-Khalil
5293dd683e
fix(cli): report library load failure
...
Instead of panicking somehere else.
This happens on concurrent builds of the the same grammar.
2025-12-29 00:20:05 -05:00
Firas al-Khalil
62effdf128
fix(cli): report context on compile fail
2025-12-29 00:20:05 -05:00
WillLillis
8e4f21aba0
fix(rust): address nightly clippy lint
2025-12-27 17:05:53 -05:00
WillLillis
5208299bbb
fix(cli): set language in cwd for all usages of highlight command
2025-12-27 17:05:53 -05:00
skewb1k
f96d518ebf
fix(cli): remove extra newline with --cst
...
Makes CST output consistent with other formats.
2025-12-24 15:06:48 +01:00
skewb1k
d5b82fbbab
fix(cli): remove extra indentation with --cst --no-ranges
2025-12-24 15:06:48 +01:00
Will Lillis
eacb95c85d
fix(cli): correct discrepancy with cst for --no-ranges
2025-12-16 21:34:03 -05:00
skewb1k
4ac2d5d276
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.
2025-12-14 21:34:50 -05:00
Christian Clason
98de2bc1a8
feat: start working on v0.27
...
* bump tree-sitter crates to 0.27.0
* bump tree-sitter-language to 0.1.7
2025-12-13 14:14:33 +01: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
WillLillis
ff255a2354
test: add coverage for new test aggregation method
2025-11-02 21:08:55 -05:00
WillLillis
fe67521b3d
refactor(cli)!: deprecate json flags in favor of json-summary
2025-11-02 21:08:55 -05:00
WillLillis
f02d7e7e33
feat(test): display test results in JSON format
2025-11-02 21:08:55 -05:00
WillLillis
6a8676f335
refactor(test): generalize printing of test diff keys and diffs
2025-11-02 21:08:55 -05:00
WillLillis
944386d25f
refactor(test): clean up test filtering logic
...
Also, only update the expected output of a case when it is skipped if
the `update` flag has been passed
2025-11-02 21:08:55 -05:00
Will Lillis
097c2d4f05
fix(cli): remove --emit=lib generate option
...
This also replaces the `--emit` option with an `--no-parser` flag. The
default value is false, meaning a parser is still generated by default.
2025-11-02 10:26:28 +01:00
WillLillis
b8f52210f9
perf: reduce needless allocations
2025-10-30 18:24:42 +01:00
WillLillis
ecc787e221
fix(test): correct language typo in test name
2025-10-30 18:24:42 +01:00
Christian Clason
6188010f53
build(deps): bump rquickjs to v0.10.0
2025-10-29 18:30:25 -04:00
WillLillis
a2f2b16acb
fix(xtask): require version argument for bump-version command
2025-10-24 18:13:59 -04:00
Will Lillis
87d778a1c6
fix(rust): apply Self usage in struct definition lint
2025-10-24 17:50:28 -04:00
Will Lillis
e344837e35
fix(rust): minor cleanup in generate code
2025-10-24 17:50:28 -04:00
dependabot[bot]
da5926d6f5
build(deps): bump the cargo group across 1 directory with 4 updates
...
Bumps the cargo group with 4 updates in the / directory: [anstyle](https://github.com/rust-cli/anstyle ), [cc](https://github.com/rust-lang/cc-rs ), [thiserror](https://github.com/dtolnay/thiserror ) and [widestring](https://github.com/VoidStarKat/widestring-rs ).
Updates `anstyle` from 1.0.11 to 1.0.13
- [Commits](https://github.com/rust-cli/anstyle/compare/v1.0.11...v1.0.13 )
Updates `cc` from 1.2.39 to 1.2.41
- [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.39...cc-v1.2.41 )
Updates `thiserror` from 2.0.16 to 2.0.17
- [Release notes](https://github.com/dtolnay/thiserror/releases )
- [Commits](https://github.com/dtolnay/thiserror/compare/2.0.16...2.0.17 )
Updates `widestring` from 1.2.0 to 1.2.1
- [Release notes](https://github.com/VoidStarKat/widestring-rs/releases )
- [Changelog](https://github.com/VoidStarKat/widestring-rs/blob/main/CHANGELOG.md )
- [Commits](https://github.com/VoidStarKat/widestring-rs/compare/v1.2.0...v1.2.1 )
---
updated-dependencies:
- dependency-name: anstyle
dependency-version: 1.0.13
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo
- dependency-name: cc
dependency-version: 1.2.41
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo
- dependency-name: thiserror
dependency-version: 2.0.17
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo
- dependency-name: widestring
dependency-version: 1.2.1
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo
...
Signed-off-by: dependabot[bot] <support@github.com>
2025-10-14 11:00:03 +02:00
Will Lillis
b3bc7701cd
refactor(generate): make AliasMap use BTreeMap over HashMap
2025-10-12 15:56:30 -04:00
Will Lillis
262f1782cc
fix(generate): ensure deterministic iteration order for symbol aliases
...
while constructing node-types.json
2025-10-12 15:56:30 -04:00
WillLillis
00d172bf9f
fix(generate): correct display of precedence for
...
`--report-states-for-rule`
2025-10-12 15:56:12 -04:00
Will Lillis
ae54350c76
fix(generate): Add missing fields to NodeInfoJson sorting
...
This ensures a deterministic ordering for node-types.json
2025-10-11 14:25:52 -04:00
Will Lillis
3355825a68
fix(cli): don't load languages for build command
2025-10-07 17:21:09 -04:00
Mihai-Daniel Potirniche
0f5ccc4aba
Fix typo
2025-10-04 12:12:39 -04:00
ObserverOfTime
0cf6e7c507
fix(cli): prevent crash when parsing stdin
...
When we are parsing stdin via a pipe or heredoc, the source count is 0
(unsigned) so the XML output crashes while trying to subtract from it.
2025-10-03 19:24:58 +03:00
Amaan Qureshi
92efd26380
fix(loader): allow parallel compilation on windows
2025-10-01 02:57:04 -04:00
Amaan Qureshi
24c8feba3e
fix(bindings): fix root detection on windows
2025-09-28 08:40:02 -04:00
Amaan Qureshi
122493b717
style(cli): appease clippy
2025-09-28 05:54:28 -04:00
Amaan Qureshi
4edcca9850
style(loader): appease clippy
2025-09-28 05:54:28 -04:00
Amaan Qureshi
00e394f0f1
feat(lib)!: disallow whitespace in supertype syntax
2025-09-28 00:56:30 -04:00
Amaan Qureshi
341665824c
fix(lib): validate subtypes in supertype queries
2025-09-28 00:56:30 -04:00
WillLillis
12a6400c63
fix(test): trim trailing carriage return unconditionally in test
...
contents
2025-09-27 19:28:03 -04:00
ObserverOfTime
d86e1b4f5e
feat(bindings): generate zig fingerprint
2025-09-26 18:02:35 -04:00
Amaan Qureshi
5f7806f99e
feat: add option to disable parse state optimizations
2025-09-26 02:40:53 -04:00
WillLillis
a9bce7c18a
fix(generate): return error when generated grammar's state count exceeds
...
the maximum allowed value.
Co-authored-by: Amaan Qureshi <git@amaanq.com>
2025-09-25 22:29:04 -05:00
WillLillis
335bfabc60
feat(cli): include filenames in parsing xml output
2025-09-25 22:28:31 -05:00
Amaan Qureshi
90ee433c9b
fix(lib): account for unreachable patterns with children
...
Co-authored-by: Will Lillis <will.lillis24@gmail.com>
2025-09-23 17:17:45 -04:00
Amaan Qureshi
021d9c447d
test: clean up async boundary test
2025-09-23 01:19:14 -04:00
Amaan Qureshi
ce56465197
test(rust): prefer asserts to panics
2025-09-23 01:19:14 -04:00
Amaan Qureshi
b0cdab85fe
refactor(rust): avoid panics where possible
2025-09-23 01:19:14 -04:00
Amaan Qureshi
47c9256976
test: clean up parser hang test
2025-09-23 01:19:14 -04:00
Max Brunsfeld
e3294c3faf
build: bump tree-sitter-language to 0.1.5
2025-09-22 15:54:15 -04:00
Amaan Qureshi
95ab17e444
build: define _DARWIN_C_SOURCE
2025-09-22 19:50:43 +03:00
WillLillis
92678f0fc5
fix(rust): pass correct fd to C lib's ts_tree_print_dot_graph
...
Co-authored-by: Amaan Qureshi <git@amaanq.com>
2025-09-21 18:21:57 -04:00
ObserverOfTime
1be51c2129
chore: upgrade emscripten to 4.0.15
2025-09-21 16:28:08 -04:00
Amaan Qureshi
c89e40f008
fix(generate): fix builds outside of crate workspace
2025-09-21 02:34:10 -04:00
Amaan Qureshi
d543e2e50b
refactor(loader): use the logger
2025-09-21 01:53:22 -04:00
Amaan Qureshi
e5c11d9efc
refactor(config): use the logger
2025-09-21 01:53:22 -04:00
ObserverOfTime
d13657c40c
refactor(generate): use the logger
...
Co-authored-by: Amaan Qureshi <git@amaanq.com>
2025-09-21 01:53:22 -04:00
ObserverOfTime
804ef22075
refactor(cli): use the logger
...
Co-authored-by: Amaan Qureshi <git@amaanq.com>
2025-09-21 01:53:22 -04:00
Amaan Qureshi
fa28b430af
feat(bindings): update Zig bindings to use Language.fromRaw
2025-09-21 01:42:26 -04:00
Amaan Qureshi
311585d304
refactor!: rename stage flag to emit
2025-09-20 22:35:23 -04:00
ObserverOfTime
60c3bed6a4
fix(loader): install arm64 wasi-sdk on arm64 windows
2025-09-20 18:11:48 -04:00
ObserverOfTime
6dfa79013f
feat(loader): respect NM env var
2025-09-20 18:08:07 -04:00
Amaan Qureshi
0ca8fe8c12
feat(playground): add export flag
2025-09-19 17:55:28 -04:00
Amaan Qureshi
0cf217179c
feat(rust): add reborrow method to ParseOptions
2025-09-19 17:40:35 -04:00
Amaan Qureshi
a69367f739
feat: add API for editing points and ranges
2025-09-19 17:40:26 -04:00
Amaan Qureshi
074e991280
refactor: deduplicate allocation code in tests
2025-09-18 20:29:54 -04:00
Nia
f09dc3cf46
fix(wasm): fix alias map size computation
...
This fixes a crash where parsing with certain languages can lead to a crash due to how the alias map was allocated and laid out in wasm memory
2025-09-18 18:34:27 -04:00
ObserverOfTime
f222db57ce
fix(bindings): fix ESM errors in Node bindings
...
1. The module tries to call the native binary as a function.
Only `node-gyp-build` returns a function, so the call is moved there.
2. `node-types.json` is imported with outdated syntax.
Use import attributes which require Node 18.
3. The test does not properly catch import errors.
This is solved by moving the import inside the assertion.
2025-09-18 16:59:34 -04:00
Amaan Qureshi
22553b3372
feat: support compiling to wasm32-unknown-unknown
2025-09-17 04:57:49 -04:00
Will Lillis
46ea65c89b
refactor: remove url dependency
2025-09-17 04:31:53 -04:00
Will Lillis
6a28a62369
test: add safety checks to ensure langauge version constants are kept in
...
sync
The generate crate defines the `LANGUAGE_VERSION` constant separately
from the TREE_SITTER_LANGUAGE_VERSION definition in `api.h`.
2025-09-17 02:58:31 -04:00
Amaan Qureshi
317e2e74c2
Revert "feat(generate): allow more characters for keywords"
...
This reverts commit 0269357c5a .
2025-09-17 02:19:29 -04:00
Amaan Qureshi
04cfee5664
build(rust): remove unused dependencies
2025-09-16 18:57:06 -04:00
Amaan Qureshi
57c6105897
fix(generate): remove warning message for CJS grammars
2025-09-16 16:42:17 -04:00
Christian Clason
339bad2de4
feat(generate): don't embed tree-sitter CLI version in parser
...
Problem: embedding the CLI version used to generate a parser triggers CI
failures on all grammars for every (patch) release of tree-sitter, even
if there are no actual parser changes.
Solution: do not embed the version; instead rely on whether the update
introduces actual (presumably desirable) changes in the parser to
indicate regeneration is necessary.
2025-09-16 19:21:34 +02:00
Will Lillis
31ff62445b
fix(generate): assert there is a Nfa last state before retrieving it
...
Prevents unsigned subtraction wrapping antics in release builds
2025-09-16 03:51:13 -04:00
Will Lillis
c54bc441ba
fix(test): include failing test's path in error message
...
This helps when an empty folder was left behind in the corpus directory
2025-09-16 03:51:13 -04:00
Will Lillis
070b91628f
fix(rust): appease clippy
2025-09-16 03:51:13 -04:00
bbb651
9593737871
build(generate): remove tree-sitter dependency
...
It was only used to share two constants, and balloons its dependencies.
This also makes `generate_parser_for_grammar` work in wasm.
(Tested in `wasm32-wasip2` in wasmtime with the json grammar,
`wasm32-unknown-unknown` running in the same setup exited successfully
so I'm pretty confident it works as well)
Co-authored-by: Amaan Qureshi <contact@amaanq.com>
2025-09-16 03:48:30 -04:00
Amaan Qureshi
0269357c5a
feat(generate): allow more characters for keywords
2025-09-16 03:01:56 -04:00
Amaan Qureshi
fd68c02072
fix(init): add missing quote in replacement
2025-09-16 02:24:11 -04:00
Amaan Qureshi
39a67eec61
feat: migrate to ESM
2025-09-16 02:24:11 -04:00
Amaan Qureshi
eedbec8f24
feat: remove the need of an external JS runtime for processing grammars
2025-09-16 02:24:11 -04:00
ObserverOfTime
3d26b8e500
feat(bindings): use CapsuleType in Python stub
2025-09-14 19:00:25 -04:00
Amaan Qureshi
b863b16454
fix(xtask): make building the wasm stdlib work again
...
Co-authored-by: Will Lillis <will.lillis24@gmail.com>
2025-09-13 22:29:47 -04:00
RedCMD
ca8b944b53
build(web): fix cjs build
2025-09-13 05:51:42 -04:00
Amaan Qureshi
d60ef9ad0a
feat(rust)!: remove deprecated functions
2025-09-12 02:50:30 -04:00
Amaan Qureshi
917895e6a3
build(nix): build cli with all features
2025-09-11 19:33:52 -04:00
Antonin Delpeuch
6e53dcc8e1
fix(playground): add missing <html> tag
2025-09-11 17:06:34 -04:00
ObserverOfTime
56325d2a3b
chore: copy license to all packages
2025-09-11 03:12:35 -04:00
kilo52
d1160cb820
build(cmake)!: move CMakeLists.txt to the source root
2025-09-11 01:59:37 -04:00
Daniel Müller
937dcf5fd1
feat(rust)!: use ops::ControlFlow as parse and query progress return value
...
Instead of returning an undocumented boolean flag, use a
core::ops::ControlFlow object. At the expense of being a bit more
verbose, this is a type that should be self-explanatory in the context
of a callback, as an indication of whether to continue processing or
stop.
2025-09-11 01:59:21 -04:00
Amaan Qureshi
3c1f02a7f9
docs(playground): show toast when tree is copied
2025-09-09 03:13:35 -04:00
Amaan Qureshi
907c7bc80b
docs(playground): add version information in playground
...
Co-authored-by: Will Lillis <will.lillis24@gmail.com>
2025-09-09 03:13:35 -04:00
Amaan Qureshi
40a8678989
refactor(xtask): don't use docker to run wasi-sdk's clang
...
This now relies on TREE_SITTER_WASI_SDK_PATH being set
2025-09-09 03:13:35 -04:00
faukah
e4e643086b
refactor: rework nix flake
...
Co-authored-by: Amaan Qureshi <amaanq12@gmail.com>
2025-09-09 03:03:35 -04:00
Amaan Qureshi
e9e4316569
feat(xtask): update nix
2025-09-09 04:45:57 +02:00
Amaan Qureshi
0719bd6ffb
feat(xtask): bump versions in package-lock.json
2025-09-09 04:45:57 +02:00
Amaan Qureshi
8d6d19de1b
build: add package-lock.json for npm cli package
2025-09-09 04:45:57 +02:00
Shadaj Laddad
27e5147a5f
feat(generate): place file APIs behind a feature flag
2025-09-07 11:44:09 +03:00
Amaan Qureshi
17854168d9
feat(nix): add cross compilation support
2025-09-04 05:00:14 -04:00
Amaan Qureshi
d287acfcc0
refactor(nix): remove openssl dependency
2025-09-04 05:00:14 -04:00
Amaan Qureshi
3eabba637c
fix(xtask): run all tests with the --all flag
2025-09-04 04:22:32 -04:00
Amaan Qureshi
1d0ebd1065
fix(rust): do not interpret readme doc comments as doc tests
2025-09-04 04:22:32 -04:00
Will Lillis
5fd818babe
fix(generate): use correct state id when adding terminal states to
...
non terminal extras
2025-09-04 04:15:51 -04:00
Will Lillis
310c0b86a7
fix(generate): return error when single state transitions have
...
indirectly recursive cycles.
This can cause infinite loops in the parser near EOF.
Co-authored-by: Amaan Qureshi <amaanq12@gmail.com>
2025-09-04 00:59:44 -04:00
Will Lillis
cc5463ad44
fix(test): improve readability of corpus error message mismatch
2025-09-04 00:59:44 -04:00
Amaan Qureshi
f95a52df4a
fix(xtask): reset fixtures when checking out new version
2025-09-04 00:59:01 -04:00
Amaan Qureshi
3b0273fc61
build: bump emscripten to 4.0.12
2025-09-04 00:59:01 -04:00
Amaan Qureshi
f44cbd407f
perf(xtask); check out the tag directly for fixtures
2025-09-03 02:43:32 -04:00
Amaan Qureshi
4559ec51f7
fix(loader): correct logic when downloading wasi-sdk
2025-09-02 16:07:37 -04:00
Amaan Qureshi
5cd6e747a0
refactor(xtask): use the git binary to perform git operations
2025-09-02 16:07:37 -04:00
Amaan Qureshi
5263cd0706
refactor(loader): use the tar binary to extract the wasi sdk
2025-09-02 16:07:37 -04:00
Amaan Qureshi
4535ea6aaa
refactor(loader): use the curl binary instead of ureq to download wasi-sdk
2025-09-02 16:07:37 -04:00
ObserverOfTime
6e8ad7e5cc
fix(xtask): update paths in bump-version
...
and remove the toml dependency
2025-09-02 14:22:01 -04:00
Amaan Qureshi
22d658518b
feat(loader): allow specifying the wasi sdk path
2025-09-01 23:14:20 -04:00
Amaan Qureshi
f2e71ec95c
fix(xtask): restore stripped sourcesContent when building the wasm module
2025-09-01 23:14:20 -04:00
Amaan Qureshi
da61d7cac5
feat: add nix flake
2025-09-01 22:48:37 -04:00
Boris Verkhovskiy
9b23cd5394
feat: use compileStreaming when loading wasm parsers
2025-09-01 22:08:20 -04:00
Will Lillis
a12a79b366
fix(cli): canonicalize --lib-path arguments
...
This fixes an issue where "./foo.so" would would work but "foo.so" would not.
2025-08-31 01:10:43 -04:00
Will Lillis
62f93e221d
feat(test): pin fixture grammars to specific commits
2025-08-31 01:05:42 -04:00
ObserverOfTime
07986471b3
feat(xtask): automate edits to emscripten generated d.ts
2025-08-30 18:14:42 -04:00
ObserverOfTime
0c5cdcb161
fix(xtask): add heap symbols to emscripten exported methods
2025-08-30 18:14:42 -04:00
ObserverOfTime
90bdd63a71
fix(npm): add directory to repository fields
...
and remove non-existent "main" entry point
2025-08-30 17:16:25 -04:00
ObserverOfTime
d188bf6352
chore: remove emscripten xtask & workflow
2025-08-30 16:52:22 -04:00
ObserverOfTime
ca27fb5d43
fix(cli): fix DSL type declarations
2025-08-30 16:47:47 -04:00
ObserverOfTime
e6fe91e2e7
build(zig): support wasmtime in more archs
2025-08-30 16:47:47 +03:00
ObserverOfTime
b57b7213a9
fix(rust): make some methods const
...
Addresses clippy::missing-const-for-fn
2025-08-30 16:47:47 +03:00
ObserverOfTime
88e323ca43
fix(xtask): commit Cargo.lock in upgrade_wasmtime
...
And add missing zig dependency update
2025-08-30 16:47:47 +03:00
Will Lillis
ac171eb280
fix(generate): warn users when extra rule can lead to parser hang
...
When a *named* rule in the extras is able to match the empty string,
parsing can hang in certain situations (i.e. near EOF).
2025-08-29 21:38:41 -04:00
Boris Verkhovskiy
a1211d3fbd
feat(web): inline C source code in source map
2025-08-29 14:26:27 -04:00
ObserverOfTime
0be215e152
fix(bindings): properly detect MSVC compiler
2025-08-29 13:32:55 +03:00
Amaan Qureshi
8387101a61
fix(lib): allow error nodes to match when they are child nodes
2025-08-28 18:02:47 -04:00
Amaan Qureshi
b7f36a13ba
fix(lib): check if an ERROR node is named before assuming it's the builtin error node
2025-08-28 17:13:57 -04:00
Amaan Qureshi
1152bf4c9d
fix(cli): show rule names for rules with metadata
2025-08-28 13:28:37 -04:00
ObserverOfTime
107bd800b0
fix(bindings): improve zig dependency fetching logic
...
Currently, including a tree-sitter parser as a dependency in a zig
project and running `zig build test` on the project will fetch the
zig-tree-sitter dependency declared by the parser. This is a problem
because (a) consumers may not want this dependency for whatever reason
and (b) due to how often Zig breaks everything and how scarcely most
tree-sitter parsers are updated, the zig-tree-sitter version pinned
by the parser module will often be outdated and broken.
The workaround I used was taken from https://ziggit.dev/t/11234
2025-08-28 10:31:24 +03:00
ObserverOfTime
e67f9f8f7a
fix(bindings): add tree-sitter as npm dev dependency
...
npm is supposed to automatically install peer dependencies since v7
but sometimes it's not doing it and we need this dependency for tests
2025-08-27 19:34:09 +03:00
Quentin LE DILAVREC
79177a1cd5
fix(rust): EqCapture accepted cases where number of captured nodes differed by one
...
Problem: When using alternations, the `#eq?` predicate does not always use the same capture name.
Solution: Iterate the left and right captured nodes more independently.
2025-08-27 10:25:29 +02:00
ObserverOfTime
eb5ad7eb26
feat(playground): add a button to copy the tree
...
Co-Authored-By: Firas al-Khalil <firasalkhalil@gmail.com>
2025-08-25 10:21:48 +03:00
ObserverOfTime
4602e60c1b
refactor(playground): move style to head
2025-08-25 10:21:48 +03:00
ObserverOfTime
1c640ac2c3
fix(cli): correct resource paths
2025-08-25 10:21:48 +03:00
John-Philip Taylor
10f5a42fd7
feat(cli): Version updates ( #4179 )
...
- `version` on its own displays the current version
- `version --bump patch` bumps the patch version
- `version --bump minor` bumps the minor version
- `version --bump major` bumps the major version
- `version 1.2.3` bumps the version directly (existing behaviour)
All flavours of version bump displays a string in the form:
`Bumping version 1.2.3 to 4.5.6`
2025-08-24 00:53:41 -04:00
ObserverOfTime
88e0b4cea4
docs: change WASM/wasm to Wasm
...
That is the official capitalisation.
2025-08-21 09:56:32 +03:00
dependabot[bot]
7bc8f76667
build(deps): bump the cargo group with 5 updates
...
Bumps the cargo group with 5 updates:
| Package | From | To |
| --- | --- | --- |
| [anyhow](https://github.com/dtolnay/anyhow ) | `1.0.98` | `1.0.99` |
| [cc](https://github.com/rust-lang/cc-rs ) | `1.2.32` | `1.2.33` |
| [clap](https://github.com/clap-rs/clap ) | `4.5.44` | `4.5.45` |
| [thiserror](https://github.com/dtolnay/thiserror ) | `2.0.12` | `2.0.15` |
| [ureq](https://github.com/algesten/ureq ) | `3.0.12` | `3.1.0` |
Updates `anyhow` from 1.0.98 to 1.0.99
- [Release notes](https://github.com/dtolnay/anyhow/releases )
- [Commits](https://github.com/dtolnay/anyhow/compare/1.0.98...1.0.99 )
Updates `cc` from 1.2.32 to 1.2.33
- [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.32...cc-v1.2.33 )
Updates `clap` from 4.5.44 to 4.5.45
- [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.44...clap_complete-v4.5.45 )
Updates `thiserror` from 2.0.12 to 2.0.15
- [Release notes](https://github.com/dtolnay/thiserror/releases )
- [Commits](https://github.com/dtolnay/thiserror/compare/2.0.12...2.0.15 )
Updates `ureq` from 3.0.12 to 3.1.0
- [Changelog](https://github.com/algesten/ureq/blob/main/CHANGELOG.md )
- [Commits](https://github.com/algesten/ureq/compare/3.0.12...3.1.0 )
---
updated-dependencies:
- dependency-name: anyhow
dependency-version: 1.0.99
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo
- dependency-name: cc
dependency-version: 1.2.33
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo
- dependency-name: clap
dependency-version: 4.5.45
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo
- dependency-name: thiserror
dependency-version: 2.0.15
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo
- dependency-name: ureq
dependency-version: 3.1.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: cargo
...
Signed-off-by: dependabot[bot] <support@github.com>
2025-08-19 10:26:40 +02:00
ObserverOfTime
0bb43f7afb
fix(playground): scroll with vanilla JS
...
jQuery must burn in fire.
2025-08-14 11:03:52 +03:00
Andrey L.
f9f7ae0850
fix(bindings): make npm repository field an object
2025-08-13 22:54:37 +03:00
ObserverOfTime
d45642c345
fix(bindings): don't ignore lockfiles
2025-08-13 22:51:12 +03:00
Will Lillis
3a47bc4435
fix(cli): escape delimiters '"' and '`' in cst node text
2025-08-11 22:39:12 -04:00
Will Lillis
3294b04436
fix(cli): remove trailing whitespace in cst print
2025-08-10 14:52:25 -04:00
Will Lillis
6f7f9a3869
refactor(test): replace long tuples with structs
2025-08-10 14:52:25 -04:00
Will Lillis
1704c604bf
feat(test): allow cst as expected output of test case
2025-08-10 14:52:25 -04:00
Will Lillis
21b38004da
fix(rust): adapt to new nightly iterator lints
2025-08-10 13:28:52 -04:00
Will Lillis
aed8b8b32c
feat(cli): rebuild parsers by default when --grammar-path is passed.
2025-08-10 13:28:52 -04:00
Will Lillis
1562b719d2
feat(cli): add --rebuild flag to query, highlight, and tags commands
2025-08-10 13:28:52 -04:00
Will Lillis
e749a97f9f
fix(rust): make String clones more explicit
2025-08-09 16:02:28 -04:00
Will Lillis
3d9f4d1bd3
fix(rust): remove redundant String clones
2025-08-09 16:02:28 -04:00
ObserverOfTime
9f2dd2f377
fix(bindings): fix clean makefile target
2025-08-09 14:41:22 +03:00
Ronald T. Casili
d87921bb9c
fix(bindings): update zig template files ( #4637 )
2025-08-09 10:18:07 +03:00
ObserverOfTime
f7838748df
fix(cli): drop homepage link from config
...
We don't actually use this currently and the vast majority of grammars
don't have a homepage other than the repository itself.
2025-08-09 10:14:17 +03:00
ObserverOfTime
7e7e376046
refactor(cli): conditional assignment consistency
2025-08-08 10:53:57 +03:00
ObserverOfTime
bbec252c51
refactor(cli): drop unused function
2025-08-08 10:53:57 +03:00
ObserverOfTime
9d619d6fdc
fix(bindings): use custom class name
2025-08-08 10:53:57 +03:00
dependabot[bot]
2368af52ea
build(deps): bump the cargo group with 5 updates
...
Bumps the cargo group with 5 updates:
| Package | From | To |
| --- | --- | --- |
| [cc](https://github.com/rust-lang/cc-rs ) | `1.2.30` | `1.2.31` |
| [clap](https://github.com/clap-rs/clap ) | `4.5.41` | `4.5.42` |
| [serde_json](https://github.com/serde-rs/json ) | `1.0.141` | `1.0.142` |
| [notify](https://github.com/notify-rs/notify ) | `8.1.0` | `8.2.0` |
| [notify-debouncer-full](https://github.com/notify-rs/notify ) | `0.5.0` | `0.6.0` |
Updates `cc` from 1.2.30 to 1.2.31
- [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.30...cc-v1.2.31 )
Updates `clap` from 4.5.41 to 4.5.42
- [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.41...clap_complete-v4.5.42 )
Updates `serde_json` from 1.0.141 to 1.0.142
- [Release notes](https://github.com/serde-rs/json/releases )
- [Commits](https://github.com/serde-rs/json/compare/v1.0.141...v1.0.142 )
Updates `notify` from 8.1.0 to 8.2.0
- [Release notes](https://github.com/notify-rs/notify/releases )
- [Changelog](https://github.com/notify-rs/notify/blob/main/CHANGELOG.md )
- [Commits](https://github.com/notify-rs/notify/compare/notify-8.1.0...notify-8.2.0 )
Updates `notify-debouncer-full` from 0.5.0 to 0.6.0
- [Release notes](https://github.com/notify-rs/notify/releases )
- [Changelog](https://github.com/notify-rs/notify/blob/main/CHANGELOG.md )
- [Commits](https://github.com/notify-rs/notify/compare/debouncer-full-0.5.0...debouncer-full-0.6.0 )
---
updated-dependencies:
- dependency-name: cc
dependency-version: 1.2.31
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo
- dependency-name: clap
dependency-version: 4.5.42
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo
- dependency-name: serde_json
dependency-version: 1.0.142
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo
- dependency-name: notify
dependency-version: 8.2.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: cargo
- dependency-name: notify-debouncer-full
dependency-version: 0.6.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: cargo
...
Signed-off-by: dependabot[bot] <support@github.com>
2025-08-05 09:27:17 +02:00
Will Lillis
d641249f85
feat(cli): include language name in dump-languages output
2025-08-03 14:34:04 -04:00
Will Lillis
346080aad2
refactor(loader): replace replace_dashes_with_underscores with rust std lib
2025-08-03 14:34:04 -04:00
Will Lillis
acfeed006a
feat(cli): allow users to specify dynamic libraries directly for
...
parse, query, test, and fuzz subcommands
2025-08-03 14:34:04 -04:00
Will Lillis
5e1daf0c41
fix(rust)!: take u32 for index parameter to Node::{child, named_child}
...
Co-authored-by: Ye Sijun <junnplus@gmail.com>
2025-08-03 12:58:53 -04:00
Will Lillis
d3c2fed4b3
fix(rust): correct indices for Node::utf16_text
2025-08-02 16:03:55 -04:00
Will Lillis
9ced6172de
fix(cli): improve error message when language in list can't be found ( #4643 )
...
Problem: When multiple input paths are provided to the `parse` command (a la `tree-sitter parse --paths [...]`), if a language can't be found for one of the paths, it can be a little unclear *which* path caused the failure. The loader *can* fail with `Failed to load language for file name <foo.bar>`, but this isn't guaranteed.
Solution: Attach some additional context in the case where multiple paths can be provided, displaying the problematic path on failure.
2025-08-02 11:52:54 +02:00
Pieter Goetschalckx
07b4c8d05d
fix(cli): add reserved type declarations and schema
...
- Use `globalThis` for `reserved` function export
- Add `reserved` field and function to DSL declarations
- Add `reserved` rule to grammar schema
2025-08-02 12:01:41 +03:00