diff options
| author | Aram Drevekenin <aram@poor.dev> | 2026-02-17 15:43:28 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-02-17 15:43:28 +0100 |
| commit | 4e66a0beff5e41bda1dbde521fa1d2858c46fe7b (patch) | |
| tree | 380bee5eeac56bea2ebf341cccbe69615585e394 /zellij-utils/src/plugin_api/action.rs | |
| parent | Fix startup message and cache file creation (#4705) (diff) | |
| download | sl0ppij-4e66a0beff5e41bda1dbde521fa1d2858c46fe7b.tar.gz sl0ppij-4e66a0beff5e41bda1dbde521fa1d2858c46fe7b.tar.xz sl0ppij-4e66a0beff5e41bda1dbde521fa1d2858c46fe7b.zip | |
Revamp the sequence plugin (#4713)
* initial pipe interface
* initial open_x_pane_in_new_tab plugin api implementation
* fix: send CommandPaneExited for command panes opened as initial_terminals in new tabs from plugins
* open panes in place of specific pane id plugin commands - initial implementation
* sequence and plugin api ux
* focus self when starting
* combine ui and pipe paths
* highlight selected pane
* initial sequence removal of editing capabilities
* fix: translate plugin paths in api
* properly trim commands when loaded from pipe or pasted text
* minor ux fixes
* get ctrl c to work properly
* behavior fixes
* more ui fixes
* fix tests
* close tab and end sequence properly
* default to AND
* zellij sequence alias
* add alias
* consolidate paths
* rustfmt
* fix ui padding
* add pr
* fix: reset scrolling when resetting terminal state
Diffstat (limited to 'zellij-utils/src/plugin_api/action.rs')
| -rw-r--r-- | zellij-utils/src/plugin_api/action.rs | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/zellij-utils/src/plugin_api/action.rs b/zellij-utils/src/plugin_api/action.rs index 047244d7..3e472a30 100644 --- a/zellij-utils/src/plugin_api/action.rs +++ b/zellij-utils/src/plugin_api/action.rs @@ -2724,6 +2724,13 @@ impl TryFrom<ProtobufCommandOrPlugin> for CommandOrPlugin { Some(CommandOrPluginType::Plugin(plugin)) => { Ok(CommandOrPlugin::Plugin(plugin.try_into()?)) }, + Some(CommandOrPluginType::File(f)) => { + Ok(CommandOrPlugin::File(crate::data::FileToOpen { + path: std::path::PathBuf::from(&f.path), + line_number: f.line_number.map(|n| n as usize), + cwd: f.cwd.map(std::path::PathBuf::from), + })) + }, None => Err("CommandOrPlugin must have command_or_plugin_type"), } } @@ -2733,11 +2740,17 @@ impl TryFrom<CommandOrPlugin> for ProtobufCommandOrPlugin { type Error = &'static str; fn try_from(internal: CommandOrPlugin) -> Result<Self, Self::Error> { use super::generated_api::api::action::command_or_plugin::CommandOrPluginType; + use super::generated_api::api::action::CommandOrPluginFile; let command_or_plugin_type = match internal { CommandOrPlugin::Command(cmd) => Some(CommandOrPluginType::Command(cmd.try_into()?)), CommandOrPlugin::Plugin(plugin) => { Some(CommandOrPluginType::Plugin(plugin.try_into()?)) }, + CommandOrPlugin::File(f) => Some(CommandOrPluginType::File(CommandOrPluginFile { + path: f.path.display().to_string(), + line_number: f.line_number.map(|n| n as i32), + cwd: f.cwd.map(|c| c.display().to_string()), + })), }; Ok(ProtobufCommandOrPlugin { command_or_plugin_type, |
