Commit graph

155 commits

Author SHA1 Message Date
Zixuan Chen
5c47f2e04e feat: simple export and import 2022-10-26 23:31:34 +08:00
Zixuan Chen
d1e1143c58 chore: impl basic framework of text applying 2022-10-26 23:31:34 +08:00
Zixuan Chen
9cd360e511 refactor: list slice 2022-10-26 23:31:34 +08:00
Zixuan Chen
8f6dd65522 feat: dag partial iter 2022-10-26 23:31:34 +08:00
Zixuan Chen
d47fe2df8c test: use proptest factor to switch proptest mode 2022-10-26 23:31:34 +08:00
Zixuan Chen
9d66aeb511 test: simplify proptest 2022-10-26 23:31:34 +08:00
Zixuan Chen
0bcf19038d chore: init apply logic 2022-10-26 23:31:34 +08:00
Zixuan Chen
aae1b2a322 refactor: simplify cursor code 2022-10-26 23:31:34 +08:00
Zixuan Chen
76269a8ca7 chore: cargo fix 2022-10-26 23:31:34 +08:00
Zixuan Chen
7c032b6321 fix: origin left should points to non-deleted 2022-10-26 23:31:34 +08:00
Zixuan Chen
81b8f2c591 fix: simplify create level when apply update 2022-10-26 23:31:34 +08:00
Zixuan Chen
f760aad046 test: add bench facilities 2022-10-26 23:31:34 +08:00
Zixuan Chen
7f728db495 fix: yata fuzzing works now 2022-10-26 23:31:34 +08:00
Zixuan Chen
d36c41b7cd fix: tree balance issue 2022-10-26 23:31:34 +08:00
Zixuan Chen
a7ce6ddfd6 fix: adapt crdt-list change 2022-10-26 23:31:34 +08:00
Zixuan Chen
a93d9f762d fix: cursor should not use Deref
`crdt-list` expected derefed cursor to be a sliced operation, but it was not.
so I updated crdt-list to use a GetOp trait instead of Deref, where
users may slice the op if they want to.
2022-10-26 23:31:34 +08:00
Zixuan Chen
d34abeef92 fix: insert map logic bug 2022-10-26 23:31:34 +08:00
Zixuan Chen
4213d4c488 fix: crdt-list yata integrate err 2022-10-26 23:31:34 +08:00
Zixuan Chen
3fb88bde6e fix: build links between leaf nodes 2022-10-26 23:31:34 +08:00
Zixuan Chen
5104e94cd0 fix: fix several iter & delete bug
most of the bugs are related to len / content_len
2022-10-26 23:31:34 +08:00
Zixuan Chen
280382c39c fix: yata id spans generate bug 2022-10-26 23:31:34 +08:00
Zixuan Chen
bc980c5b02 feat: iter update in rle tree 2022-10-26 23:31:34 +08:00
Zixuan Chen
ee5c9bb990 chore: add todo doc 2022-10-26 23:31:34 +08:00
Zixuan Chen
374e32384e feat: update at cursor pos 2022-10-26 23:31:34 +08:00
Zixuan Chen
af63cd6a9c chore: delete init 2022-10-26 23:31:34 +08:00
Zixuan Chen
944d60bfe9 docs: update find pos doc 2022-10-26 23:31:34 +08:00
Zixuan Chen
92a2e48ef5 chore: yata init 2022-10-26 23:31:34 +08:00
Zixuan Chen
41167b4af0 refactor: simplify lifetime of cursor 2022-10-26 23:31:34 +08:00
Zixuan Chen
95b63e7f47 refactor: remove RleTreeRaw layer 2022-10-26 23:31:34 +08:00
Zixuan Chen
b11fe7394e fix: yata fuzzing now works 2022-10-26 23:31:34 +08:00
Zixuan Chen
5ca3a42a0b test: add fuzz and fix a few iter bugs 2022-10-26 23:31:34 +08:00
Zixuan Chen
670d194aeb feat: impl yata 2022-10-26 23:31:34 +08:00
Zixuan Chen
5f6d66368e fix: fix a few bugs 2022-10-26 23:31:34 +08:00
Zixuan Chen
1f69322bc4 chore: make id optional in yspan 2022-10-26 23:31:34 +08:00
Zixuan Chen
33992626d2 chore: cargo fix 2022-10-26 23:31:34 +08:00
Zixuan Chen
cd95e2276c feat: introduce crdt-list 2022-10-26 23:31:34 +08:00
Zixuan Chen
e9100f300d refactor: rename files 2022-10-26 23:31:34 +08:00
Zixuan Chen
36c9fd7340 feat: insert at cursor 2022-10-26 23:31:34 +08:00
Zixuan Chen
9240ad12ee fix: add safety comment to rle 2022-10-26 23:31:34 +08:00
Zixuan Chen
bd1b0a2215 feat: init content map 2022-10-26 23:31:34 +08:00
Zixuan Chen
3b271b5ede chore: cargo fix 2022-10-26 23:31:34 +08:00
Zixuan Chen
31b0fa3354 fix: insert / delete 0 length content 2022-10-26 23:31:34 +08:00
Zixuan Chen
2c11846c99 fix: notify fuzzy test 2022-10-26 23:31:34 +08:00
Zixuan Chen
1df1f1d2bf fix: string fuzzy 2022-10-26 23:31:34 +08:00
Zixuan Chen
0d99ceb01c feat: return cursor in iter 2022-10-26 23:31:34 +08:00
Zixuan Chen
77eac9eb30 fix: notify 2022-10-26 23:31:34 +08:00
Zixuan Chen
8f005180a4 feat: add withstartend 2022-10-26 23:31:34 +08:00
Zixuan Chen
6209de97a3 chore: cargo fix 2022-10-26 23:31:34 +08:00
Zixuan Chen
96f29ee0fa fix: range map 2022-10-26 23:31:34 +08:00
Zixuan Chen
a6cdf2e400 refactor: FindPosResult found field 2022-10-26 23:31:34 +08:00
Zixuan Chen
6851934ba6 refactor: rename field 2022-10-26 23:31:34 +08:00
Zixuan Chen
a9134a9844 refactor: find pos result 2022-10-26 23:31:34 +08:00
Zixuan Chen
72599b99d1 feat: notify 2022-10-26 23:31:34 +08:00
Zixuan Chen
66c50d4a9b feat: cursor mut 2022-10-26 23:31:34 +08:00
Zixuan Chen
6181504664 refactor: move range map to rle 2022-10-26 23:31:34 +08:00
Zixuan Chen
02415676ea fix: styling 2022-10-26 23:31:34 +08:00
Zixuan Chen
50b283493d fix: cargo fix 2022-10-26 23:31:34 +08:00
Zixuan Chen
0ce9dbc309 feat: add index map 2022-10-26 23:31:34 +08:00
Zixuan Chen
067fb82058 feat: add rle global index tree trait 2022-10-26 23:31:34 +08:00
Zixuan Chen
04a20b08e1 refactor: use cumulate tree trait 2022-10-26 23:31:34 +08:00
Zixuan Chen
59f59b1c2e feat: add cursor support 2022-10-26 23:31:34 +08:00
Zixuan Chen
29c4d2011e feat: list init 2022-10-26 23:31:34 +08:00
Zixuan Chen
da8b2668e7 chore: cargo fix 2022-08-16 17:05:50 +08:00
Zixuan Chen
722893cdb2 chore: speed up example 2022-08-16 16:46:03 +08:00
Zixuan Chen
9c86dae038 chore: make bench harder 2022-08-16 16:46:03 +08:00
Zixuan Chen
7191668a65 fix: try merging parent after its children removed 2022-08-16 16:46:03 +08:00
Zixuan Chen
ec209f233e chore: refine debug info 2022-08-16 16:46:03 +08:00
Zixuan Chen
3b091d8891 refactor: move bump pointer before Node 2022-08-16 16:46:03 +08:00
Zixuan Chen
9e66e2dc68 fix: fix a delete bug & init bench 2022-08-16 16:46:03 +08:00
Zixuan Chen
07cfc036b7 chore: add slow test config 2022-08-16 16:46:03 +08:00
Zixuan Chen
cb0701ebf0 test: add fuzzy test 2022-08-16 16:46:03 +08:00
Zixuan Chen
cdb83c0d03 refactor: simplify type 2022-08-16 16:46:03 +08:00
Zixuan Chen
9755782cf9 refactor: use ouroboros to self-ref
previous solution has a fatal bug when dropping
2022-08-16 16:46:03 +08:00
Zixuan Chen
f7db72d99e chore: fix warnings 2022-08-16 16:46:03 +08:00
Zixuan Chen
12e29374dc fix: use &mut instead of BumpBox for Node
using BumpBox for struct that contains data on the same Bump will cause undefined behavior
2022-08-16 16:46:03 +08:00
Zixuan Chen
7bef4eee93 test: fix test impl 2022-08-16 16:46:03 +08:00
Zixuan Chen
6a8087c756 fix: check err 2022-08-16 16:46:03 +08:00
Zixuan Chen
687fd45f61 chore: string fuzzy test setup 2022-08-16 16:46:03 +08:00
Zixuan Chen
34632f61c3 refactor: refine style 2022-08-16 16:46:03 +08:00
Zixuan Chen
4009bc0079 refactor: remove redundant fix_size_vec 2022-08-16 16:46:03 +08:00
Zixuan Chen
bd95ad42e4 chore: custom debug for leaf & internal 2022-08-16 16:46:03 +08:00
Zixuan Chen
e30ba86653 fix: update leaf cache when create new elem by del 2022-08-16 16:46:03 +08:00
Zixuan Chen
c8a83fe676 fix: post delete handler 2022-08-16 16:46:03 +08:00
Zixuan Chen
6ab3565bd8 chore: cargo fix 2022-08-16 16:46:03 +08:00
Zixuan Chen
8807d43eca fix: cache error
- add cache check
- add borrow from siblings test
2022-08-16 16:46:03 +08:00
Zixuan Chen
e19fb6a91b feat: delete range
and fix several insertion bugs
2022-08-16 16:46:03 +08:00
Zixuan Chen
1f0f502be5 fix: fix insertion err
did not inc level
2022-08-16 16:46:03 +08:00
Zixuan Chen
460baf4cbf chore: rm dbg! 2022-08-16 16:46:03 +08:00
Zixuan Chen
550bce2815 feat: delete 2022-08-16 16:46:03 +08:00
Zixuan Chen
3c96a6b224 feat: insertion 2022-08-16 16:46:03 +08:00
Zixuan Chen
028e3ba3f9 feat: rle tree insert 2022-08-16 16:46:03 +08:00
Zixuan Chen
80ea31883e chore: use official enum-as-inner
#[inline] is added by default now in v0.5.1
2022-08-16 16:46:03 +08:00
Zixuan Chen
0127690b11 fix: rletree creator 2022-08-16 16:46:03 +08:00
Zixuan Chen
9ecd0417bd feat: init 2022-08-16 16:46:03 +08:00
Zixuan Chen
d3abb895f2 docs: update doc 2022-08-05 01:34:47 +08:00
Zixuan Chen
1ca2b4226e feat: dag init 2022-08-05 01:34:47 +08:00
Zixuan Chen
6c61c6baf2 feat: op iter 2022-07-19 00:20:59 +08:00
Zixuan Chen
8c0f033950 feat: apply change 2022-07-18 13:53:16 +08:00
Zixuan Chen
aa9590b540 feat: map container 2022-07-18 01:00:50 +08:00
Zixuan Chen
ad7a1c54ce refactor: better insert content trait 2022-07-15 20:32:35 +08:00