summaryrefslogtreecommitdiffstats
path: root/zellij-utils/src/kdl/mod.rs
diff options
context:
space:
mode:
Diffstat (limited to 'zellij-utils/src/kdl/mod.rs')
-rw-r--r--zellij-utils/src/kdl/mod.rs23
1 files changed, 23 insertions, 0 deletions
diff --git a/zellij-utils/src/kdl/mod.rs b/zellij-utils/src/kdl/mod.rs
index 763e5b1cd..23d7e69ea 100644
--- a/zellij-utils/src/kdl/mod.rs
+++ b/zellij-utils/src/kdl/mod.rs
@@ -453,6 +453,24 @@ impl Action {
})?;
Ok(Action::MoveFocusOrTab(direction))
},
+ "MoveTab" => {
+ let direction = Direction::from_str(string.as_str()).map_err(|_| {
+ ConfigError::new_kdl_error(
+ format!("Invalid direction: '{}'", string),
+ action_node.span().offset(),
+ action_node.span().len(),
+ )
+ })?;
+ if direction.is_vertical() {
+ Err(ConfigError::new_kdl_error(
+ format!("Invalid horizontal direction: '{}'", string),
+ action_node.span().offset(),
+ action_node.span().len(),
+ ))
+ } else {
+ Ok(Action::MoveTab(direction))
+ }
+ },
"MovePane" => {
if string.is_empty() {
return Ok(Action::MovePane(None));
@@ -738,6 +756,11 @@ impl TryFrom<(&KdlNode, &Options)> for Action {
action_arguments,
kdl_action
),
+ "MoveTab" => parse_kdl_action_char_or_string_arguments!(
+ action_name,
+ action_arguments,
+ kdl_action
+ ),
"MoveFocusOrTab" => parse_kdl_action_char_or_string_arguments!(
action_name,
action_arguments,