aboutsummaryrefslogtreecommitdiffstats
path: root/zellij-utils/src/plugin_api
diff options
context:
space:
mode:
authorAram Drevekenin <aram@poor.dev>2026-03-30 16:02:09 +0200
committerGitHub <noreply@github.com>2026-03-30 16:02:09 +0200
commit8ce05f0bbd58acbbca95f95ae14fdc4e866f7391 (patch)
tree57c6d9ee2231a556f938df4f2629511a711518df /zellij-utils/src/plugin_api
parentdocs(changelog): recent windows fixes (diff)
downloadsl0ppij-8ce05f0bbd58acbbca95f95ae14fdc4e866f7391.tar.gz
sl0ppij-8ce05f0bbd58acbbca95f95ae14fdc4e866f7391.tar.xz
sl0ppij-8ce05f0bbd58acbbca95f95ae14fdc4e866f7391.zip
Layout string flag (#4956)
* allow sending a stringified layout with --layout-string * add --tab-id to all the things * fix windows tests * add pr
Diffstat (limited to 'zellij-utils/src/plugin_api')
-rw-r--r--zellij-utils/src/plugin_api/action.rs24
1 files changed, 24 insertions, 0 deletions
diff --git a/zellij-utils/src/plugin_api/action.rs b/zellij-utils/src/plugin_api/action.rs
index 4384eb68..cbd62e5b 100644
--- a/zellij-utils/src/plugin_api/action.rs
+++ b/zellij-utils/src/plugin_api/action.rs
@@ -338,6 +338,7 @@ impl TryFrom<ProtobufAction> for Action {
start_suppressed: false,
coordinates: None,
near_current_pane,
+ tab_id: None,
})
},
_ => Err("Wrong payload for Action::NewPane"),
@@ -353,6 +354,7 @@ impl TryFrom<ProtobufAction> for Action {
pane_name,
coordinates: None,
near_current_pane,
+ tab_id: None,
})
} else {
Ok(Action::NewFloatingPane {
@@ -360,6 +362,7 @@ impl TryFrom<ProtobufAction> for Action {
pane_name: None,
coordinates: None,
near_current_pane,
+ tab_id: None,
})
}
},
@@ -382,6 +385,7 @@ impl TryFrom<ProtobufAction> for Action {
pane_name,
near_current_pane,
borderless,
+ tab_id: None,
})
} else {
Ok(Action::NewTiledPane {
@@ -390,6 +394,7 @@ impl TryFrom<ProtobufAction> for Action {
pane_name: None,
near_current_pane,
borderless,
+ tab_id: None,
})
}
},
@@ -658,6 +663,7 @@ impl TryFrom<ProtobufAction> for Action {
should_open_in_place,
close_replaced_pane: false,
skip_cache: skip_plugin_cache,
+ tab_id: None,
})
},
_ => Err("Wrong payload for Action::LaunchOrFocusPlugin"),
@@ -688,6 +694,7 @@ impl TryFrom<ProtobufAction> for Action {
close_replaced_pane: false,
skip_cache: skip_plugin_cache,
cwd: None,
+ tab_id: None,
})
},
_ => Err("Wrong payload for Action::LaunchOrFocusPlugin"),
@@ -807,6 +814,7 @@ impl TryFrom<ProtobufAction> for Action {
pane_name,
skip_cache: skip_plugin_cache,
cwd: None,
+ tab_id: None,
})
},
_ => Err("Wrong payload for Action::NewTiledPluginPane"),
@@ -832,6 +840,7 @@ impl TryFrom<ProtobufAction> for Action {
skip_cache: skip_plugin_cache,
cwd: None,
coordinates: None,
+ tab_id: None,
})
},
_ => Err("Wrong payload for Action::MiddleClick"),
@@ -984,6 +993,7 @@ impl TryFrom<ProtobufAction> for Action {
command: None,
pane_name: None,
near_current_pane: false,
+ tab_id: None,
}),
},
Some(ProtobufActionName::NewBlockingPane) => match protobuf_action.optional_payload {
@@ -1005,6 +1015,7 @@ impl TryFrom<ProtobufAction> for Action {
command,
unblock_condition,
near_current_pane,
+ tab_id: None,
})
},
_ => Err("Wrong payload for Action::NewBlockingPane"),
@@ -1024,6 +1035,7 @@ impl TryFrom<ProtobufAction> for Action {
near_current_pane,
pane_id_to_replace,
close_replaced_pane,
+ tab_id: None,
})
} else {
Ok(Action::NewInPlacePane {
@@ -1032,6 +1044,7 @@ impl TryFrom<ProtobufAction> for Action {
near_current_pane,
pane_id_to_replace,
close_replaced_pane,
+ tab_id: None,
})
}
},
@@ -1298,6 +1311,7 @@ impl TryFrom<Action> for ProtobufAction {
start_suppressed: _start_suppressed,
coordinates: _floating_pane_coordinates,
near_current_pane,
+ ..
} => {
let file_to_edit = open_file_payload.path.display().to_string();
let cwd = open_file_payload.cwd.map(|cwd| cwd.display().to_string());
@@ -1322,6 +1336,7 @@ impl TryFrom<Action> for ProtobufAction {
pane_name,
coordinates: _coordinates,
near_current_pane,
+ ..
} => {
let command = run_command_action.and_then(|r| {
let mut protobuf_run_command_action: ProtobufRunCommandAction =
@@ -1345,6 +1360,7 @@ impl TryFrom<Action> for ProtobufAction {
pane_name,
near_current_pane,
borderless,
+ ..
} => {
let direction = direction.and_then(|direction| {
let protobuf_direction: ProtobufResizeDirection = direction.try_into().ok()?;
@@ -1558,6 +1574,7 @@ impl TryFrom<Action> for ProtobufAction {
should_open_in_place,
close_replaced_pane: _close_replaced_pane,
skip_cache: skip_plugin_cache,
+ ..
} => {
let configuration = run_plugin_or_alias.get_configuration().unwrap_or_default();
Ok(ProtobufAction {
@@ -1581,6 +1598,7 @@ impl TryFrom<Action> for ProtobufAction {
close_replaced_pane: _close_replaced_pane,
skip_cache: skip_plugin_cache,
cwd: _cwd,
+ ..
} => {
let configuration = run_plugin_or_alias.get_configuration().unwrap_or_default();
Ok(ProtobufAction {
@@ -1668,6 +1686,7 @@ impl TryFrom<Action> for ProtobufAction {
pane_name,
skip_cache: skip_plugin_cache,
cwd: _cwd,
+ ..
} => Ok(ProtobufAction {
name: ProtobufActionName::NewTiledPluginPane as i32,
optional_payload: Some(OptionalPayload::NewTiledPluginPanePayload(
@@ -1684,6 +1703,7 @@ impl TryFrom<Action> for ProtobufAction {
skip_cache: skip_plugin_cache,
cwd: _cwd,
coordinates: _coordinates,
+ ..
} => Ok(ProtobufAction {
name: ProtobufActionName::NewFloatingPluginPane as i32,
optional_payload: Some(OptionalPayload::NewFloatingPluginPanePayload(
@@ -1806,6 +1826,7 @@ impl TryFrom<Action> for ProtobufAction {
command: _,
pane_name: _,
near_current_pane: _,
+ ..
} => Ok(ProtobufAction {
name: ProtobufActionName::NewStackedPane as i32,
optional_payload: None,
@@ -1816,6 +1837,7 @@ impl TryFrom<Action> for ProtobufAction {
command,
unblock_condition,
near_current_pane,
+ ..
} => {
let placement: ProtobufNewPanePlacement = placement.try_into()?;
let command = command.and_then(|c| {
@@ -1847,6 +1869,7 @@ impl TryFrom<Action> for ProtobufAction {
near_current_pane,
pane_id_to_replace,
close_replaced_pane,
+ ..
} => {
let command = run_command_action.and_then(|r| {
let mut protobuf_run_command_action: ProtobufRunCommandAction =
@@ -1876,6 +1899,7 @@ impl TryFrom<Action> for ProtobufAction {
pane_name: _,
skip_cache: _,
close_replaced_pane: _,
+ ..
}
| Action::Deny
| Action::Copy