Commit graph

1301 commits

Author SHA1 Message Date
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
Amaan Qureshi
9365586cc3 feat: allow parser balancing to be cancellable 2025-01-20 23:52:19 -05:00
Scorg
40eb26e580 build(bindings): move header to tree_sitter subdirectory
This patch allows users to include the parser by the same path from
local build as well as installed location. Previously it was not
possible to include the header prior to installing the built parser.
2025-01-20 13:17:24 -05:00
ObserverOfTime
a9dbb7257c feat(bindings): support free-threaded python build 2025-01-19 12:45:08 -05:00
ObserverOfTime
7bf51ae08a feat(bindings): drop python 3.9 support 2025-01-19 12:45:08 -05:00
WillLillis
3a85d4d5f3 feat(cli): improve readability of parse debug output 2025-01-13 01:13:31 -05:00
Amaan Qureshi
24f51518d1 feat(cli)!: remove migration code for tree-sitter.json 2025-01-12 22:11:30 -05:00
Amaan Qureshi
e389d54868 chore: readd skipped test 2025-01-12 13:04:10 -05:00
Amaan Qureshi
5de314833f feat(query): structurally verify supertype queries 2025-01-12 13:04:10 -05:00
Amaan Qureshi
9d9c76e693 feat(generate): explicitly disallow non-terminals in non-terminals 2025-01-12 04:47:59 -05:00
WillLillis
d65a74a667 fix(cli): correct test update option 2025-01-12 01:44:58 -05:00
WillLillis
ea9c85fb94 fix(cli): fix error display, considering structured data returned from
generate command
2025-01-12 01:44:51 -05:00
WillLillis
dcfc95e563 fix(cli): only remove test input's trailing '\r' if running on windows
platform
2025-01-11 17:52:54 -05:00
WillLillis
f47319212b feat(cli): allow test subcommand to include/exclude by corpus test file names 2025-01-11 00:58:26 -05:00
WillLillis
329dcc92a1 fix(rust): adapt to a few new nightly lints 2025-01-10 22:00:23 -05:00
WillLillis
c8bd78a29c feat(playground): provide colored highlight for captures in code editor 2025-01-10 00:45:08 -05:00
WillLillis
cbf960ff20 fix(cli): remove double print of generate errors 2025-01-08 01:13:22 -05:00
Damien Guard
4170f71dbc
feat(generate): add .exp and .lib files to gitignore template
On Windows, tree-sitter-cli creates parser.exp and parser.lib so ideally we'd exclude those automatically.
2025-01-06 16:13:39 -05:00
Amaan Qureshi
ba19fe31be test: ignore flaky test for now
We'll re-enable post-release & when grammars are updated
2025-01-06 01:55:15 -05:00
WillLillis
867433afd7 feat(rust): use thiserror for generate crate
Co-authored-by: Amaan Qureshi <amaanq12@gmail.com>
2025-01-05 00:27:12 -05:00
WillLillis
5a825a0930 feat(cli): add json summary of parsing 2025-01-05 00:27:12 -05:00
Riley Bruins
19482834bd feat: add Supertype API
Introduces a new function that takes in a supertype symbol and returns
all associated subtypes. Can be used by query.c to give better errors
for invalid subtypes, as well as downstream applications like the query
LSP to give better diagnostics.
2025-01-05 00:14:09 -05:00
WillLillis
07c08432ca fix(rust): use PathBuf for --query-paths highlight option 2025-01-04 04:12:24 -05:00
WillLillis
619d347f95 chore: fix doc comment 2025-01-04 04:12:24 -05:00
Amaan Qureshi
efc51a596c fix(lib): don't consider unfinished captures definite when the following step is immediate
When collecting captures, we were treating unfinished ones as definite
even if they had pending immediate steps that weren't yet satisfied. Now
we only mark a capture as definite if the pattern is guaranteed and
there are no pending immediate steps to check.
2025-01-04 02:03:41 -05:00
Amaan Qureshi
5f379da544 fix(lib): prevent wildcards from incorrectly marking child patterns as infallible
When a pattern appears under a wildcard parent (like "(_ (expr))"), we
were incorrectly marking it as infallible. The parent_pattern_guaranteed
flag only means the pattern will match after finding the right wildcard
parent, not that any wildcard parent will work.
2025-01-03 23:09:49 -05:00
Amaan Qureshi
a7e6d01144 fix(lib): propagate last_child status to pattern alternatives in queries
Previously, when a pattern was marked as the last child in a query, its
alternatives weren't marked similarly, causing incorrect matching
behavior. Now, the `last_child` status is properly propagated through
all alternatives.
2025-01-03 21:13:29 -05:00
Will Lillis
f8e77aa99d
style: move command help strings to doc comments 2025-01-03 17:29:07 -05:00
Amaan Qureshi
16be945cdd feat(cli): rework tags to use new input handler
Co-authored-by: Will Lillis <will.lillis24@gmail.com>
2025-01-03 16:16:17 -05:00
Amaan Qureshi
55fda55b9b feat(cli): rework highlight to use new input handler
Co-authored-by: Will Lillis <will.lillis24@gmail.com>
2025-01-03 16:16:17 -05:00
Amaan Qureshi
88d2f010f5 feat(cli): rework query to use new input handler
Co-authored-by: Will Lillis <will.lillis24@gmail.com>
2025-01-03 16:16:17 -05:00
Amaan Qureshi
6bad1bc6c5 feat(cli): rework parse to use new input handler
Co-authored-by: Will Lillis <will.lillis24@gmail.com>
2025-01-03 16:16:17 -05:00
Amaan Qureshi
cc449ad965 feat(cli): make input handling agnostic
Co-authored-by: Will Lillis <will.lillis24@gmail.com>
2025-01-03 16:16:17 -05:00
Amaan Qureshi
3456330fe9 fix: update outdated links 2025-01-03 15:09:33 -05:00
WillLillis
cd3d967f3c fix(cli): correct range in cst pretty printer 2025-01-01 23:55:16 -05:00
Amaan Qureshi
22f67e2b67 fix(query): ensure immediate matches for any node when an anchor follows a wildcard node 2024-12-29 00:54:16 -05:00
Amaan Qureshi
d87d4592e0 test(rust): correct expected and actual spots in assert_eq calls 2024-12-29 00:54:16 -05:00
Will Lillis
4f9869142f
fix(rust): adapt to a few new nightly lints 2024-12-28 01:17:04 -05:00
Amaan Qureshi
b70843a033 fix(playground): add dark theme, align ui more akin to upstream playground 2024-12-25 21:23:36 -05:00
Amaan Qureshi
5bd0d11982 fix(playground): ensure local playground is initialized 2024-12-25 21:23:36 -05:00
Amaan Qureshi
bd6aa2be2b fix(playground): correct link to upstream playground 2024-12-25 21:23:36 -05:00
Amaan Qureshi
dda45cfbb6 docs: move assets to correct path 2024-12-25 21:23:36 -05:00
Amaan Qureshi
f3d50f273b fix(lib): add saturating subtraction to prevent integer underflow 2024-12-25 04:49:39 -05:00
Amaan Qureshi
043969ef18 docs: migrate to mdbook 2024-12-24 20:54:59 -05:00
WillLillis
b747261929 feat(cli): display parse and edit times separately for parse --time 2024-12-23 02:06:13 -05:00
Will Lillis
5d9870ebee
feat(cli): show parse times in testing output 2024-12-23 01:22:37 -05:00
Amaan Qureshi
7d3dbc062d build: bump deps 2024-12-16 01:22:58 -05:00
Amaan Qureshi
214b3dc2e6 fix(cli): handle nested tags test files 2024-12-16 00:25:43 -05:00