summaryrefslogtreecommitdiffstats
path: root/zellij-utils/src/plugin_api
diff options
context:
space:
mode:
authorAram Drevekenin <aram@poor.dev>2024-03-26 18:44:56 +0100
committerGitHub <noreply@github.com>2024-03-26 18:44:56 +0100
commit2eaa50cc44284bdfd47a98770625f380c15fd51d (patch)
treee86909cdfce996d08442c5152fa4bacdbf203745 /zellij-utils/src/plugin_api
parentb24dd87b8044be59a9897bb19604deee85b236b0 (diff)
feat(plugins): add api to dump the current session layout to a plugin (#3227)
Diffstat (limited to 'zellij-utils/src/plugin_api')
-rw-r--r--zellij-utils/src/plugin_api/plugin_command.proto1
-rw-r--r--zellij-utils/src/plugin_api/plugin_command.rs8
2 files changed, 9 insertions, 0 deletions
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<ProtobufPluginCommand> 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<PluginCommand> for ProtobufPluginCommand {
name: CommandName::WatchFilesystem as i32,
payload: None,
}),
+ PluginCommand::DumpSessionLayout => Ok(ProtobufPluginCommand {
+ name: CommandName::DumpSessionLayout as i32,
+ payload: None,
+ }),
}
}
}