aboutsummaryrefslogtreecommitdiffstats
path: root/zellij-utils/src/plugin_api/plugin_command.rs
diff options
context:
space:
mode:
authorAram Drevekenin <aram@poor.dev>2026-02-12 18:35:55 +0100
committerGitHub <noreply@github.com>2026-02-12 18:35:55 +0100
commite887164a0a1fa07ae3786b846ee4b43a613dba24 (patch)
tree21eae01fd0553b80a4bb931a19a92d59616f98be /zellij-utils/src/plugin_api/plugin_command.rs
parentPropagate plugin alias config changes to plugins (#4698) (diff)
downloadsl0ppij-e887164a0a1fa07ae3786b846ee4b43a613dba24.tar.gz
sl0ppij-e887164a0a1fa07ae3786b846ee4b43a613dba24.tar.xz
sl0ppij-e887164a0a1fa07ae3786b846ee4b43a613dba24.zip
Allow plugins to read env vars present upon session creation (behind permission) (#4700)
* allow plugins to read environment variables * rustfmt * add pr
Diffstat (limited to 'zellij-utils/src/plugin_api/plugin_command.rs')
-rw-r--r--zellij-utils/src/plugin_api/plugin_command.rs21
1 files changed, 19 insertions, 2 deletions
diff --git a/zellij-utils/src/plugin_api/plugin_command.rs b/zellij-utils/src/plugin_api/plugin_command.rs
index 6ade3376..94f5e1e1 100644
--- a/zellij-utils/src/plugin_api/plugin_command.rs
+++ b/zellij-utils/src/plugin_api/plugin_command.rs
@@ -41,8 +41,10 @@ pub use super::generated_api::api::{
GetPanePidResponse as ProtobufGetPanePidResponse,
GetPaneRunningCommandPayload as ProtobufGetPaneRunningCommandPayload,
GetPaneRunningCommandResponse as ProtobufGetPaneRunningCommandResponse,
- GetPaneScrollbackPayload, GetTabInfoPayload,
- GetTabInfoResponse as ProtobufGetTabInfoResponse, GoToTabWithIdPayload,
+ GetPaneScrollbackPayload,
+ GetSessionEnvironmentVariablesPayload as ProtobufGetSessionEnvironmentVariablesPayload,
+ GetSessionEnvironmentVariablesResponse as ProtobufGetSessionEnvironmentVariablesResponse,
+ GetTabInfoPayload, GetTabInfoResponse as ProtobufGetTabInfoResponse, GoToTabWithIdPayload,
GroupAndUngroupPanesPayload, HidePaneWithIdPayload, HighlightAndUnhighlightPanesPayload,
HttpVerb as ProtobufHttpVerb, IdAndNewName, KeyToRebind, KeyToUnbind, KillSessionsPayload,
ListTokensResponse, LoadNewPluginPayload, MessageToPluginPayload,
@@ -2259,6 +2261,14 @@ impl TryFrom<ProtobufPluginCommand> for PluginCommand {
},
_ => Err("Malformed payload for GetTabInfo"),
},
+ Some(CommandName::GetSessionEnvironmentVariables) => {
+ match protobuf_plugin_command.payload {
+ Some(Payload::GetSessionEnvironmentVariablesPayload(_)) => {
+ Ok(PluginCommand::GetSessionEnvironmentVariables)
+ },
+ _ => Err("Mismatched payload for GetSessionEnvironmentVariables"),
+ }
+ },
None => Err("Unrecognized plugin command"),
}
}
@@ -3680,6 +3690,13 @@ impl TryFrom<PluginCommand> for ProtobufPluginCommand {
tab_id: tab_id as u64,
})),
}),
+ PluginCommand::GetSessionEnvironmentVariables => {
+ let payload = ProtobufGetSessionEnvironmentVariablesPayload {};
+ Ok(ProtobufPluginCommand {
+ name: CommandName::GetSessionEnvironmentVariables as i32,
+ payload: Some(Payload::GetSessionEnvironmentVariablesPayload(payload)),
+ })
+ },
}
}
}