diff options
author | Aram Drevekenin <aram@poor.dev> | 2024-03-27 20:24:18 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-03-27 20:24:18 +0100 |
commit | 9d2e7fe2c19d2d61223dcc30787ea83a0e447781 (patch) | |
tree | c077c4fdedb48d18c9e933c76ef8e97850d59bed /zellij-utils/src | |
parent | c83b6cc38d5915f186789721d0261df3c80a0e49 (diff) |
feat(plugins): add api to close current plugin instance (#3228)
Diffstat (limited to 'zellij-utils/src')
-rw-r--r-- | zellij-utils/src/data.rs | 1 | ||||
-rw-r--r-- | zellij-utils/src/plugin_api/plugin_command.proto | 1 | ||||
-rw-r--r-- | zellij-utils/src/plugin_api/plugin_command.rs | 8 |
3 files changed, 10 insertions, 0 deletions
diff --git a/zellij-utils/src/data.rs b/zellij-utils/src/data.rs index 78fbbd770..b0e0a8861 100644 --- a/zellij-utils/src/data.rs +++ b/zellij-utils/src/data.rs @@ -1379,4 +1379,5 @@ pub enum PluginCommand { ScanHostFolder(PathBuf), // TODO: rename to ScanHostFolder WatchFilesystem, DumpSessionLayout, + CloseSelf, } diff --git a/zellij-utils/src/plugin_api/plugin_command.proto b/zellij-utils/src/plugin_api/plugin_command.proto index b05c8ac8a..b961593e7 100644 --- a/zellij-utils/src/plugin_api/plugin_command.proto +++ b/zellij-utils/src/plugin_api/plugin_command.proto @@ -96,6 +96,7 @@ enum CommandName { ScanHostFolder = 82; WatchFilesystem = 83; DumpSessionLayout = 84; + CloseSelf = 85; } message PluginCommand { diff --git a/zellij-utils/src/plugin_api/plugin_command.rs b/zellij-utils/src/plugin_api/plugin_command.rs index 232a9f2dc..080dd9e28 100644 --- a/zellij-utils/src/plugin_api/plugin_command.rs +++ b/zellij-utils/src/plugin_api/plugin_command.rs @@ -871,6 +871,10 @@ impl TryFrom<ProtobufPluginCommand> for PluginCommand { Some(_) => Err("DumpSessionLayout should have no payload, found a payload"), None => Ok(PluginCommand::DumpSessionLayout), }, + Some(CommandName::CloseSelf) => match protobuf_plugin_command.payload { + Some(_) => Err("CloseSelf should have no payload, found a payload"), + None => Ok(PluginCommand::CloseSelf), + }, None => Err("Unrecognized plugin command"), } } @@ -1389,6 +1393,10 @@ impl TryFrom<PluginCommand> for ProtobufPluginCommand { name: CommandName::DumpSessionLayout as i32, payload: None, }), + PluginCommand::CloseSelf => Ok(ProtobufPluginCommand { + name: CommandName::CloseSelf as i32, + payload: None, + }), } } } |