aboutsummaryrefslogtreecommitdiffstats
path: root/zellij-utils/src/plugin_api/plugin_command.rs
diff options
context:
space:
mode:
authorAram Drevekenin <aram@poor.dev>2025-06-03 17:15:32 +0200
committerGitHub <noreply@github.com>2025-06-03 17:15:32 +0200
commita9f8bbcd197c8d14832fc1ab1fbe4d4111a2014d (patch)
tree6d354fdd36cf534d73e0cb81a7cacd3fedc1ebb9 /zellij-utils/src/plugin_api/plugin_command.rs
parentdocs(changelog): theme fixes (diff)
downloadsl0ppij-a9f8bbcd197c8d14832fc1ab1fbe4d4111a2014d.tar.gz
sl0ppij-a9f8bbcd197c8d14832fc1ab1fbe4d4111a2014d.tar.xz
sl0ppij-a9f8bbcd197c8d14832fc1ab1fbe4d4111a2014d.zip
feat(ux): improve multiple select (#4221)
* intercept/clear-intercept key APIs * allow opening a pinned unfocused floating pane * rework plugin * improve some apis * fix tests * tests for pane groups * more exact placement and tests * plugin command permission and cleanup * improve some multiselect ux * improve plugin ui * remove old status indicator * allow moving plugin out of the way * style(fmt): rustfmt * update plugins * remove old keybinding * cleanups * fix: only rename pane if needed * changelog and some cleanups * style(fmt): rustfmt
Diffstat (limited to 'zellij-utils/src/plugin_api/plugin_command.rs')
-rw-r--r--zellij-utils/src/plugin_api/plugin_command.rs16
1 files changed, 16 insertions, 0 deletions
diff --git a/zellij-utils/src/plugin_api/plugin_command.rs b/zellij-utils/src/plugin_api/plugin_command.rs
index 833d6270..08a9545e 100644
--- a/zellij-utils/src/plugin_api/plugin_command.rs
+++ b/zellij-utils/src/plugin_api/plugin_command.rs
@@ -1614,6 +1614,14 @@ impl TryFrom<ProtobufPluginCommand> for PluginCommand {
},
_ => Err("Mismatched payload for EmbedMultiplePanes"),
},
+ Some(CommandName::InterceptKeyPresses) => match protobuf_plugin_command.payload {
+ Some(_) => Err("InterceptKeyPresses should have no payload, found a payload"),
+ None => Ok(PluginCommand::InterceptKeyPresses),
+ },
+ Some(CommandName::ClearKeyPressesIntercepts) => match protobuf_plugin_command.payload {
+ Some(_) => Err("ClearKeyPressesIntercepts should have no payload, found a payload"),
+ None => Ok(PluginCommand::ClearKeyPressesIntercepts),
+ },
None => Err("Unrecognized plugin command"),
}
}
@@ -2684,6 +2692,14 @@ impl TryFrom<PluginCommand> for ProtobufPluginCommand {
},
)),
}),
+ PluginCommand::InterceptKeyPresses => Ok(ProtobufPluginCommand {
+ name: CommandName::InterceptKeyPresses as i32,
+ payload: None,
+ }),
+ PluginCommand::ClearKeyPressesIntercepts => Ok(ProtobufPluginCommand {
+ name: CommandName::ClearKeyPressesIntercepts as i32,
+ payload: None,
+ }),
}
}
}