mod change;
mod find_char;
mod mode;
mod mode_entry;
mod repeat;
pub use {
change::{ChangeLine, ChangeToEndOfLine},
find_char::ExecuteFindChar,
mode::{
CancelCommandLineMode, CancelToNormal, CmdlineBackspace, CmdlineCompleteNext,
CmdlineCompletePrev, CmdlineCursorEnd, CmdlineCursorHome, CmdlineCursorLeft,
CmdlineCursorRight, CmdlineDeleteChar, CmdlineDeleteToStart, CmdlineDeleteWord,
CmdlineHistoryDown, CmdlineHistoryUp, EnterCommandLineMode, EnterInsertMode,
EnterInsertModeAppend, EnterReplaceMode, EnterSearchBackward, EnterSearchForward,
EnterWindowMode, ExitCommandLineMode, ExitToNormal, ReplaceBackspace,
},
mode_entry::{EnterInsertEndOfLine, EnterInsertFirstNonBlank, OpenLineAbove, OpenLineBelow},
repeat::DotRepeat,
};
use reovim_driver_command::CommandHandler;
#[must_use]
pub fn mode_commands() -> Vec<Box<dyn CommandHandler>> {
vec![
Box::new(EnterInsertMode),
Box::new(EnterInsertModeAppend),
Box::new(EnterReplaceMode),
Box::new(ReplaceBackspace),
Box::new(ExitToNormal),
Box::new(EnterWindowMode),
Box::new(CancelToNormal),
Box::new(EnterCommandLineMode),
Box::new(ExitCommandLineMode),
Box::new(CancelCommandLineMode),
Box::new(EnterSearchForward),
Box::new(EnterSearchBackward),
Box::new(EnterInsertFirstNonBlank),
Box::new(EnterInsertEndOfLine),
Box::new(OpenLineBelow),
Box::new(OpenLineAbove),
Box::new(ChangeLine),
Box::new(ChangeToEndOfLine),
Box::new(ExecuteFindChar),
Box::new(DotRepeat),
Box::new(CmdlineCursorLeft),
Box::new(CmdlineCursorRight),
Box::new(CmdlineCursorHome),
Box::new(CmdlineCursorEnd),
Box::new(CmdlineDeleteChar),
Box::new(CmdlineBackspace),
Box::new(CmdlineDeleteWord),
Box::new(CmdlineDeleteToStart),
Box::new(CmdlineHistoryUp),
Box::new(CmdlineHistoryDown),
Box::new(CmdlineCompleteNext),
Box::new(CmdlineCompletePrev),
]
}
#[cfg(test)]
mod tests;