1
Fork 0
mirror of https://github.com/RGBCube/cstree synced 2025-07-27 00:57:44 +00:00
Commit graph

107 commits

Author SHA1 Message Date
fb8cc54104
Implement Resolver and Interner for Arc<MultiThreadedTokenInterner> (#72)
* Implement traits for Arc<MultiThreadedTokenInterner>

* implement Resolver for Arc<Resolver>, update docs
2025-03-20 22:33:19 +01:00
e90300f4fc
use rustc_hash instead of fxhash (#73)
* use rustc_hash instead of fxhash

* implement debug properly
2025-03-20 22:18:26 +01:00
DQ
c061bf5a6b
Migrate to stable strict provenance APIs and elide some redundant lifetimes (#71)
* elide unnecessary lifetimes in `PartialEq` impls for `Symbol`

* remove strict provenance polyfill after std APIs are now stable

this raises MSRV to 1.84

* elide more redundant lifetimes

---------

Co-authored-by: Domenic Quirl <DomenicQuirl@protonmail.com>
2025-02-02 18:43:46 +01:00
DQ
6c62982f67 [CI] Update built-in GitHub Actions to v4 2025-02-02 18:19:54 +01:00
DQ
d602fe22eb
Support backtracking and Checkpoints across nodes (#68)
* Add [`GreenTreeBuilder::revert`] to support backtracking parsers

Rowan, and hence CSTree, is designed around hand-written parsers.
In particular, the APIs for *building* trees require that each token is recorded only once.

Some parsers, and especially parser combinators, use backtracking instead, where the same token may be seen multiple times.
To support this, add a new `revert` function which discards all tokens seen since the last checkpoint.

* allow checkpointing across nodes (within reason)

* clean up asserts and expand documentation

* add Changelog entry

* prepare v0.12.2 release

---------

Co-authored-by: jyn <github@jyn.dev>
Co-authored-by: Domenic Quirl <DomenicQuirl@protonmail.com>
2024-11-01 13:47:49 +01:00
DQ
7f8515844d
Prepare v0.12.1 release (#66)
* [Deps] bump indexmap to v2

* bump version to 0.12.1

---------

Co-authored-by: Domenic Quirl <DomenicQuirl@protonmail.com>
2024-08-21 18:03:21 +02:00
Alona Enraght-Moony
1080120348
implement Hash and Eq for ResolvedNode and ResolvedToken. (#63)
These simply forward to the impls for SyntaxNode and SyntaxToken respectivly.
2024-08-21 17:47:47 +02:00
DQ
1babdb03ee
[CI] Cancel in progress jobs (plus readonly permissions) (#65)
Co-authored-by: Domenic Quirl <DomenicQuirl@protonmail.com>
2024-08-20 20:37:16 +02:00
DQ
70e9f92d3e
[Deps] Update criterion to v0.5 (#64)
* [Deps] update criterion to 0.5

* make clippy happy

---------

Co-authored-by: Domenic Quirl <DomenicQuirl@protonmail.com>
2024-08-20 20:17:38 +02:00
DQ
4d1c90a56f
[Changelog] add additional note for upgrading with lasso compat 2024-06-22 12:00:23 +02:00
DQ
b793b75f23
Clean up redundant doc links (#62) 2023-09-03 14:10:39 +02:00
Domenic Quirl
3606ac007a adapt serde tests to new adjacently tagged enum repr 2023-08-10 21:20:00 +02:00
Domenic Quirl
1314baf058 update renamed lint that was moved into rustc 2023-08-10 19:56:46 +02:00
Domenic Quirl
03ac773d0e fix rustfmt complaints 2023-08-10 19:49:31 +02:00
Klas Segeljakt
057d51f6e1
Fix typo in README.md (#61) 2023-06-27 17:00:25 +02:00
DQ
9c0a22f87f
Version 0.12.0 (#60) 2023-06-12 20:36:49 +02:00
DQ
c9a776d118
Bump triomphe to 0.1.8 (#59) 2023-06-12 20:15:27 +02:00
Isaac Hung
2173cc3c96
Feature gate triomphe/serde behind cstree/serialize (#58) 2023-06-12 20:02:20 +02:00
DQ
574adbde8f
Update CHANGELOG.md 2023-04-26 20:22:12 +02:00
DQ
39c8cd125e
Prepare release candidate for publishing (#57) 2023-04-25 20:30:18 +02:00
DQ
f3ad677de8
Update README shields (#56) 2023-04-25 11:32:11 +02:00
DQ
47179dab79
Prepare release candidate (#55) 2023-04-19 21:48:09 +02:00
DQ
64e94d7d30
Enable sparse registry protocol in CI (#54) 2023-04-19 20:08:03 +02:00
DQ
b4d07fbf65
Update CI workflows (#53) 2023-04-18 22:36:02 +02:00
DQ
30597dbb8b
Support and use cargo nextest (#52) 2023-04-18 21:40:28 +02:00
DQ
c5279bae7d
Add derive macro for Syntax (used to be Language) (#51) 2023-04-18 20:10:35 +02:00
DQ
2aa543036f
Use 32 bits for RawSyntaxKind internally (#49) 2023-04-07 19:18:47 +02:00
DQ
8750498b7a
Bump parking_lot dependency (#48) 2023-04-07 18:49:00 +02:00
DQ
16f7a3bd80
Set up a module structure (#44) 2023-04-07 18:06:51 +02:00
dawn
baa0a9f2f0
remove extra bracket in docs of ResolvedToken (#46) 2022-11-26 14:30:52 +01:00
DQ
e7b00a603e
Performance Improvements (#43)
- add `Language::static_text` and optimize static tokens
 - re-use existing `ThinArc`s in `GreenNodeBuilder::finish_node`
 - replace `*mut` in `SyntaxNode` with `NonNull`
 - add CHANGELOG
2022-08-25 22:22:45 +02:00
Domenic Quirl
9be9dc9597 bump version to 2022-07-07 19:49:12 +02:00
DQ
21dcf99f04
Fix Stacked Borrows violations (Miri) (#37)
Co-authored-by: Domenic Quirl <DomenicQuirl@protonmail.com>
2022-07-07 19:38:14 +02:00
DQ
2ffeb0e166
Use strict provenance for pointer tagging (#36) 2022-07-01 10:44:24 +02:00
DQ
f187aba06c
[CI] increase delay between scheduled pipelines
7d --> 20d (now 1st and 21st of month)
2022-06-01 20:23:00 +02:00
Domenic Quirl
152b0b0838 new version 0.11 2022-02-20 12:55:16 +01:00
DQ
ac7c383f74
Merge pull request #34 from domenicquirl/feature/fold-chunks 2022-02-20 09:53:00 +01:00
Domenic Quirl
f88b980ed1 use fold_chunks in for_each_chunk 2022-02-20 09:41:43 +01:00
Domenic Quirl
2b084c6f82 add SyntaxText::fold_chunks #33 2022-02-20 09:39:36 +01:00
DQ
f9cae1fa5e
Merge pull request #32 from domenicquirl/fix/clippy 2022-01-12 20:52:38 +01:00
Domenic Quirl
856b42ac9b fix redundant_closure in syntax/node.rs 2022-01-12 20:41:33 +01:00
Domenic Quirl
1b08c9405e fix serde features for new resolver; new version
fixes doc builds
2021-10-25 12:47:43 +02:00
Domenic Quirl
4121cd0468 update to Rust 2021 edition 2021-10-25 12:36:24 +02:00
Domenic Quirl
bd52572832 bump version for new release 2021-09-17 17:30:14 +02:00
DQ
08d381612c
Merge pull request #31 from domenicquirl/interning-exports 2021-09-17 17:29:21 +02:00
Domenic Quirl
1fbb7453f2 refactor red tree iterators into own module and forward more features of the underlying iters 2021-09-17 17:17:31 +02:00
Domenic Quirl
3982732d42 refactor green tree iterators into own module 2021-09-17 16:44:18 +02:00
Domenic Quirl
2aaf4169da refactor re-exports of lasso interning components and expose interned string keys 2021-09-17 16:37:15 +02:00
Domenic Quirl
e7ab5ad987 bump version for new release 2021-09-09 12:24:04 +02:00
DQ
62ec2a0843
restore SyntaxToken debug output if token text is truncated 2021-09-09 12:08:48 +02:00