diff options
Diffstat (limited to 'src/config/option')
-rw-r--r-- | src/config/option/mod.rs | 2 | ||||
-rw-r--r-- | src/config/option/new_tab_option.rs | 19 |
2 files changed, 21 insertions, 0 deletions
diff --git a/src/config/option/mod.rs b/src/config/option/mod.rs index cf90f1b..fe53e57 100644 --- a/src/config/option/mod.rs +++ b/src/config/option/mod.rs @@ -1,5 +1,6 @@ pub mod display_option; pub mod linemodes; +pub mod new_tab_option; pub mod preview_option; pub mod select_option; pub mod sort_option; @@ -8,6 +9,7 @@ pub mod tab_option; pub use self::display_option::*; pub use self::linemodes::*; +pub use self::new_tab_option::*; pub use self::preview_option::*; pub use self::select_option::*; pub use self::sort_option::*; diff --git a/src/config/option/new_tab_option.rs b/src/config/option/new_tab_option.rs new file mode 100644 index 0000000..ffb15ca --- /dev/null +++ b/src/config/option/new_tab_option.rs @@ -0,0 +1,19 @@ +#[derive(Clone, Debug, Default, PartialEq, Eq)] +pub enum NewTabMode { + #[default] + Default, + CurrentTabDir, + CursorDir, + Directory(String), +} + +impl NewTabMode { + pub fn from_str(arg: &str) -> NewTabMode { + match arg.trim() { + "" => NewTabMode::Default, + "--current" => NewTabMode::CurrentTabDir, + "--cursor" => NewTabMode::CursorDir, + dir => NewTabMode::Directory(String::from(dir)), + } + } +} |