├── .github └── workflows │ └── ci.yml ├── .gitignore ├── BENCHMARKS.md ├── CHANGELOG.md ├── Cargo.toml ├── LICENSE ├── README.md ├── benches ├── common │ └── mod.rs ├── creation.rs ├── editing.rs ├── graphemes.rs ├── iterators.rs ├── metric_conversion.rs ├── serde.rs └── slicing.rs ├── examples └── example_usage.rs ├── fuzz ├── .gitignore ├── Cargo.toml └── fuzz_targets │ └── editing.rs ├── rustfmt.toml ├── src ├── lib.rs ├── rope │ ├── gap_buffer.rs │ ├── gap_slice.rs │ ├── iterators.rs │ ├── metrics.rs │ ├── mod.rs │ ├── rope.rs │ ├── rope_builder.rs │ ├── rope_slice.rs │ └── utils.rs └── tree │ ├── inode.rs │ ├── leaves.rs │ ├── mod.rs │ ├── node.rs │ ├── tiny_arc.rs │ ├── traits.rs │ ├── tree.rs │ ├── tree_builder.rs │ ├── tree_slice.rs │ └── units.rs └── tests ├── chunk_len.rs ├── common ├── large.txt ├── lf.txt ├── medium.txt ├── mod.rs ├── non-ascii.txt ├── small.txt └── tiny.txt ├── graphemes.rs ├── iterators.rs ├── rope_builder.rs ├── rope_indexing.rs ├── rope_replace.rs ├── serde.rs ├── slice_indexing.rs ├── slicing.rs └── utf16_conversion.rs /.github/workflows/ci.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nomad/crop/HEAD/.github/workflows/ci.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /target 2 | /Cargo.lock 3 | -------------------------------------------------------------------------------- /BENCHMARKS.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nomad/crop/HEAD/BENCHMARKS.md -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nomad/crop/HEAD/CHANGELOG.md -------------------------------------------------------------------------------- /Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nomad/crop/HEAD/Cargo.toml -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nomad/crop/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nomad/crop/HEAD/README.md -------------------------------------------------------------------------------- /benches/common/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nomad/crop/HEAD/benches/common/mod.rs -------------------------------------------------------------------------------- /benches/creation.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nomad/crop/HEAD/benches/creation.rs -------------------------------------------------------------------------------- /benches/editing.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nomad/crop/HEAD/benches/editing.rs -------------------------------------------------------------------------------- /benches/graphemes.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nomad/crop/HEAD/benches/graphemes.rs -------------------------------------------------------------------------------- /benches/iterators.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nomad/crop/HEAD/benches/iterators.rs -------------------------------------------------------------------------------- /benches/metric_conversion.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nomad/crop/HEAD/benches/metric_conversion.rs -------------------------------------------------------------------------------- /benches/serde.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nomad/crop/HEAD/benches/serde.rs -------------------------------------------------------------------------------- /benches/slicing.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nomad/crop/HEAD/benches/slicing.rs -------------------------------------------------------------------------------- /examples/example_usage.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nomad/crop/HEAD/examples/example_usage.rs -------------------------------------------------------------------------------- /fuzz/.gitignore: -------------------------------------------------------------------------------- 1 | Cargo.lock 2 | artifacts 3 | corpus 4 | target 5 | -------------------------------------------------------------------------------- /fuzz/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nomad/crop/HEAD/fuzz/Cargo.toml -------------------------------------------------------------------------------- /fuzz/fuzz_targets/editing.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nomad/crop/HEAD/fuzz/fuzz_targets/editing.rs -------------------------------------------------------------------------------- /rustfmt.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nomad/crop/HEAD/rustfmt.toml -------------------------------------------------------------------------------- /src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nomad/crop/HEAD/src/lib.rs -------------------------------------------------------------------------------- /src/rope/gap_buffer.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nomad/crop/HEAD/src/rope/gap_buffer.rs -------------------------------------------------------------------------------- /src/rope/gap_slice.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nomad/crop/HEAD/src/rope/gap_slice.rs -------------------------------------------------------------------------------- /src/rope/iterators.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nomad/crop/HEAD/src/rope/iterators.rs -------------------------------------------------------------------------------- /src/rope/metrics.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nomad/crop/HEAD/src/rope/metrics.rs -------------------------------------------------------------------------------- /src/rope/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nomad/crop/HEAD/src/rope/mod.rs -------------------------------------------------------------------------------- /src/rope/rope.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nomad/crop/HEAD/src/rope/rope.rs -------------------------------------------------------------------------------- /src/rope/rope_builder.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nomad/crop/HEAD/src/rope/rope_builder.rs -------------------------------------------------------------------------------- /src/rope/rope_slice.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nomad/crop/HEAD/src/rope/rope_slice.rs -------------------------------------------------------------------------------- /src/rope/utils.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nomad/crop/HEAD/src/rope/utils.rs -------------------------------------------------------------------------------- /src/tree/inode.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nomad/crop/HEAD/src/tree/inode.rs -------------------------------------------------------------------------------- /src/tree/leaves.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nomad/crop/HEAD/src/tree/leaves.rs -------------------------------------------------------------------------------- /src/tree/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nomad/crop/HEAD/src/tree/mod.rs -------------------------------------------------------------------------------- /src/tree/node.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nomad/crop/HEAD/src/tree/node.rs -------------------------------------------------------------------------------- /src/tree/tiny_arc.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nomad/crop/HEAD/src/tree/tiny_arc.rs -------------------------------------------------------------------------------- /src/tree/traits.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nomad/crop/HEAD/src/tree/traits.rs -------------------------------------------------------------------------------- /src/tree/tree.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nomad/crop/HEAD/src/tree/tree.rs -------------------------------------------------------------------------------- /src/tree/tree_builder.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nomad/crop/HEAD/src/tree/tree_builder.rs -------------------------------------------------------------------------------- /src/tree/tree_slice.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nomad/crop/HEAD/src/tree/tree_slice.rs -------------------------------------------------------------------------------- /src/tree/units.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nomad/crop/HEAD/src/tree/units.rs -------------------------------------------------------------------------------- /tests/chunk_len.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nomad/crop/HEAD/tests/chunk_len.rs -------------------------------------------------------------------------------- /tests/common/large.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nomad/crop/HEAD/tests/common/large.txt -------------------------------------------------------------------------------- /tests/common/lf.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nomad/crop/HEAD/tests/common/lf.txt -------------------------------------------------------------------------------- /tests/common/medium.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nomad/crop/HEAD/tests/common/medium.txt -------------------------------------------------------------------------------- /tests/common/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nomad/crop/HEAD/tests/common/mod.rs -------------------------------------------------------------------------------- /tests/common/non-ascii.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nomad/crop/HEAD/tests/common/non-ascii.txt -------------------------------------------------------------------------------- /tests/common/small.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nomad/crop/HEAD/tests/common/small.txt -------------------------------------------------------------------------------- /tests/common/tiny.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nomad/crop/HEAD/tests/common/tiny.txt -------------------------------------------------------------------------------- /tests/graphemes.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nomad/crop/HEAD/tests/graphemes.rs -------------------------------------------------------------------------------- /tests/iterators.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nomad/crop/HEAD/tests/iterators.rs -------------------------------------------------------------------------------- /tests/rope_builder.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nomad/crop/HEAD/tests/rope_builder.rs -------------------------------------------------------------------------------- /tests/rope_indexing.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nomad/crop/HEAD/tests/rope_indexing.rs -------------------------------------------------------------------------------- /tests/rope_replace.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nomad/crop/HEAD/tests/rope_replace.rs -------------------------------------------------------------------------------- /tests/serde.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nomad/crop/HEAD/tests/serde.rs -------------------------------------------------------------------------------- /tests/slice_indexing.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nomad/crop/HEAD/tests/slice_indexing.rs -------------------------------------------------------------------------------- /tests/slicing.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nomad/crop/HEAD/tests/slicing.rs -------------------------------------------------------------------------------- /tests/utf16_conversion.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nomad/crop/HEAD/tests/utf16_conversion.rs --------------------------------------------------------------------------------