diff options
Diffstat (limited to 'zellij-utils/src/plugin_api')
-rw-r--r-- | zellij-utils/src/plugin_api/plugin_command.proto | 1 | ||||
-rw-r--r-- | zellij-utils/src/plugin_api/plugin_command.rs | 2 |
2 files changed, 3 insertions, 0 deletions
diff --git a/zellij-utils/src/plugin_api/plugin_command.proto b/zellij-utils/src/plugin_api/plugin_command.proto index d85afeed6..eecae43b8 100644 --- a/zellij-utils/src/plugin_api/plugin_command.proto +++ b/zellij-utils/src/plugin_api/plugin_command.proto @@ -194,6 +194,7 @@ message SwitchSessionPayload { optional uint32 pane_id = 3; optional bool pane_id_is_plugin = 4; optional event.LayoutInfo layout = 5; + optional string cwd = 6; } message RequestPluginPermissionPayload { diff --git a/zellij-utils/src/plugin_api/plugin_command.rs b/zellij-utils/src/plugin_api/plugin_command.rs index 6ce7422e6..ab9d52940 100644 --- a/zellij-utils/src/plugin_api/plugin_command.rs +++ b/zellij-utils/src/plugin_api/plugin_command.rs @@ -689,6 +689,7 @@ impl TryFrom<ProtobufPluginCommand> for PluginCommand { tab_position: payload.tab_position.map(|p| p as usize), pane_id, layout: payload.layout.and_then(|l| l.try_into().ok()), + cwd: payload.cwd.map(|c| PathBuf::from(c)), })) }, _ => Err("Mismatched payload for SwitchSession"), @@ -1222,6 +1223,7 @@ impl TryFrom<PluginCommand> for ProtobufPluginCommand { pane_id: switch_to_session.pane_id.map(|p| p.0), pane_id_is_plugin: switch_to_session.pane_id.map(|p| p.1), layout: switch_to_session.layout.and_then(|l| l.try_into().ok()), + cwd: switch_to_session.cwd.map(|c| c.display().to_string()), })), }), PluginCommand::OpenTerminalInPlace(cwd) => Ok(ProtobufPluginCommand { |