diff options
author | a-kenji <aks.kenji@protonmail.com> | 2021-05-29 18:18:30 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-05-29 18:18:30 +0200 |
commit | 4c079ca25d0d4ebbfbe48f30ff787ebd2864bdf7 (patch) | |
tree | 7cfde72edb544a450bae4afdc5d4485783f33366 /zellij-tile | |
parent | ef7424d90661310c9d3a375b01bb1b7b573e4089 (diff) | |
parent | ec5476d3a593e20f11a898338a941fb90e0cab1b (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.rs | 18 |
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, |