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
Antonin Delpeuch
b787f31481
feat(bindings): generate in 2 steps via make/cmake ( #4646 )
...
This makes it possible to run `make` or `cmake --build` in grammar
repos where `grammar.json` hasn't been included, and still get the parser
compilation to work.
2025-08-02 11:57:29 +03:00
Will Lillis
62c53197c4
fix(cli): eliminate leak of version string
2025-07-29 20:44:48 -04:00
Antonin Delpeuch
8e90799e27
feat(generate): Support for --stage=json/parser/lib
2025-07-26 22:48:00 -04:00
Antonin Delpeuch
d810217e63
refactor: Expose node_types_json without generating C code
2025-07-26 22:48:00 -04:00
Antonin Delpeuch
8676eda663
feat: Only evaluate grammar.js to grammar.json
...
This adds an `--evaluate-only` option to `tree-sitter generate`
so that it only does the evaluation of `grammar.js` to
`src/grammar.json`, without continuing on with the generation of
`src/parser.c` and related files.
It's a follow-up to #4580 .
2025-07-26 22:48:00 -04:00
Robert Muir
8c61bbdb73
feat(bindings): improve python binding test
...
Previously, the test would not detect ABI incompatibilities.
2025-07-25 13:22:49 +03:00
ObserverOfTime
99988b7081
fix(bindings): improve python platform detection
2025-07-25 13:21:36 +03:00
ObserverOfTime
436162ae7c
fix(bindings): only include top level LICENSE file
...
Ref: tree-sitter/workflows#33
2025-07-25 13:21:14 +03:00
ObserverOfTime
c3012a7d8a
fix(bindings): use parser title in lib.rs description
2025-07-25 13:19:03 +03:00
Daniel Müller
f0165dee92
feat(rust): Add direct links to documentation
...
Make the URL to the documentation of the various crates known so that it
will be easier to click through to it from a crates.io search [0].
[0] https://doc.rust-lang.org/cargo/reference/manifest.html#the-documentation-field
2025-07-22 18:36:08 -04:00
Riley Bruins
dff828cdbe
fix(rust): prevent overflow in error message calculation
...
**Problem:** When encountering an invalid symbol at the beginning of the
file, the rust bindings attempt to index the character at position -1 of
the query source, which leads to an overflow and thus invalid character
index which causes a panic.
**Solution:** Bounds check the offset before performing the subtraction.
2025-07-22 09:51:28 +02:00
Christian Clason
c18d019db0
Revert "feat(generate): warn about unreachable variables ( #4567 )"
...
This reverts commit 25c601bd2f .
Reason: Too many false positives.
2025-07-22 09:49:26 +02:00