Crate xi_rope

Source
Expand description

Trees for text.

Re-exports§

Modules§

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