pub enum UndoableOperation {
Append(usize),
Delete(Vec<u8>),
}Expand description
Contains all possible operations which are eligible for “undo”.
Append and Delete maintain the inverse of their Operation type counterparts,
and hold the data necessary to undo the operation on the buffer.
Variants§
Append(usize)
The undo operation for a previously executed append command. The associated usize is the
count of characters which had been appended, and should now be deleted from the back of
the buffer.
Delete(Vec<u8>)
The undo operation for a previously executed delete command. The associated Vec<u8> is the
set of characters which had been previously popped from the back of the buffer, and should
now be re-appended. Note, the characters are in reverse-order, which is the natural order
after they had been popped from the buffer. As an optimization, the program will lazily
re-order these to be pushed onto the buffer so they are accurately re-appended.