Will Lillis
0f949168ef
fix(cli): display "N/A" in parse stats where appropriate when no parsing
...
took place
2025-04-06 09:45:50 -04:00
Will Lillis
71941d8bda
fix(highlight): account for multiple rows in highlight testing assertions
2025-04-06 09:45:50 -04:00
WillLillis
521da2b0a7
fix(rust): address new nightly lint for pointer comparisons
2025-03-26 08:58:50 +01:00
Christian Clason
37a9ecd5b7
build(deps): update emscripten to v4.0.5
2025-03-25 15:18:44 +01:00
dependabot[bot]
d05e4ae7ff
build(deps): bump the cargo group across 1 directory with 8 updates
...
Bumps the cargo group with 8 updates in the / directory:
| Package | From | To |
| --- | --- | --- |
| [cc](https://github.com/rust-lang/cc-rs ) | `1.2.16` | `1.2.17` |
| [clap_complete](https://github.com/clap-rs/clap ) | `4.5.46` | `4.5.47` |
| [git2](https://github.com/rust-lang/git2-rs ) | `0.20.0` | `0.20.1` |
| [log](https://github.com/rust-lang/log ) | `0.4.26` | `0.4.27` |
| [once_cell](https://github.com/matklad/once_cell ) | `1.21.0` | `1.21.1` |
| [tempfile](https://github.com/Stebalien/tempfile ) | `3.18.0` | `3.19.1` |
| [widestring](https://github.com/starkat99/widestring-rs ) | `1.1.0` | `1.2.0` |
| [ureq](https://github.com/algesten/ureq ) | `3.0.8` | `3.0.10` |
Updates `cc` from 1.2.16 to 1.2.17
- [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.16...cc-v1.2.17 )
Updates `clap_complete` from 4.5.46 to 4.5.47
- [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.46...clap_complete-v4.5.47 )
Updates `git2` from 0.20.0 to 0.20.1
- [Changelog](https://github.com/rust-lang/git2-rs/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/git2-rs/compare/git2-0.20.0...git2-0.20.1 )
Updates `log` from 0.4.26 to 0.4.27
- [Release notes](https://github.com/rust-lang/log/releases )
- [Changelog](https://github.com/rust-lang/log/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/log/compare/0.4.26...0.4.27 )
Updates `once_cell` from 1.21.0 to 1.21.1
- [Changelog](https://github.com/matklad/once_cell/blob/master/CHANGELOG.md )
- [Commits](https://github.com/matklad/once_cell/compare/v1.21.0...v1.21.1 )
Updates `tempfile` from 3.18.0 to 3.19.1
- [Changelog](https://github.com/Stebalien/tempfile/blob/master/CHANGELOG.md )
- [Commits](https://github.com/Stebalien/tempfile/compare/v3.18.0...v3.19.1 )
Updates `widestring` from 1.1.0 to 1.2.0
- [Release notes](https://github.com/starkat99/widestring-rs/releases )
- [Changelog](https://github.com/VoidStarKat/widestring-rs/blob/main/CHANGELOG.md )
- [Commits](https://github.com/starkat99/widestring-rs/compare/v1.1.0...v1.2.0 )
Updates `ureq` from 3.0.8 to 3.0.10
- [Changelog](https://github.com/algesten/ureq/blob/main/CHANGELOG.md )
- [Commits](https://github.com/algesten/ureq/compare/3.0.8...3.0.10 )
---
updated-dependencies:
- dependency-name: cc
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo
- dependency-name: clap_complete
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo
- dependency-name: git2
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo
- dependency-name: log
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo
- dependency-name: once_cell
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo
- dependency-name: tempfile
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: cargo
- dependency-name: widestring
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: cargo
- dependency-name: ureq
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo
...
Signed-off-by: dependabot[bot] <support@github.com>
2025-03-25 12:24:08 +01:00
WillLillis
f0e7ac2f18
chore(cli): remove deprecated --no-bindings flag from generate command
2025-03-16 11:04:29 +01:00
Peter Oliver
17471bdfcc
fix(build): make install shouldn’t fail when a parser bundles no queries ( #4284 )
2025-03-14 09:37:51 +01:00
Christian Clason
07a1b7fc00
fix(build): bump version to 0.26.0
...
After a release, `master` branch should be bumped to the next _minor_ version.
2025-03-12 14:52:09 +01:00
dependabot[bot]
12aff698b9
build(deps): bump emscripten to 4.0.4
2025-03-12 09:30:11 +00:00
Riley Bruins
cc3994928c
feat(lib): quote invalid nodes, fields, and captures
2025-03-12 10:28:57 +01:00
WillLillis
efd212ee46
fix(cli): properly escape invisible characters in parse error output
2025-03-11 17:27:12 -04:00
WillLillis
11071ed682
fix(rust): adapt to new nightly lint
2025-03-06 09:32:21 +01:00
Max Brunsfeld
066fd77d39
Fix cases where error recovery could infinite loop ( #4257 )
...
* Rename corpus test functions to allow easy filtering by language
* Use usize for seed argument
* Avoid retaining useless stack versions when reductions merge
We found this problem when debugging an infinite loop that happened
during error recovery when using the Zig grammar. The large number of
unnecessary paused stack versions were preventing the correct recovery
strategy from being tried.
* Fix leaked lookahead token when reduction results in a merged stack
* Enable running PHP tests in CI
* Fix possible infinite loop during error recovery at EOF
* Account for external scanner state changes when detecting changed ranges in subtrees
2025-03-04 13:50:56 -08:00
polazarus
8138dba800
fix(generate): mark TSCharacterRange as static ( #4255 )
...
Problem: Linking different parsers into one executable fails due to duplicate symbols.
Solution: Mark `TSCharacterRange` as `static` when generating parsers.
fixes #4209
2025-03-04 15:26:13 +01:00
Yuri Astrakhan
b749c02eb5
Mark all format-like macros for Clippy
...
See https://doc.rust-lang.org/nightly/clippy/attribs.html#clippyformat_args
Ensure that usage of the macros with `format!`-like parameters will be validated by Clippy
2025-03-03 02:16:23 -05:00
WillLillis
998fb34d15
fix(test): update expected tree-sitter-rust supertypes
2025-03-02 16:37:03 -05:00
WillLillis
cb30ec5b17
fix(rust): adapt to some new nightly lints
2025-03-02 16:37:03 -05:00
Antonin Décimo
f0571b1e33
feat: Windows support using MinGW-w64 ( #4201 )
...
Building tree-sitter on Windows within a Cygwin or MSYS2 environment
for MinGW-w64 targets should work. As there's no configure-like step,
the tools have to be specified with:
make CC=x86_64-w64-mingw32-gcc \
AR=x86_64-w64-mingw32-ar \
STRIP=x86_64-w64-mingw32-strip
Useful reference:
[How to build and use DLLs on Windows](https://nullprogram.com/blog/2021/05/31/ )
This commit doesn't tag public functions with dllexport or
dllimport. This results in exporting non-static functions visible
between translation units, and generating slightly less efficient code
for calling exported functions from the DLL.
This commit doesn't include support to build libtree-sitter with MSVC or
clang-cl, but generates a libtree-sitter.lib file for MSVC/clang-cl
consumers.
2025-02-12 16:31:06 -08:00
Amaan Qureshi
a40265cbeb
refactor(web): rename tree-sitter.js to web-tree-sitter.js
...
This is not breaking for consumers of the web bindings, nor the
playground as both filenames will be kept in the .github.io repo
2025-02-11 22:56:50 -05:00
Amaan Qureshi
74d7ca8582
fix(rust): adapt to new clippy lints
2025-02-08 13:15:56 -05:00
Amaan Qureshi
f5afe475de
build: bump version to 0.25.1
2025-02-02 02:07:36 -05:00
Amaan Qureshi
eed662df98
fix(bindings): correct Zig bindings to expose a language function
...
Instead of having users declare the extern function themselves, they can
pass in the language to `Language.create` in the zig bindings. If they
really want, they can always opt into the `extern fn tree_sitter_LANG()
*const ts.Language` approach.
2025-02-02 02:07:36 -05:00
Riley Bruins
9ad096ef22
fix(lib): prevent finished_tree assertion failure
...
**Problem:** When resetting the parser during subtree balancing, an
error is thrown:
```
parser.c:2198: ts_parser_parse: Assertion `self->finished_tree.ptr' failed.
```
**Solution:** Reset `canceled_balancing` to false in
`ts_parser_reset()`.
2025-02-01 16:19:14 -05:00
ObserverOfTime
c2221f2732
feat(cli): specify abi version via env var
2025-02-01 13:57:53 -05:00
Amaan Qureshi
16aaed78ae
build: update authors
2025-01-31 21:11:10 -05:00
Amaan Qureshi
dc64bb5395
chore: adapt to latest clippy lints
2025-01-31 20:41:11 -05:00
ObserverOfTime
51acdf9723
feat(bindings)!: update swift bindings
2025-01-31 10:16:01 -05:00
ObserverOfTime
1b3a9a4563
chore(bindings): include license file in crate
2025-01-31 16:22:25 +02:00
ObserverOfTime
032af925fc
build(cli): explicitly include files
2025-01-28 19:30:43 -05:00
Gabriel Holodak
f5e9680b75
fix(cli): propagate error flag in parse summary
2025-01-28 18:17:31 -05:00
Amaan Qureshi
2cf18f5ac2
build: bump dependencies
2025-01-26 14:15:01 -05:00
Amaan Qureshi
959f096a89
feat(generate): defer to ABI 14 if tree-sitter.json doesn't exist, rather than hard failing
2025-01-26 13:12:58 -05:00
Amaan Qureshi
016dd7afbf
feat(bindings): use cc 1.2 for Rust
2025-01-26 13:12:58 -05:00
Amaan Qureshi
4940d2c29b
fix(cli): correct traversal behavior for finding error nodes
2025-01-26 01:10:01 -05:00
Amaan Qureshi
4b6723192e
refactor(cli): replace embedded xterm colors file with ansi_colours
2025-01-25 17:20:18 -05:00
Amaan Qureshi
c01bf6ea4a
fix(cli): minor discrepancies with pretty printer
2025-01-25 03:47:26 -05:00
ObserverOfTime
5cfeba9c0d
feat(bindings): add opt-in zig bindings
2025-01-25 03:47:19 -05:00
Amaan Qureshi
46f8d1267c
feat(init): add a title field to grammars
2025-01-25 03:20:43 -05:00
Amaan Qureshi
4820d50336
fix(init): handle parser name replacements better when a kebab-case name is expected
2025-01-25 03:20:43 -05:00
Amaan Qureshi
bde94aed4d
feat(init): add a class-name field to grammars
2025-01-25 03:20:43 -05:00
Amaan Qureshi
6dbcfdf282
feat(init): add an optional funding field
2025-01-25 03:20:43 -05:00
Amaan Qureshi
4ab78ae00d
fix(init): don't prepend the default filetype with a .
2025-01-25 03:20:43 -05:00
Allan Clements
cda634a1c4
feat: add error information in the progress callback
...
This allows users to bail parsing if an error was *definitely* detected
using the progress callback, as all possible stack versions have a
non-zero error cost.
Co-authored-by: Amaan Qureshi <amaanq12@gmail.com>
2025-01-25 02:47:39 -05:00
Amaan Qureshi
8bb1448a6f
feat: add the semantic version to TSLanguage, and expose an API for retrieving it
2025-01-25 01:14:30 -05:00
Yuri Astrakhan
3e7721e554
chore: a few more minor lints
2025-01-23 00:10:16 -05:00
Amaan Qureshi
3e72969ce4
fix(playground): work around lack of module support in mdbook
2025-01-22 04:09:08 -05:00
Amaan Qureshi
692332ed1c
feat!: update playground with new web bindings
2025-01-21 12:36:15 -05:00
Amaan Qureshi
6941497c7a
test: improve test coverage
2025-01-21 01:17:03 -05:00
Yuri Astrakhan
9dbe165296
chore: a few minor lints
...
* do not use `&` for the format args as it cannot (yet) be optimized by the compiler
* a few format inlining
2025-01-21 00:57:58 -05:00
Yuri Astrakhan
48059b72a8
feat: remove lazy_static in favor of LazyLock
...
This switches to the built-in `std::sync::LazyLock`
2025-01-21 00:21:35 -05:00