mirror of
https://github.com/loro-dev/loro.git
synced 2025-01-23 05:24:51 +00:00
d942e3d7a2
* feat: richtext wip * feat: add insert to style range map wip * feat: richtext state * fix: fix style state inserting and style map * fix: tiny vec merge err * fix: comment err * refactor: use new generic-btree & refine impl * feat: fugue tracker * feat: tracker * feat: tracker * fix: fix a few err in impl * feat: init richtext content state * feat: refactor arena * feat: extract anchor_type info out of style flag * refactor: state apply op more efficiently we can now reuse the repr in state and op * fix: new clippy errors * refactor: use state chunk as delta item * refactor: use two op to insert style start and style end * feat: diff calc * feat: handler * fix: tracker checkout err * fix: pass basic richtext handler tests * fix: pass handler basic marking tests * fix: pass all peritext criteria * feat: snapshot encoding for richtext init * refactor: replace Text with Richtext * refacotr: rm text code * fix: richtext checkout err * refactor: diff of text and map * refactor: del span * refactor: event * fix: fuzz err * fix: pass all tests * fix: fuzz err * fix: list child cache err * chore: rm debug code * fix: encode enhanced err * fix: encode enchanced * fix: fix several richtext issue * fix: richtext anchor err * chore: rm debug code * fix: richtext fuzz err * feat: speedup text snapshot decode * perf: optimize snapshot encoding * perf: speed up decode & insert * fix: fugue span merge err * perf: speedup delete & id cursor map * fix: fugue merge err * chore: update utils * perf: speedup text insert / del * fix: cursor cache * perf: reduce conversion by introducing InsertText * perf: speed up by refined cursor cache * chore: update gbtree dep * refactor(wasm): use quill delta format * chore: fix warnings
85 lines
2.3 KiB
TOML
85 lines
2.3 KiB
TOML
[package]
|
|
name = "loro-internal"
|
|
version = "0.1.0"
|
|
edition = "2021"
|
|
|
|
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
|
|
|
[dependencies]
|
|
string_cache = "0.8.7"
|
|
rle = { path = "../rle" }
|
|
loro-preload = { path = "../loro-preload" }
|
|
loro-common = { path = "../loro-common" }
|
|
smallvec = { version = "1.8.0", features = ["serde"] }
|
|
postcard = "1"
|
|
fxhash = "0.2.1"
|
|
serde = { version = "1", features = ["derive"] }
|
|
thiserror = "1"
|
|
enum-as-inner = "0.5.1"
|
|
num = "0.4.0"
|
|
crdt-list = { version = "0.4.0" }
|
|
rand = { version = "0.8.5", optional = true }
|
|
arbitrary = { version = "1", optional = true }
|
|
tabled = { version = "0.10.0", optional = true }
|
|
wasm-bindgen = { version = "0.2.83", optional = true }
|
|
serde-wasm-bindgen = { version = "0.5.0", optional = true }
|
|
js-sys = { version = "0.3.60", optional = true }
|
|
serde_json = { version = "1" }
|
|
arref = "0.1.0"
|
|
debug-log = { version = "0.1.4", features = [] }
|
|
serde_columnar = { version = "0.3.2" }
|
|
tracing = { version = "0.1.37" }
|
|
append-only-bytes = { version = "0.1.12", features = ["u32_range"] }
|
|
itertools = "0.11.0"
|
|
enum_dispatch = "0.3.11"
|
|
im = "15.1.0"
|
|
jumprope = { version = "1.1.2", features = ["wchar_conversion"] }
|
|
generic-btree = { version = "0.8.0" }
|
|
miniz_oxide = "0.7.1"
|
|
getrandom = "0.2.10"
|
|
zerovec = { version = "0.9.4", features = ["serde", "derive"] }
|
|
once_cell = "1.18.0"
|
|
|
|
[dev-dependencies]
|
|
serde_json = "1.0.87"
|
|
dhat = "0.3.1"
|
|
rand = { version = "0.8.5" }
|
|
proptest = "1.0.0"
|
|
proptest-derive = "0.3.0"
|
|
static_assertions = "1.1.0"
|
|
tabled = "0.10.0"
|
|
color-backtrace = { version = "0.5" }
|
|
ctor = "0.1.23"
|
|
criterion = "0.4.0"
|
|
flate2 = "1.0.24"
|
|
arbtest = "0.2.0"
|
|
bench-utils = { path = "../bench-utils" }
|
|
|
|
# See https://matklad.github.io/2021/02/27/delete-cargo-integration-tests.html
|
|
[lib]
|
|
doctest = false
|
|
bench = false
|
|
|
|
[features]
|
|
default = []
|
|
compress = ["serde_columnar/compress"]
|
|
# "wasm" will use utf-16 index by default when using text related stuff; But it'll use utf-8 encoding internally.
|
|
wasm = ["wasm-bindgen", "js-sys", "serde-wasm-bindgen", "loro-common/wasm"]
|
|
# whether to use list slice instead of raw str in text container
|
|
test_utils = ["crdt-list/fuzzing", "rand", "arbitrary", "tabled"]
|
|
|
|
[[bench]]
|
|
name = "text_r"
|
|
harness = false
|
|
|
|
[[bench]]
|
|
name = "list"
|
|
harness = false
|
|
|
|
[[bench]]
|
|
name = "encode"
|
|
harness = false
|
|
|
|
[[bench]]
|
|
name = "pending"
|
|
harness = false
|