#[derive(Debug, Clone, PartialEq)]
pub enum EditorAction {
TypeCharacter(char),
TypeString(String),
Backspace,
Delete,
Newline,
Paste(String),
MoveLeft,
MoveRight,
MoveUp,
MoveDown,
MoveToBeginningOfLine,
MoveToEndOfLine,
MoveWordLeft,
MoveWordRight,
SelectLeft,
SelectRight,
SelectUp,
SelectDown,
SelectWordLeft,
SelectWordRight,
SelectAll,
Undo,
Redo,
Cut,
Copy,
DeleteLine,
DeleteToBeginningOfLine,
DeleteToEndOfLine,
DeleteWordLeft,
DeleteWordRight,
MoveLineUp,
MoveLineDown,
Tab,
Outdent,
IncreaseFontSize,
DecreaseFontSize,
ResetFontSize,
Quit,
SetCursorPosition { row: usize, column: usize },
StartSelection { row: usize, column: usize },
ExtendSelection { row: usize, column: usize },
}