Amaan Qureshi
9c08edb066
build: configure clippy lints at the workspace level
2024-10-08 21:07:41 -04:00
Will Lillis
5c6445edea
chore: misc clippy lints
2024-10-06 17:55:00 -04:00
Antonin Delpeuch
50bea73ce3
docs(rust): updated README to reflect language initialization updates
2024-10-06 13:30:05 -04:00
dundargoc
94f7a47abd
build: fix incorrect variable checks
...
Cmake variables should not use `${}` when checking for existence.
2024-10-06 15:56:05 +02:00
Amaan Qureshi
cc2caecf7a
build: tweak Cargo.tomls
2024-10-06 01:48:43 -04:00
Amaan Qureshi
8943983df6
feat!: properly handle UTF-16 endianness encoding
2024-10-05 21:12:48 -04:00
Amaan Qureshi
cf8ed78a9a
feat: bump version to 0.25
2024-10-05 20:23:40 -04:00
Amaan Qureshi
34fa7a0c64
feat(lib): wrap subtrees with changes in green circles
2024-10-05 20:08:34 -04:00
ObserverOfTime
edfd47e1c6
build(cmake): correct library scopes
2024-10-05 18:17:01 +03:00
Carlo Cabrera
666db18c28
build(cmake): support amalgamated build
...
This mirrors passing `AMALGAMATED=1` to `make` when using the
`Makefile`. It can be enabled by passing `-DAMALGAMATED=ON` to `cmake`.
2024-10-04 09:27:59 +03:00
Amaan Qureshi
693a403acd
0.24.1
2024-10-04 00:47:45 -04:00
Amaan Qureshi
dfc891a5ce
0.24.0
2024-10-04 00:16:20 -04:00
Amaan Qureshi
6769386a33
build: bump language to 0.1.1
2024-10-04 00:11:26 -04:00
Amaan Qureshi
91df16bdc8
fix(lib): ensure an unfinished state was found before removing it
2024-10-03 21:33:36 -04:00
ObserverOfTime
6f08a684aa
build(cmake): link wasmtime dependencies
2024-10-03 19:32:22 -04:00
Riley Bruins
0683136ca0
feat(api): expose function to check if symbol represents a supertype
2024-09-30 14:44:13 -04:00
Amaan Qureshi
934a2814fd
fix: deprecate child_containing_descendant and add child_with_descendant instead
2024-09-30 13:57:28 -04:00
Yuta Saito
94a8262110
fix: exclude APIs that dup given file descriptors from WASI builds
...
WASI doesn't support `dup(2)` system call, so we cannot implement the
`print_dot_graph` and `print_dot_graphs` functions with exactly the same
semantics as in other platforms.
2024-09-29 23:01:41 -04:00
Ron Panduwana
a83b893016
fix: handle more cases of editing subtrees that depend on column values
2024-09-29 20:36:08 -04:00
Jeong, Hun
bbc1370dd5
feat(lib)!: treat nodes' end ranges exclusively in goto_first_child_for_{byte,point}
...
This goes back on #1640 , because now cursors are bi-directional, and
going to the previous sibling is simple.
2024-09-29 17:45:07 -04:00
Riley Bruins
b36ef4b7f4
fix(lib)!: child_containing_descendant now returns direct children
...
Previously, `child_containing_descendant` would return `null` when
called on a node's direct parent. In my opinion, this doesn't make much
sense; it seems like a node would contain itself. This (breaking)
commit changes the function so that it can return direct children.
2024-09-29 17:44:37 -04:00
Lukas Seidel
6b1ebd3d29
feat!: implement StreamingIterator instead of Iterator for QueryMatches and QueryCaptures
...
This fixes UB when either `QueryMatches` or `QueryCaptures` had collect called on it.
Co-authored-by: Amaan Qureshi <amaanq12@gmail.com>
2024-09-29 17:34:48 -04:00
Amaan Qureshi
871e8966c5
build: bump deps
2024-09-28 13:58:58 -04:00
Amaan Qureshi
b2359e4020
feat!: move generation of grammar files to an init command
...
The generate subcommand should stick to solely generating a parser and
headers.
2024-09-27 16:06:57 -04:00
Amaan Qureshi
50eaf0b6cd
style(lib): add parameter names in declarations that are missing them
2024-09-27 13:38:08 -04:00
Amaan Qureshi
28972f916a
fix(lib): silence warnings with -Wpedantic
2024-09-27 12:58:26 -04:00
Amaan Qureshi
0c43988a5e
fix(lib): correct descendant-for-range behavior with zero-width tokens
2024-09-27 00:37:13 -04:00
Amaan Qureshi
c1f8a8a728
chore: remove compile_flags.txt
2024-09-22 20:26:51 -04:00
Amaan Qureshi
0a85744eba
fix(lib): peek at the next sibling when iterating to find the child that contains a given descendant
...
This issue shows up when we have a zero-width token that is the target
descendant node, previously the previous sibling would be returned as
the child that contains the descendant, which is incorrect.
2024-09-17 04:37:43 +02:00
dependabot[bot]
c6faeb948e
build(deps): bump the cargo group across 1 directory with 11 updates
...
Bumps the cargo group with 10 updates in the / directory:
| Package | From | To |
| --- | --- | --- |
| [anyhow](https://github.com/dtolnay/anyhow ) | `1.0.86` | `1.0.89` |
| [cc](https://github.com/rust-lang/cc-rs ) | `1.1.14` | `1.1.19` |
| [clap](https://github.com/clap-rs/clap ) | `4.5.16` | `4.5.17` |
| [filetime](https://github.com/alexcrichton/filetime ) | `0.2.24` | `0.2.25` |
| [indexmap](https://github.com/indexmap-rs/indexmap ) | `2.4.0` | `2.5.0` |
| [pretty_assertions](https://github.com/rust-pretty-assertions/rust-pretty-assertions ) | `1.4.0` | `1.4.1` |
| [serde](https://github.com/serde-rs/serde ) | `1.0.209` | `1.0.210` |
| [serde_json](https://github.com/serde-rs/json ) | `1.0.127` | `1.0.128` |
| [webbrowser](https://github.com/amodm/webbrowser-rs ) | `1.0.1` | `1.0.2` |
| [bindgen](https://github.com/rust-lang/rust-bindgen ) | `0.69.4` | `0.70.1` |
Updates `anyhow` from 1.0.86 to 1.0.89
- [Release notes](https://github.com/dtolnay/anyhow/releases )
- [Commits](https://github.com/dtolnay/anyhow/compare/1.0.86...1.0.89 )
Updates `cc` from 1.1.14 to 1.1.19
- [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.1.14...cc-v1.1.19 )
Updates `clap` from 4.5.16 to 4.5.17
- [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.16...clap_complete-v4.5.17 )
Updates `filetime` from 0.2.24 to 0.2.25
- [Commits](https://github.com/alexcrichton/filetime/compare/0.2.24...0.2.25 )
Updates `indexmap` from 2.4.0 to 2.5.0
- [Changelog](https://github.com/indexmap-rs/indexmap/blob/master/RELEASES.md )
- [Commits](https://github.com/indexmap-rs/indexmap/compare/2.4.0...2.5.0 )
Updates `pretty_assertions` from 1.4.0 to 1.4.1
- [Release notes](https://github.com/rust-pretty-assertions/rust-pretty-assertions/releases )
- [Changelog](https://github.com/rust-pretty-assertions/rust-pretty-assertions/blob/main/CHANGELOG.md )
- [Commits](https://github.com/rust-pretty-assertions/rust-pretty-assertions/compare/v1.4.0...v1.4.1 )
Updates `serde` from 1.0.209 to 1.0.210
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.209...v1.0.210 )
Updates `serde_derive` from 1.0.209 to 1.0.210
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.209...v1.0.210 )
Updates `serde_json` from 1.0.127 to 1.0.128
- [Release notes](https://github.com/serde-rs/json/releases )
- [Commits](https://github.com/serde-rs/json/compare/1.0.127...1.0.128 )
Updates `webbrowser` from 1.0.1 to 1.0.2
- [Release notes](https://github.com/amodm/webbrowser-rs/releases )
- [Changelog](https://github.com/amodm/webbrowser-rs/blob/main/CHANGELOG.md )
- [Commits](https://github.com/amodm/webbrowser-rs/compare/v1.0.1...v1.0.2 )
Updates `bindgen` from 0.69.4 to 0.70.1
- [Release notes](https://github.com/rust-lang/rust-bindgen/releases )
- [Changelog](https://github.com/rust-lang/rust-bindgen/blob/main/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/rust-bindgen/compare/v0.69.4...v0.70.1 )
---
updated-dependencies:
- dependency-name: anyhow
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo
- dependency-name: cc
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo
- dependency-name: clap
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo
- dependency-name: filetime
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo
- dependency-name: indexmap
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: cargo
- dependency-name: pretty_assertions
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo
- dependency-name: serde
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo
- dependency-name: serde_derive
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo
- dependency-name: serde_json
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo
- dependency-name: webbrowser
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo
- dependency-name: bindgen
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: cargo
...
Signed-off-by: dependabot[bot] <support@github.com>
2024-09-17 04:13:53 +02:00
Amaan Qureshi
7e3f572655
feat: add field_name_for_named_child
2024-09-09 11:05:29 -04:00
Amaan Qureshi
8667e3ea0c
fix(binding_web): remove nonexistent function definition
2024-09-08 16:57:20 -04:00
Amaan Qureshi
5e46fef0d7
chore: clippy lints
2024-09-07 20:31:20 -04:00
ObserverOfTime
26c1202058
build(lib): build using cmake
2024-09-07 18:38:05 -04:00
Amaan Qureshi
fcbd67b3fa
fix(binding_web): correct edit signature
2024-09-07 17:53:18 -04:00
Amaan Qureshi
9b398c2b84
fix(lib): backtrack to the last relevant iterator if no child was found
2024-09-05 18:01:29 -04:00
Liam Rosenfeld
d60789afdc
feat(language): derive Clone and Copy on LanguageFn
...
Allows a LanguageFn to be passed around and create multiple languages since Language::new consumes a LanguageFn
LanguageFn just wraps a function pointer, which already conforms to Copy so this is a simple addition.
2024-09-02 21:12:17 -04:00
Amaan Qureshi
ee06325f67
fix(lib): correct extra node creation from non-zero root-alias cursors
2024-08-31 23:58:19 -04:00
Amaan Qureshi
4387e44b98
fix(rust): add missing TSNode functions
2024-08-31 23:06:26 -04:00
Amaan Qureshi
3f424c0121
feat: add an API to time out query executions
...
Currently, if a predicate is hard to match on the Rust side, a sizable
query against a very large file can take forever, and ends up hanging.
This commit adds an API function `ts_query_cursor_set_timeout_micros` to
limit how long query execution is allowed to take, thereby negating the
chance of a hang to occur.
2024-08-31 14:33:28 -04:00
Amaan Qureshi
12fb31826b
0.23.0
2024-08-26 09:07:00 -04:00
Ryan Patterson
b5e4ef6d9a
clone wasm store engine ( #3542 )
...
This resolves https://github.com/tree-sitter/tree-sitter/issues/3454 .
This brings the usage of wasmtime::Engine in line with how wasmtime
intends it to be used. All wasmtime functions that receive an Engine
always receive an `&Engine`, never an owned `Engine`. They are always
responsible for cloning the reference if they need it.
This brings the usage of wasmtime::Engine in line with how TSParser
treats TSLanguages: when setting a language to the parser, the parser is
responsible for cloning the reference to the TSLanguage. It is
counterintuitive for TSParser to have different behavior when receiving
wasmtime_engine_t.
C API users also expect this behavior, see "Memory Management"
[here](https://docs.wasmtime.dev/c-api/wasm_8h.html ). Talking about the
C API: without this change, failing to clone the `wasmtime_engine_t`
(which, again, is never something API users need to do in wasmtime) and
then reusing the engine in multiple TSLanguages results in a use after
free. With this change, failing to call `wasm_engine_delete` on your
owned Engine results in a memory leak. Memory leaks are safer than
use-after-free.
2024-08-22 08:01:37 -07:00
Christian Clason
b0dab87c09
build(deps): bump wasmtime to v24.0.0
2024-08-20 18:09:23 +02:00
Matt Guerrette
3c7c17b00b
fix(lib): fix api header C++ interop ( #3534 )
2024-08-18 12:01:13 +03:00
Amaan Qureshi
6dd459b4ab
fix(lib): an empty root node should not precede an empty range
...
The problem is, given an empty file, the root node of this file spans 0
bytes. As such, the logic for determining whether or not the node
precedes the range fails, and is true when it should be false.
2024-08-17 17:05:26 -04:00
Ron Panduwana
2bb20fe2fe
feat: allow external scanners to use the logger
...
Co-authored-by: Amaan Qureshi <amaanq12@gmail.com>
2024-08-17 14:46:28 -04:00
dependabot[bot]
78f02d95f3
build(deps): bump the cargo group across 1 directory with 14 updates
...
Bumps the cargo group with 13 updates in the / directory:
| Package | From | To |
| --- | --- | --- |
| [anstyle](https://github.com/rust-cli/anstyle ) | `1.0.7` | `1.0.8` |
| [clap](https://github.com/clap-rs/clap ) | `4.5.9` | `4.5.16` |
| [ctrlc](https://github.com/Detegr/rust-ctrlc ) | `3.4.4` | `3.4.5` |
| [filetime](https://github.com/alexcrichton/filetime ) | `0.2.23` | `0.2.24` |
| [indexmap](https://github.com/indexmap-rs/indexmap ) | `2.2.6` | `2.4.0` |
| [libloading](https://github.com/nagisa/rust_libloading ) | `0.8.4` | `0.8.5` |
| [regex](https://github.com/rust-lang/regex ) | `1.10.5` | `1.10.6` |
| [serde](https://github.com/serde-rs/serde ) | `1.0.204` | `1.0.208` |
| [serde_json](https://github.com/serde-rs/json ) | `1.0.120` | `1.0.125` |
| [similar](https://github.com/mitsuhiko/similar ) | `2.5.0` | `2.6.0` |
| [tempfile](https://github.com/Stebalien/tempfile ) | `3.10.1` | `3.12.0` |
| [thiserror](https://github.com/dtolnay/thiserror ) | `1.0.62` | `1.0.63` |
| [toml](https://github.com/toml-rs/toml ) | `0.8.14` | `0.8.19` |
Updates `anstyle` from 1.0.7 to 1.0.8
- [Commits](https://github.com/rust-cli/anstyle/compare/v1.0.7...v1.0.8 )
Updates `clap` from 4.5.9 to 4.5.16
- [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.9...clap_complete-v4.5.16 )
Updates `ctrlc` from 3.4.4 to 3.4.5
- [Release notes](https://github.com/Detegr/rust-ctrlc/releases )
- [Commits](https://github.com/Detegr/rust-ctrlc/compare/3.4.4...3.4.5 )
Updates `filetime` from 0.2.23 to 0.2.24
- [Commits](https://github.com/alexcrichton/filetime/compare/0.2.23...0.2.24 )
Updates `indexmap` from 2.2.6 to 2.4.0
- [Changelog](https://github.com/indexmap-rs/indexmap/blob/master/RELEASES.md )
- [Commits](https://github.com/indexmap-rs/indexmap/compare/2.2.6...2.4.0 )
Updates `libloading` from 0.8.4 to 0.8.5
- [Commits](https://github.com/nagisa/rust_libloading/compare/0.8.4...0.8.5 )
Updates `regex` from 1.10.5 to 1.10.6
- [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.10.5...1.10.6 )
Updates `serde` from 1.0.204 to 1.0.208
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.204...v1.0.208 )
Updates `serde_derive` from 1.0.204 to 1.0.208
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.204...v1.0.208 )
Updates `serde_json` from 1.0.120 to 1.0.125
- [Release notes](https://github.com/serde-rs/json/releases )
- [Commits](https://github.com/serde-rs/json/compare/v1.0.120...1.0.125 )
Updates `similar` from 2.5.0 to 2.6.0
- [Changelog](https://github.com/mitsuhiko/similar/blob/main/CHANGELOG.md )
- [Commits](https://github.com/mitsuhiko/similar/compare/2.5.0...2.6.0 )
Updates `tempfile` from 3.10.1 to 3.12.0
- [Changelog](https://github.com/Stebalien/tempfile/blob/master/CHANGELOG.md )
- [Commits](https://github.com/Stebalien/tempfile/commits )
Updates `thiserror` from 1.0.62 to 1.0.63
- [Release notes](https://github.com/dtolnay/thiserror/releases )
- [Commits](https://github.com/dtolnay/thiserror/compare/1.0.62...1.0.63 )
Updates `toml` from 0.8.14 to 0.8.19
- [Commits](https://github.com/toml-rs/toml/compare/toml-v0.8.14...toml-v0.8.19 )
---
updated-dependencies:
- dependency-name: anstyle
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo
- dependency-name: clap
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo
- dependency-name: ctrlc
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo
- dependency-name: filetime
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo
- dependency-name: indexmap
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: cargo
- dependency-name: libloading
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo
- dependency-name: regex
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo
- dependency-name: serde
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo
- dependency-name: serde_derive
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo
- dependency-name: serde_json
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo
- dependency-name: similar
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: cargo
- dependency-name: tempfile
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: cargo
- dependency-name: thiserror
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo
- dependency-name: toml
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo
...
Signed-off-by: dependabot[bot] <support@github.com>
2024-08-17 01:32:31 -04:00
Christian Clason
c3dd66df0e
build(deps): bump wasmtime to v23.0.2
2024-08-16 14:02:56 +02:00
Ryan Patterson
779566f588
Reset language when resetting wasm store ( #3495 )
...
* Reset language when resetting wasm store
* test behavior of language copying
2024-07-31 10:30:58 -07:00
Boris Verkhovskiy
cd3e561224
build(wasm): don't minify JS ( #3380 )
2024-07-29 10:00:02 +03:00