aboutsummaryrefslogtreecommitdiffstats
path: root/zellij-utils/src/plugin_api/plugin_command.proto
diff options
context:
space:
mode:
authorAram Drevekenin <aram@poor.dev>2026-02-17 15:43:28 +0100
committerGitHub <noreply@github.com>2026-02-17 15:43:28 +0100
commit4e66a0beff5e41bda1dbde521fa1d2858c46fe7b (patch)
tree380bee5eeac56bea2ebf341cccbe69615585e394 /zellij-utils/src/plugin_api/plugin_command.proto
parentFix startup message and cache file creation (#4705) (diff)
downloadsl0ppij-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/plugin_command.proto')
-rw-r--r--zellij-utils/src/plugin_api/plugin_command.proto55
1 files changed, 55 insertions, 0 deletions
diff --git a/zellij-utils/src/plugin_api/plugin_command.proto b/zellij-utils/src/plugin_api/plugin_command.proto
index 66099298..e3e1ee4b 100644
--- a/zellij-utils/src/plugin_api/plugin_command.proto
+++ b/zellij-utils/src/plugin_api/plugin_command.proto
@@ -190,6 +190,12 @@ enum CommandName {
RenameTabWithId = 195;
BreakPanesToTabWithId = 196;
GetSessionEnvironmentVariables = 197;
+ OpenCommandPaneInNewTab = 198;
+ OpenPluginPaneInNewTab = 199;
+ OpenEditorPaneInNewTab = 200;
+ OpenCommandPaneInPlaceOfPaneId = 201;
+ OpenTerminalPaneInPlaceOfPaneId = 202;
+ OpenEditPaneInPlaceOfPaneId = 203;
}
message PluginCommand {
@@ -329,6 +335,12 @@ message PluginCommand {
RenameTabWithIdPayload rename_tab_with_id_payload = 146;
BreakPanesToTabWithIdPayload break_panes_to_tab_with_id_payload = 147;
GetSessionEnvironmentVariablesPayload get_session_environment_variables_payload = 148;
+ OpenCommandPanePayload open_command_pane_in_new_tab_payload = 149;
+ OpenPluginPaneInNewTabPayload open_plugin_pane_in_new_tab_payload = 150;
+ OpenFilePayload open_editor_pane_in_new_tab_payload = 151;
+ OpenCommandPaneInPlaceOfPaneIdPayload open_command_pane_in_place_of_pane_id_payload = 152;
+ OpenTerminalPaneInPlaceOfPaneIdPayload open_terminal_pane_in_place_of_pane_id_payload = 153;
+ OpenEditPaneInPlaceOfPaneIdPayload open_edit_pane_in_place_of_pane_id_payload = 154;
}
}
@@ -1131,3 +1143,46 @@ message GetSessionEnvironmentVariablesPayload {}
message GetSessionEnvironmentVariablesResponse {
repeated EnvVariable env_vars = 1;
}
+
+message OpenPluginPaneInNewTabPayload {
+ string plugin_url = 1;
+ map<string, string> configuration = 2;
+ repeated ContextItem context = 3;
+}
+
+message OpenPaneInNewTabResponse {
+ optional uint64 tab_id = 1;
+ optional PaneId pane_id = 2;
+}
+
+message OpenCommandPaneInPlaceOfPaneIdPayload {
+ PaneId pane_id_to_replace = 1;
+ command.Command command_to_run = 2;
+ bool close_replaced_pane = 3;
+ repeated ContextItem context = 4;
+}
+
+message OpenTerminalPaneInPlaceOfPaneIdPayload {
+ PaneId pane_id_to_replace = 1;
+ optional file.File cwd = 2;
+ bool close_replaced_pane = 3;
+}
+
+message OpenEditPaneInPlaceOfPaneIdPayload {
+ PaneId pane_id_to_replace = 1;
+ file.File file_to_open = 2;
+ bool close_replaced_pane = 3;
+ repeated ContextItem context = 4;
+}
+
+message OpenCommandPaneInPlaceOfPaneIdResponse {
+ optional PaneId pane_id = 1;
+}
+
+message OpenTerminalPaneInPlaceOfPaneIdResponse {
+ optional PaneId pane_id = 1;
+}
+
+message OpenEditPaneInPlaceOfPaneIdResponse {
+ optional PaneId pane_id = 1;
+}