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/plugin_command.proto | |
| 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/plugin_command.proto')
| -rw-r--r-- | zellij-utils/src/plugin_api/plugin_command.proto | 55 |
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; +} |
