From 2eaa50cc44284bdfd47a98770625f380c15fd51d Mon Sep 17 00:00:00 2001 From: Aram Drevekenin Date: Tue, 26 Mar 2024 18:44:56 +0100 Subject: feat(plugins): add api to dump the current session layout to a plugin (#3227) --- zellij-utils/src/plugin_api/plugin_command.proto | 1 + zellij-utils/src/plugin_api/plugin_command.rs | 8 ++++++++ 2 files changed, 9 insertions(+) (limited to 'zellij-utils/src/plugin_api') diff --git a/zellij-utils/src/plugin_api/plugin_command.proto b/zellij-utils/src/plugin_api/plugin_command.proto index c95111e59..b05c8ac8a 100644 --- a/zellij-utils/src/plugin_api/plugin_command.proto +++ b/zellij-utils/src/plugin_api/plugin_command.proto @@ -95,6 +95,7 @@ enum CommandName { KillSessions = 81; ScanHostFolder = 82; WatchFilesystem = 83; + DumpSessionLayout = 84; } message PluginCommand { diff --git a/zellij-utils/src/plugin_api/plugin_command.rs b/zellij-utils/src/plugin_api/plugin_command.rs index e452e53cc..232a9f2dc 100644 --- a/zellij-utils/src/plugin_api/plugin_command.rs +++ b/zellij-utils/src/plugin_api/plugin_command.rs @@ -867,6 +867,10 @@ impl TryFrom for PluginCommand { Some(_) => Err("WatchFilesystem should have no payload, found a payload"), None => Ok(PluginCommand::WatchFilesystem), }, + Some(CommandName::DumpSessionLayout) => match protobuf_plugin_command.payload { + Some(_) => Err("DumpSessionLayout should have no payload, found a payload"), + None => Ok(PluginCommand::DumpSessionLayout), + }, None => Err("Unrecognized plugin command"), } } @@ -1381,6 +1385,10 @@ impl TryFrom for ProtobufPluginCommand { name: CommandName::WatchFilesystem as i32, payload: None, }), + PluginCommand::DumpSessionLayout => Ok(ProtobufPluginCommand { + name: CommandName::DumpSessionLayout as i32, + payload: None, + }), } } } -- cgit v1.2.3