diff options
author | Aram Drevekenin <aram@poor.dev> | 2024-02-26 10:48:02 +0100 |
---|---|---|
committer | Aram Drevekenin <aram@poor.dev> | 2024-02-26 10:48:02 +0100 |
commit | 5071b54b26eb6bede1760e1dd5540c8959b108f5 (patch) | |
tree | f5a7aa488ece8f21c17350bb3ec14ceaf15f60a7 /zellij-utils/src/kdl | |
parent | af17598f3d121fe0373d7f766b17cd437ce0ab49 (diff) | |
parent | 27bffbf1533b4b2d3c10b1305557c75ddd121374 (diff) |
Merge branch 'main' into plugin-aliasesplugin-aliases
Diffstat (limited to 'zellij-utils/src/kdl')
-rw-r--r-- | zellij-utils/src/kdl/mod.rs | 23 |
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, |