Skip to main content

Crate xi_rope

Crate xi_rope 

Expand description

Trees for text.

Modules§

breaks
A module for representing a set of breaks, typically used for storing the result of line breaking.
compare
Fast comparison of rope regions, principally for diffing.
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.
diff
Computing deltas between two ropes.
engine
An engine for handling edits (possibly from async sources) and undo. It conceptually represents the current text and all edit history for that text.
find
Implementation of string finding in ropes.
interval
Closed-open intervals, and operations on them.
multiset
A data structure for representing multi-subsets of sequences (typically strings).
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.
tree
A general b-tree structure suitable for ropes and the like.

Structs§

Cursor
A data structure for traversing boundaries in a tree.
Delta
Represents changes to a document by describing the new document as a sequence of sections copied from the old document and of new inserted text. Deletions are represented by gaps in the ranges copied from the old document.
DeltaBuilder
A builder for creating new Delta objects.
Interval
A fancy version of Range, representing a closed-open range; the interval [5, 7) is the set {5, 6}.
LinesMetric
RopeInfo
Transformer
A mapping from coordinates in the source sequence to coordinates in the sequence after the delta is applied.

Enums§

DeltaElement

Traits§

Metric
A trait for quickly processing attributes of a NodeInfo.

Type Aliases§

Rope
A rope data structure.
RopeDelta
Represents a transform from one rope to another.