#buffer #edit #text

text-buffer

An implementation of a gap buffer

1 unstable release

0.1.0 Feb 21, 2024

#212 in Text editors

GPL-3.0-or-later

82KB
2K SLoC

Text Buffer

An implementation of a gap buffer for use in rune.

benchmarks

Basic benchmarks located under /benches directory. Run with cargo bench

fuzzing

Fuzzer located at fuzz/fuzz_targets/fuzz_buffers.rs. After installing cargo fuzz, run with cargo +nightly fuzz run fuzz_buffers. Note that the same file has a function create_repo to automatically create a reproduction test of the fuzzer output. Add these to the unit tests.

reference tests

Reference tests are located at reference-tests/src/main.rs. Change to that directory and run with cargo test. These are a set of editing traces developed by the author of jumprope-rs.

If failures are encountered, you can run against the reference javascript implementation to get the exact failing change with reference-tests/run.py.

Dependencies

~1–1.5MB
~31K SLoC