Christian Clason
4d7d35818b
build(deps): bump wasmtime to v36.0.6
2026-02-24 14:29:07 -05:00
dependabot[bot]
b75abfff09
build(deps): bump anyhow from 1.0.101 to 1.0.102 in the cargo group
...
Bumps the cargo group with 1 update: [anyhow](https://github.com/dtolnay/anyhow ).
Updates `anyhow` from 1.0.101 to 1.0.102
- [Release notes](https://github.com/dtolnay/anyhow/releases )
- [Commits](https://github.com/dtolnay/anyhow/compare/1.0.101...1.0.102 )
---
updated-dependencies:
- dependency-name: anyhow
dependency-version: 1.0.102
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo
...
Signed-off-by: dependabot[bot] <support@github.com>
2026-02-24 09:03:07 +01:00
Will Lillis
6ae37120b3
fix(cli): correct condition to perform __init__.py replacement for
...
`tree-sitter init -u` command
2026-02-23 22:53:06 -05:00
Will Lillis
5210ca0b51
fix(cli): update tree-sitter init -u for recent Package.swift
...
changes
2026-02-23 22:53:06 -05:00
Will Lillis
f1f493e59e
fix(cli): actually write updated Package.swift file
2026-02-23 22:53:06 -05:00
Amaan Qureshi
67f848cac9
loader: invalidate cached wasm toolchains on version mismatch
...
Previously, `get_existing_tool` checked only for the existence of
binaries in the cache directory without verifying their version, meaning bumping the version files had no effect until users manually deleted the cache directories. This commit writes a `.version` marker file after downloading and checks it on subsequent runs, removing stale caches automatically when the expected version changes.
2026-02-23 22:50:20 -05:00
Christian Clason
9b4577c6f2
feat(wasm): bump binaryen to v126
2026-02-22 17:21:20 +01:00
Christian Clason
eeebf706cb
feat(wasm): bump wasi-sdk to v30
2026-02-22 17:21:20 +01:00
Amaan Qureshi
787800dda6
cli(init): fix Package.swift scanner detection when used as a dependency
...
The template used `FileManager.default.fileExists(atPath: "src/scanner.c")` with a relative path, which resolves against the process cwd. When SwiftPM evaluates a dependency's manifest, the cwd is the consumer's directory, so the check returns `false` even when `scanner.c` exists, causing undefined symbol linker errors.
This commit uses `Context.packageDirectory`, which is available since `swift-tools-version:5.6`, to resolve the path against the package root. This does bump the minimum tools version from 5.3 to 5.6.
2026-02-22 10:55:16 -05:00
Christian Clason
e62bf4ee5f
ci: retrigger crates check on PR updates
2026-02-22 15:29:39 +01:00
dependabot[bot]
224598586c
build(deps): bump minimatch, eslint and eslint-plugin-jsdoc
...
Bumps [minimatch](https://github.com/isaacs/minimatch ) to 10.2.2 and updates ancestor dependencies [minimatch](https://github.com/isaacs/minimatch ), [eslint](https://github.com/eslint/eslint ) and [eslint-plugin-jsdoc](https://github.com/gajus/eslint-plugin-jsdoc ). These dependencies need to be updated together.
Updates `minimatch` from 3.1.2 to 10.2.2
- [Changelog](https://github.com/isaacs/minimatch/blob/main/changelog.md )
- [Commits](https://github.com/isaacs/minimatch/compare/v3.1.2...v10.2.2 )
Updates `eslint` from 9.39.2 to 10.0.1
- [Release notes](https://github.com/eslint/eslint/releases )
- [Commits](https://github.com/eslint/eslint/compare/v9.39.2...v10.0.1 )
Updates `eslint-plugin-jsdoc` from 50.2.4 to 62.7.0
- [Release notes](https://github.com/gajus/eslint-plugin-jsdoc/releases )
- [Commits](https://github.com/gajus/eslint-plugin-jsdoc/compare/v50.2.4...v62.7.0 )
---
updated-dependencies:
- dependency-name: minimatch
dependency-version: 10.2.2
dependency-type: indirect
- dependency-name: eslint
dependency-version: 10.0.1
dependency-type: indirect
- dependency-name: eslint-plugin-jsdoc
dependency-version: 62.7.0
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
2026-02-21 16:48:12 +01:00
dependabot[bot]
8e330c7f24
build(deps): bump ajv from 6.12.6 to 6.14.0 in /crates/cli/eslint
...
Bumps [ajv](https://github.com/ajv-validator/ajv ) from 6.12.6 to 6.14.0.
- [Release notes](https://github.com/ajv-validator/ajv/releases )
- [Commits](https://github.com/ajv-validator/ajv/compare/v6.12.6...v6.14.0 )
---
updated-dependencies:
- dependency-name: ajv
dependency-version: 6.14.0
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
2026-02-21 16:43:21 +01:00
Will Lillis
d0714e0828
docs: add basic information about creating releases
2026-02-21 15:59:32 +01:00
Will Lillis
cf98b9b61e
ci: add a dry-run workflow to test rust releases
2026-02-21 15:59:32 +01:00
lucasew
4e9fededff
fix(lib): cast NULL in ts_subtree_children macro
...
Explicitly casting NULL to (Subtree *) in the ternary expression ensures
type consistency. This resolves ambiguous type inference issues encountered
by strict static analysis tools and C-to-Go transpilers (like ccgo).
Signed-off-by: lucasew <lucas59356@gmail.com>
2026-02-21 01:37:03 -05:00
Will Lillis
034780a0c9
fix(generate): unsafe extern -> extern in rendered C parser
2026-02-20 21:40:23 -05:00
Christian Clason
a21ee02710
build(deps): bump wasmtime to v36.0.5 LTS
...
Wasmtime v34 introduced breaking ABI changes to `wasmtime_func_t` and
`wasmtime_table_t` structures. The `__private` field changed from
`size_t` to `void*`, requiring code updates to store complete
`wasmtime_func_t` structures instead of raw indices.
Changes:
- `BuiltinFunctionIndices`: `uint32_t` -> `wasmtime_func_t`
- `stdlib_fn_indices`: `uint32_t*` -> `wasmtime_func_t*`
- `FunctionDefinition.storage_location`: `uint32_t*` -> `void*`
- `get_builtin_extern()`: simplified to return stored func directly
- Lexer functions: use temp array for func storage, store table index
- Zero-initialize `builtin_fn_indices` so `store_id == 0` sentinel
reliably detects missing stdlib exports
- Free `lexer_funcs` on error paths in `ts_wasm_store_new`
- Remove stale `(uint32_t *)` casts from `lexer_definitions`
Co-Authored-By: Amaan Qureshi <git@amaanq.com>
Co-Authored-By: nzinfo <li.monan@gmail.com>
2026-02-19 23:40:40 -05:00
Sergey Reshetnikov
5e23ccaac2
fix(lib): add RedoxOS support to portable/endian.h
2026-02-18 16:36:15 +01:00
Sergey Reshetnikov
5784924c59
use provided by RedoxOS byte orders implementations
2026-02-18 16:36:15 +01:00
Will Lillis
256df9304f
rust: explicitly align CLI's encoding enum with constants from
...
tree_sitter::ffi
2026-02-18 01:54:20 -05:00
Will Lillis
27e1199387
feat(highlight)!: utf16 support
2026-02-18 01:54:20 -05:00
Amaan Qureshi
e4aacc9a91
loader: replace fs4 with std file locking
2026-02-18 00:59:34 -05:00
Amaan Qureshi
b8fcf27661
build(rust): update deps
2026-02-18 00:59:34 -05:00
Amaan Qureshi
ebd2a56b5d
treewide: add taplo config and reformat toml files
2026-02-18 00:59:34 -05:00
Amaan Qureshi
921af361cf
xtask: fix clippy warnings from edition bump
2026-02-18 00:59:34 -05:00
Amaan Qureshi
7deb5092c6
cli: fix clippy warnings from edition bump
2026-02-18 00:59:34 -05:00
Amaan Qureshi
1c66a7f871
loader: fix clippy warnings from edition bump
2026-02-18 00:59:34 -05:00
Amaan Qureshi
1aa2fec173
tags: fix clippy warnings from edition bump
2026-02-18 00:59:34 -05:00
Amaan Qureshi
922bae62af
highlight: fix clippy warnings from edition bump
2026-02-18 00:59:34 -05:00
Amaan Qureshi
26c52db75b
generate: fix clippy warnings from edition bump
2026-02-18 00:59:34 -05:00
Amaan Qureshi
77c8f075f3
lib: fix clippy warnings from edition bump
2026-02-18 00:59:34 -05:00
Amaan Qureshi
0188262b4a
rust: bump edition to 2024, MSRV to 1.90, and remove unnecessary allows
2026-02-18 00:59:34 -05:00
Amaan Qureshi
792bba8dab
nix: support single-checkout and multi-workspace direnv setups
...
The current `.envrc` unconditionally runs `use flake`, which breaks multi-workspace
jj setups where workspace subdirectories each have their own `.envrc`. Entering a
workspace unloads the root's nix env even when the workspace `.envrc` is blocked,
because direnv always unloads the parent env on any `.envrc` transition.
`source_up_if_exists` re-runs the parent `.envrc` and inherits its nix env in a
multi-workspace setup (fast due to caching). The `IN_NIX_SHELL` guard then skips
`use flake path:.`, which only runs in a plain single checkout where no parent
`.envrc` exists and `IN_NIX_SHELL` is unset.
2026-02-18 00:50:06 -05:00
dependabot[bot]
957ee4e634
ci: bump the actions group with 2 updates
...
Bumps the actions group with 2 updates: [actions/cache](https://github.com/actions/cache ) and [actions/setup-node](https://github.com/actions/setup-node ).
Updates `actions/cache` from 4 to 5
- [Release notes](https://github.com/actions/cache/releases )
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md )
- [Commits](https://github.com/actions/cache/compare/v4...v5 )
Updates `actions/setup-node` from 4 to 6
- [Release notes](https://github.com/actions/setup-node/releases )
- [Commits](https://github.com/actions/setup-node/compare/v4...v6 )
---
updated-dependencies:
- dependency-name: actions/cache
dependency-version: '5'
dependency-type: direct:production
update-type: version-update:semver-major
dependency-group: actions
- dependency-name: actions/setup-node
dependency-version: '6'
dependency-type: direct:production
update-type: version-update:semver-major
dependency-group: actions
...
Signed-off-by: dependabot[bot] <support@github.com>
2026-02-16 22:42:58 +01:00
dependabot[bot]
6952936eac
build(deps): bump the cargo group with 4 updates
...
Bumps the cargo group with 4 updates: [cc](https://github.com/rust-lang/cc-rs ), [clap](https://github.com/clap-rs/clap ), [clap_complete](https://github.com/clap-rs/clap ) and [ctrlc](https://github.com/Detegr/rust-ctrlc ).
Updates `cc` from 1.2.55 to 1.2.56
- [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.55...cc-v1.2.56 )
Updates `clap` from 4.5.57 to 4.5.58
- [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.57...clap_complete-v4.5.58 )
Updates `clap_complete` from 4.5.65 to 4.5.66
- [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.65...clap_complete-v4.5.66 )
Updates `ctrlc` from 3.5.1 to 3.5.2
- [Release notes](https://github.com/Detegr/rust-ctrlc/releases )
- [Commits](https://github.com/Detegr/rust-ctrlc/compare/3.5.1...3.5.2 )
---
updated-dependencies:
- dependency-name: cc
dependency-version: 1.2.56
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo
- dependency-name: clap
dependency-version: 4.5.58
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo
- dependency-name: clap_complete
dependency-version: 4.5.66
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo
- dependency-name: ctrlc
dependency-version: 3.5.2
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo
...
Signed-off-by: dependabot[bot] <support@github.com>
2026-02-16 22:42:31 +01:00
dependabot[bot]
f3a9b493c0
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.100` | `1.0.101` |
| [clap](https://github.com/clap-rs/clap ) | `4.5.56` | `4.5.57` |
| [regex](https://github.com/rust-lang/regex ) | `1.12.2` | `1.12.3` |
| [regex-syntax](https://github.com/rust-lang/regex ) | `0.8.8` | `0.8.9` |
| [schemars](https://github.com/GREsau/schemars ) | `1.2.0` | `1.2.1` |
Updates `anyhow` from 1.0.100 to 1.0.101
- [Release notes](https://github.com/dtolnay/anyhow/releases )
- [Commits](https://github.com/dtolnay/anyhow/compare/1.0.100...1.0.101 )
Updates `clap` from 4.5.56 to 4.5.57
- [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.56...clap_complete-v4.5.57 )
Updates `regex` from 1.12.2 to 1.12.3
- [Release notes](https://github.com/rust-lang/regex/releases )
- [Changelog](https://github.com/rust-lang/regex/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/regex/compare/1.12.2...1.12.3 )
Updates `regex-syntax` from 0.8.8 to 0.8.9
- [Release notes](https://github.com/rust-lang/regex/releases )
- [Changelog](https://github.com/rust-lang/regex/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/regex/compare/regex-syntax-0.8.8...regex-syntax-0.8.9 )
Updates `schemars` from 1.2.0 to 1.2.1
- [Release notes](https://github.com/GREsau/schemars/releases )
- [Changelog](https://github.com/GREsau/schemars/blob/master/CHANGELOG.md )
- [Commits](https://github.com/GREsau/schemars/compare/v1.2.0...v1.2.1 )
---
updated-dependencies:
- dependency-name: anyhow
dependency-version: 1.0.101
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo
- dependency-name: clap
dependency-version: 4.5.57
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo
- dependency-name: regex
dependency-version: 1.12.3
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo
- dependency-name: regex-syntax
dependency-version: 0.8.9
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo
- dependency-name: schemars
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>
2026-02-10 10:50:33 +01:00
dependabot[bot]
377c3d1c75
build(deps): bump eslint from 9.11.0 to 9.39.2 in /crates/cli/eslint
...
Bumps [eslint](https://github.com/eslint/eslint ) from 9.11.0 to 9.39.2.
- [Release notes](https://github.com/eslint/eslint/releases )
- [Commits](https://github.com/eslint/eslint/compare/v9.11.0...v9.39.2 )
---
updated-dependencies:
- dependency-name: eslint
dependency-version: 9.39.2
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
2026-02-09 22:55:27 -05:00
Amaan Qureshi
9a78267a7b
flake: update lockfile
2026-02-09 22:52:13 -05:00
Amaan Qureshi
a91efd56f8
ci: cache npm packages for the web bindings
2026-02-09 22:52:13 -05:00
Amaan Qureshi
e7389ccc2a
make: drop redundant cargo check
2026-02-09 22:52:13 -05:00
Amaan Qureshi
b1b0ef9238
ci: skip release build on PRs
2026-02-09 22:52:13 -05:00
Amaan Qureshi
ad2f2ae76d
ci: don't update msys2 packages
2026-02-09 22:52:13 -05:00
Amaan Qureshi
8b72e64c3c
ci: replace setup-emsdk action with manual install + actions/cache
2026-02-09 22:52:13 -05:00
Amaan Qureshi
68b6020e8e
ci: download pre-built wasmtime C API instead of compiling from source
...
ci: cache npm
2026-02-09 22:52:13 -05:00
Amaan Qureshi
4eefcef0fc
ci: only run wasm tests on linux x64 and mac arm64
2026-02-09 22:52:13 -05:00
Chad McElligott
081c90b769
web: add default export to CJS bundle
2026-02-09 22:23:12 -05:00
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
Jeremy Fleischman
7d3c321253
feat: allow - in grammar names
...
A number of grammars in the wild have this character in their name:
- https://github.com/sogaiu/tree-sitter-janet-simple/pull/7
- https://github.com/tree-sitter/tree-sitter-c-sharp/pull/408
- https://github.com/tree-sitter/tree-sitter-embedded-template/pull/45
- https://github.com/tree-sitter/tree-sitter-ql-dbscheme/pull/7
I read through https://github.com/tree-sitter/tree-sitter/pull/3700 and
https://github.com/tree-sitter/tree-sitter/issues/3637 , and it doesn't
look like there was much discussion about this name regex, so hopefully
this is an acceptable change?
2026-02-09 21:28:04 -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