use compact_str::CompactString;
pub mod cmdline_ops;
pub mod cursor_ops;
#[derive(Debug, Clone, PartialEq, Eq, Hash)]
pub enum Operation {
CursorMoveBy(( isize, isize)),
CursorMoveLeftBy(usize),
CursorMoveRightBy(usize),
CursorMoveUpBy(usize),
CursorMoveDownBy(usize),
CursorMoveTo(( usize, usize)),
WindowScrollBy(( isize, isize)),
WindowScrollLeftBy(usize),
WindowScrollRightBy(usize),
WindowScrollUpBy(usize),
WindowScrollDownBy(usize),
WindowScrollTo(( usize, usize)),
GotoInsertMode(GotoInsertModeVariant),
GotoNormalMode,
CursorInsert( CursorInsertPayload),
CursorDelete( isize),
GotoCommandLineExMode,
GotoCommandLineSearchForwardMode,
GotoCommandLineSearchBackwardMode,
ConfirmExCommandAndGotoNormalMode,
}
#[derive(Debug, Clone, PartialEq, Eq, Hash)]
pub enum GotoInsertModeVariant {
Keep,
Append,
NewLine,
}
#[derive(Debug, Clone, PartialEq, Eq, Hash)]
pub enum CursorInsertPayload {
Text(CompactString),
Eol,
Tab,
}