1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
use std::ops::{Range}; /// /// The editing action that can be performed on a rope /// #[derive(Clone, PartialEq, Debug)] pub enum RopeAction<Cell, Attribute> { /// Replaces a range of text in this rope. The attributes applied to /// the new text will be the same as those applied to the first character /// in the replaced range. Replace(Range<usize>, Vec<Cell>), /// Sets the attributes for a range of text in this rope SetAttributes(Range<usize>, Attribute), /// Sets both the attributes and the value for a range of cells ReplaceAttributes(Range<usize>, Vec<Cell>, Attribute) }