summaryrefslogtreecommitdiffstats
path: root/src/config/option/new_tab_option.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/config/option/new_tab_option.rs')
-rw-r--r--src/config/option/new_tab_option.rs19
1 files changed, 19 insertions, 0 deletions
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)),
+ }
+ }
+}