├── .editorconfig ├── .gitignore ├── .vscode └── settings.json ├── Cargo.toml ├── LICENSE ├── README.md ├── benches ├── automerge-paper.json.gz ├── automerge.rs ├── bench.rs └── rich-text.rs ├── crdt-richtext-wasm ├── .cargo │ └── config.toml ├── .gitignore ├── .npmignore ├── Cargo.toml ├── LICENSE ├── README.md ├── package.json ├── scripts │ └── build.mjs ├── src │ ├── lib.rs │ └── log.rs ├── tests │ └── rich_text.test.ts └── yarn.lock ├── deno.json ├── deno.lock ├── examples └── bench.rs ├── fuzz ├── .gitignore ├── Cargo.lock ├── Cargo.toml └── fuzz_targets │ ├── basic.rs │ ├── five-actors.rs │ ├── rich-text-apply.rs │ ├── rich-text-match.rs │ ├── rich-text-utf16.rs │ └── rich-text.rs ├── js ├── .gitignore ├── package.json ├── packages │ └── cr-quill │ │ ├── .gitignore │ │ ├── .vite │ │ └── deps_temp_cd4bf69d │ │ │ └── package.json │ │ ├── .vscode │ │ └── extensions.json │ │ ├── README.md │ │ ├── index.html │ │ ├── package.json │ │ ├── public │ │ └── Loro.svg │ │ ├── src │ │ ├── App.vue │ │ ├── assets │ │ │ └── Loro.svg │ │ ├── binding.ts │ │ ├── components │ │ │ └── HelloWorld.vue │ │ ├── main.ts │ │ ├── style.css │ │ └── vite-env.d.ts │ │ ├── tsconfig.json │ │ ├── tsconfig.node.json │ │ └── vite.config.ts ├── pnpm-lock.yaml └── pnpm-workspace.yaml └── src ├── legacy ├── README.md ├── mod.rs ├── range_map.rs ├── range_map │ ├── dumb_impl.rs │ └── tree_impl.rs ├── test.rs └── test_utils.rs ├── lib.rs ├── rich_text.rs ├── rich_text ├── ann.rs ├── cursor.rs ├── delta.rs ├── encoding.rs ├── error.rs ├── event.rs ├── id_map.rs ├── iter.rs ├── op.rs ├── rich_tree.rs ├── rich_tree │ ├── query.rs │ ├── rich_tree_btree_impl.rs │ └── utf16.rs ├── test.rs ├── test_utils.rs ├── test_utils │ └── fuzz_line_breaks.rs └── vv.rs ├── small_set.rs └── test_utils.rs /.editorconfig: -------------------------------------------------------------------------------- 1 | [*.rs] 2 | indent_size = 4 3 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loro-dev/crdt-richtext/HEAD/.gitignore -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loro-dev/crdt-richtext/HEAD/.vscode/settings.json -------------------------------------------------------------------------------- /Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loro-dev/crdt-richtext/HEAD/Cargo.toml -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loro-dev/crdt-richtext/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loro-dev/crdt-richtext/HEAD/README.md -------------------------------------------------------------------------------- /benches/automerge-paper.json.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loro-dev/crdt-richtext/HEAD/benches/automerge-paper.json.gz -------------------------------------------------------------------------------- /benches/automerge.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loro-dev/crdt-richtext/HEAD/benches/automerge.rs -------------------------------------------------------------------------------- /benches/bench.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loro-dev/crdt-richtext/HEAD/benches/bench.rs -------------------------------------------------------------------------------- /benches/rich-text.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loro-dev/crdt-richtext/HEAD/benches/rich-text.rs -------------------------------------------------------------------------------- /crdt-richtext-wasm/.cargo/config.toml: -------------------------------------------------------------------------------- 1 | [profile.release] 2 | lto = true 3 | -------------------------------------------------------------------------------- /crdt-richtext-wasm/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loro-dev/crdt-richtext/HEAD/crdt-richtext-wasm/.gitignore -------------------------------------------------------------------------------- /crdt-richtext-wasm/.npmignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loro-dev/crdt-richtext/HEAD/crdt-richtext-wasm/.npmignore -------------------------------------------------------------------------------- /crdt-richtext-wasm/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loro-dev/crdt-richtext/HEAD/crdt-richtext-wasm/Cargo.toml -------------------------------------------------------------------------------- /crdt-richtext-wasm/LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loro-dev/crdt-richtext/HEAD/crdt-richtext-wasm/LICENSE -------------------------------------------------------------------------------- /crdt-richtext-wasm/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loro-dev/crdt-richtext/HEAD/crdt-richtext-wasm/README.md -------------------------------------------------------------------------------- /crdt-richtext-wasm/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loro-dev/crdt-richtext/HEAD/crdt-richtext-wasm/package.json -------------------------------------------------------------------------------- /crdt-richtext-wasm/scripts/build.mjs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loro-dev/crdt-richtext/HEAD/crdt-richtext-wasm/scripts/build.mjs -------------------------------------------------------------------------------- /crdt-richtext-wasm/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loro-dev/crdt-richtext/HEAD/crdt-richtext-wasm/src/lib.rs -------------------------------------------------------------------------------- /crdt-richtext-wasm/src/log.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loro-dev/crdt-richtext/HEAD/crdt-richtext-wasm/src/log.rs -------------------------------------------------------------------------------- /crdt-richtext-wasm/tests/rich_text.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loro-dev/crdt-richtext/HEAD/crdt-richtext-wasm/tests/rich_text.test.ts -------------------------------------------------------------------------------- /crdt-richtext-wasm/yarn.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loro-dev/crdt-richtext/HEAD/crdt-richtext-wasm/yarn.lock -------------------------------------------------------------------------------- /deno.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loro-dev/crdt-richtext/HEAD/deno.json -------------------------------------------------------------------------------- /deno.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loro-dev/crdt-richtext/HEAD/deno.lock -------------------------------------------------------------------------------- /examples/bench.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loro-dev/crdt-richtext/HEAD/examples/bench.rs -------------------------------------------------------------------------------- /fuzz/.gitignore: -------------------------------------------------------------------------------- 1 | target 2 | corpus 3 | artifacts 4 | -------------------------------------------------------------------------------- /fuzz/Cargo.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loro-dev/crdt-richtext/HEAD/fuzz/Cargo.lock -------------------------------------------------------------------------------- /fuzz/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loro-dev/crdt-richtext/HEAD/fuzz/Cargo.toml -------------------------------------------------------------------------------- /fuzz/fuzz_targets/basic.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loro-dev/crdt-richtext/HEAD/fuzz/fuzz_targets/basic.rs -------------------------------------------------------------------------------- /fuzz/fuzz_targets/five-actors.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loro-dev/crdt-richtext/HEAD/fuzz/fuzz_targets/five-actors.rs -------------------------------------------------------------------------------- /fuzz/fuzz_targets/rich-text-apply.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loro-dev/crdt-richtext/HEAD/fuzz/fuzz_targets/rich-text-apply.rs -------------------------------------------------------------------------------- /fuzz/fuzz_targets/rich-text-match.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loro-dev/crdt-richtext/HEAD/fuzz/fuzz_targets/rich-text-match.rs -------------------------------------------------------------------------------- /fuzz/fuzz_targets/rich-text-utf16.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loro-dev/crdt-richtext/HEAD/fuzz/fuzz_targets/rich-text-utf16.rs -------------------------------------------------------------------------------- /fuzz/fuzz_targets/rich-text.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loro-dev/crdt-richtext/HEAD/fuzz/fuzz_targets/rich-text.rs -------------------------------------------------------------------------------- /js/.gitignore: -------------------------------------------------------------------------------- 1 | node_modules/ 2 | -------------------------------------------------------------------------------- /js/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loro-dev/crdt-richtext/HEAD/js/package.json -------------------------------------------------------------------------------- /js/packages/cr-quill/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loro-dev/crdt-richtext/HEAD/js/packages/cr-quill/.gitignore -------------------------------------------------------------------------------- /js/packages/cr-quill/.vite/deps_temp_cd4bf69d/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "module" 3 | } 4 | -------------------------------------------------------------------------------- /js/packages/cr-quill/.vscode/extensions.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loro-dev/crdt-richtext/HEAD/js/packages/cr-quill/.vscode/extensions.json -------------------------------------------------------------------------------- /js/packages/cr-quill/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loro-dev/crdt-richtext/HEAD/js/packages/cr-quill/README.md -------------------------------------------------------------------------------- /js/packages/cr-quill/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loro-dev/crdt-richtext/HEAD/js/packages/cr-quill/index.html -------------------------------------------------------------------------------- /js/packages/cr-quill/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loro-dev/crdt-richtext/HEAD/js/packages/cr-quill/package.json -------------------------------------------------------------------------------- /js/packages/cr-quill/public/Loro.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loro-dev/crdt-richtext/HEAD/js/packages/cr-quill/public/Loro.svg -------------------------------------------------------------------------------- /js/packages/cr-quill/src/App.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loro-dev/crdt-richtext/HEAD/js/packages/cr-quill/src/App.vue -------------------------------------------------------------------------------- /js/packages/cr-quill/src/assets/Loro.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loro-dev/crdt-richtext/HEAD/js/packages/cr-quill/src/assets/Loro.svg -------------------------------------------------------------------------------- /js/packages/cr-quill/src/binding.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loro-dev/crdt-richtext/HEAD/js/packages/cr-quill/src/binding.ts -------------------------------------------------------------------------------- /js/packages/cr-quill/src/components/HelloWorld.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loro-dev/crdt-richtext/HEAD/js/packages/cr-quill/src/components/HelloWorld.vue -------------------------------------------------------------------------------- /js/packages/cr-quill/src/main.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loro-dev/crdt-richtext/HEAD/js/packages/cr-quill/src/main.ts -------------------------------------------------------------------------------- /js/packages/cr-quill/src/style.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loro-dev/crdt-richtext/HEAD/js/packages/cr-quill/src/style.css -------------------------------------------------------------------------------- /js/packages/cr-quill/src/vite-env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | -------------------------------------------------------------------------------- /js/packages/cr-quill/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loro-dev/crdt-richtext/HEAD/js/packages/cr-quill/tsconfig.json -------------------------------------------------------------------------------- /js/packages/cr-quill/tsconfig.node.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loro-dev/crdt-richtext/HEAD/js/packages/cr-quill/tsconfig.node.json -------------------------------------------------------------------------------- /js/packages/cr-quill/vite.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loro-dev/crdt-richtext/HEAD/js/packages/cr-quill/vite.config.ts -------------------------------------------------------------------------------- /js/pnpm-lock.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loro-dev/crdt-richtext/HEAD/js/pnpm-lock.yaml -------------------------------------------------------------------------------- /js/pnpm-workspace.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loro-dev/crdt-richtext/HEAD/js/pnpm-workspace.yaml -------------------------------------------------------------------------------- /src/legacy/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loro-dev/crdt-richtext/HEAD/src/legacy/README.md -------------------------------------------------------------------------------- /src/legacy/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loro-dev/crdt-richtext/HEAD/src/legacy/mod.rs -------------------------------------------------------------------------------- /src/legacy/range_map.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loro-dev/crdt-richtext/HEAD/src/legacy/range_map.rs -------------------------------------------------------------------------------- /src/legacy/range_map/dumb_impl.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loro-dev/crdt-richtext/HEAD/src/legacy/range_map/dumb_impl.rs -------------------------------------------------------------------------------- /src/legacy/range_map/tree_impl.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loro-dev/crdt-richtext/HEAD/src/legacy/range_map/tree_impl.rs -------------------------------------------------------------------------------- /src/legacy/test.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loro-dev/crdt-richtext/HEAD/src/legacy/test.rs -------------------------------------------------------------------------------- /src/legacy/test_utils.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loro-dev/crdt-richtext/HEAD/src/legacy/test_utils.rs -------------------------------------------------------------------------------- /src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loro-dev/crdt-richtext/HEAD/src/lib.rs -------------------------------------------------------------------------------- /src/rich_text.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loro-dev/crdt-richtext/HEAD/src/rich_text.rs -------------------------------------------------------------------------------- /src/rich_text/ann.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loro-dev/crdt-richtext/HEAD/src/rich_text/ann.rs -------------------------------------------------------------------------------- /src/rich_text/cursor.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loro-dev/crdt-richtext/HEAD/src/rich_text/cursor.rs -------------------------------------------------------------------------------- /src/rich_text/delta.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loro-dev/crdt-richtext/HEAD/src/rich_text/delta.rs -------------------------------------------------------------------------------- /src/rich_text/encoding.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loro-dev/crdt-richtext/HEAD/src/rich_text/encoding.rs -------------------------------------------------------------------------------- /src/rich_text/error.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loro-dev/crdt-richtext/HEAD/src/rich_text/error.rs -------------------------------------------------------------------------------- /src/rich_text/event.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loro-dev/crdt-richtext/HEAD/src/rich_text/event.rs -------------------------------------------------------------------------------- /src/rich_text/id_map.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loro-dev/crdt-richtext/HEAD/src/rich_text/id_map.rs -------------------------------------------------------------------------------- /src/rich_text/iter.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loro-dev/crdt-richtext/HEAD/src/rich_text/iter.rs -------------------------------------------------------------------------------- /src/rich_text/op.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loro-dev/crdt-richtext/HEAD/src/rich_text/op.rs -------------------------------------------------------------------------------- /src/rich_text/rich_tree.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loro-dev/crdt-richtext/HEAD/src/rich_text/rich_tree.rs -------------------------------------------------------------------------------- /src/rich_text/rich_tree/query.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loro-dev/crdt-richtext/HEAD/src/rich_text/rich_tree/query.rs -------------------------------------------------------------------------------- /src/rich_text/rich_tree/rich_tree_btree_impl.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loro-dev/crdt-richtext/HEAD/src/rich_text/rich_tree/rich_tree_btree_impl.rs -------------------------------------------------------------------------------- /src/rich_text/rich_tree/utf16.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loro-dev/crdt-richtext/HEAD/src/rich_text/rich_tree/utf16.rs -------------------------------------------------------------------------------- /src/rich_text/test.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loro-dev/crdt-richtext/HEAD/src/rich_text/test.rs -------------------------------------------------------------------------------- /src/rich_text/test_utils.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loro-dev/crdt-richtext/HEAD/src/rich_text/test_utils.rs -------------------------------------------------------------------------------- /src/rich_text/test_utils/fuzz_line_breaks.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loro-dev/crdt-richtext/HEAD/src/rich_text/test_utils/fuzz_line_breaks.rs -------------------------------------------------------------------------------- /src/rich_text/vv.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loro-dev/crdt-richtext/HEAD/src/rich_text/vv.rs -------------------------------------------------------------------------------- /src/small_set.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loro-dev/crdt-richtext/HEAD/src/small_set.rs -------------------------------------------------------------------------------- /src/test_utils.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loro-dev/crdt-richtext/HEAD/src/test_utils.rs --------------------------------------------------------------------------------