summaryrefslogtreecommitdiffstats
path: root/zellij-tile
diff options
context:
space:
mode:
authora-kenji <aks.kenji@protonmail.com>2021-05-29 18:18:30 +0200
committerGitHub <noreply@github.com>2021-05-29 18:18:30 +0200
commit4c079ca25d0d4ebbfbe48f30ff787ebd2864bdf7 (patch)
tree7cfde72edb544a450bae4afdc5d4485783f33366 /zellij-tile
parentef7424d90661310c9d3a375b01bb1b7b573e4089 (diff)
parentec5476d3a593e20f11a898338a941fb90e0cab1b (diff)
Merge pull request #513 from a-kenji/default-mode-368
Default mode 368
Diffstat (limited to 'zellij-tile')
-rw-r--r--zellij-tile/src/data.rs18
1 files changed, 18 insertions, 0 deletions
diff --git a/zellij-tile/src/data.rs b/zellij-tile/src/data.rs
index cb4b2aa01..3bd926ca6 100644
--- a/zellij-tile/src/data.rs
+++ b/zellij-tile/src/data.rs
@@ -1,4 +1,5 @@
use serde::{Deserialize, Serialize};
+use std::str::FromStr;
use strum_macros::{EnumDiscriminants, EnumIter, EnumString, ToString};
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
@@ -92,6 +93,23 @@ impl Default for PaletteColor {
}
}
+impl FromStr for InputMode {
+ type Err = Box<dyn std::error::Error>;
+
+ fn from_str(s: &str) -> Result<Self, Self::Err> {
+ match s {
+ "normal" => Ok(InputMode::Normal),
+ "resize" => Ok(InputMode::Resize),
+ "locked" => Ok(InputMode::Locked),
+ "pane" => Ok(InputMode::Pane),
+ "tab" => Ok(InputMode::Tab),
+ "scroll" => Ok(InputMode::Scroll),
+ "renametab" => Ok(InputMode::RenameTab),
+ e => Err(e.to_string().into()),
+ }
+ }
+}
+
#[derive(Clone, Copy, Debug, Serialize, Deserialize, PartialEq, Eq, Hash)]
pub enum PaletteSource {
Default,