|
@@ -2,6 +2,7 @@ use std::collections::HashMap;
|
|
|
|
|
|
use crate::errors::*;
|
|
use crate::errors::*;
|
|
use crate::{view::monitor::Monitor, workspace::Workspace};
|
|
use crate::{view::monitor::Monitor, workspace::Workspace};
|
|
|
|
+use command::{CommandData, CommandRenderer};
|
|
use delete::DeleteRenderer;
|
|
use delete::DeleteRenderer;
|
|
use error::ErrorRenderer;
|
|
use error::ErrorRenderer;
|
|
use error_chain::bail;
|
|
use error_chain::bail;
|
|
@@ -17,8 +18,8 @@ use yaml_rust::Yaml;
|
|
use super::handler::handle_map;
|
|
use super::handler::handle_map;
|
|
use super::Application;
|
|
use super::Application;
|
|
|
|
|
|
|
|
+pub mod command;
|
|
pub mod motion;
|
|
pub mod motion;
|
|
-
|
|
|
|
pub mod delete;
|
|
pub mod delete;
|
|
pub mod error;
|
|
pub mod error;
|
|
mod insert;
|
|
mod insert;
|
|
@@ -31,6 +32,7 @@ pub enum ModeData {
|
|
Error(Error),
|
|
Error(Error),
|
|
Exit,
|
|
Exit,
|
|
Insert,
|
|
Insert,
|
|
|
|
+ Command(CommandData),
|
|
Workspace(WorkspaceModeData),
|
|
Workspace(WorkspaceModeData),
|
|
Search(SearchData),
|
|
Search(SearchData),
|
|
Delete, // Other(OtherData)
|
|
Delete, // Other(OtherData)
|
|
@@ -42,6 +44,7 @@ pub enum ModeKey {
|
|
Error,
|
|
Error,
|
|
Exit,
|
|
Exit,
|
|
Insert,
|
|
Insert,
|
|
|
|
+ Command,
|
|
Workspace,
|
|
Workspace,
|
|
Search,
|
|
Search,
|
|
Delete,
|
|
Delete,
|
|
@@ -52,6 +55,7 @@ impl ModeKey {
|
|
match self {
|
|
match self {
|
|
ModeKey::Normal => Some("normal".into()),
|
|
ModeKey::Normal => Some("normal".into()),
|
|
ModeKey::Insert => Some("insert".into()),
|
|
ModeKey::Insert => Some("insert".into()),
|
|
|
|
+ ModeKey::Command => Some("command".into()),
|
|
ModeKey::Workspace => Some("workspace".into()),
|
|
ModeKey::Workspace => Some("workspace".into()),
|
|
ModeKey::Search => Some("search".into()),
|
|
ModeKey::Search => Some("search".into()),
|
|
ModeKey::Delete => Some("delete".into()),
|
|
ModeKey::Delete => Some("delete".into()),
|
|
@@ -150,6 +154,7 @@ impl ModeRenderer for ModeRouter {
|
|
ModeData::Normal => NormalRenderer::render(workspace, monitor, mode),
|
|
ModeData::Normal => NormalRenderer::render(workspace, monitor, mode),
|
|
ModeData::Error(_) => ErrorRenderer::render(workspace, monitor, mode),
|
|
ModeData::Error(_) => ErrorRenderer::render(workspace, monitor, mode),
|
|
ModeData::Insert => InsertRenderer::render(workspace, monitor, mode),
|
|
ModeData::Insert => InsertRenderer::render(workspace, monitor, mode),
|
|
|
|
+ ModeData::Command(_) => CommandRenderer::render(workspace, monitor, mode),
|
|
ModeData::Workspace(_) => WorkspaceRender::render(workspace, monitor, mode),
|
|
ModeData::Workspace(_) => WorkspaceRender::render(workspace, monitor, mode),
|
|
ModeData::Search(_) => SearchRenderer::render(workspace, monitor, mode),
|
|
ModeData::Search(_) => SearchRenderer::render(workspace, monitor, mode),
|
|
ModeData::Exit => todo!(),
|
|
ModeData::Exit => todo!(),
|