Crate xi_rope [] [src]

A rope data structure suitable for text editing

Modules

breaks

A module for representing a set of breaks, typically used for storing the result of line breaking.

delta

A data structure for representing editing operations on ropes. It's useful to explicitly represent these operations so they can be shared across multiple subsystems.

engine

An engine for handling edits (possibly from async sources) and undo. This module actually implements a mini Conflict-free Replicated Data Type, but is considerably simpler than the usual CRDT implementation techniques, because all operations are serialized in this central engine.

interval

Intervals that can be open or closed at the ends.

rope

A rope data structure with a line count metric and (soon) other useful info.

spans

A module for representing spans (in an interval tree), useful for rich text annotations. It is parameterized over a data type, so can be used for storing different annotations.

subset

A data structure for representing subsets of sequences (typically strings).

tree

A general b-tree structure suitable for ropes and the like.

Structs

ChunkIter
Lines
LinesRaw
Rope

A rope data structure.