diff options
| author | user <user@clank> | 2026-08-12 19:34:15 +0200 |
|---|---|---|
| committer | user <user@clank> | 2026-08-12 19:34:15 +0200 |
| commit | d1c14ff0f5c5b55c46d91ad12f4a291041480a99 (patch) | |
| tree | 9dca9628d228b211a6919c9dd65cd7a9b4fcf6b0 /sl0ppij/zellij-utils/src/plugin_api/plugin_command.proto | |
| parent | chore: initialize sl0ppi monorepo (diff) | |
| download | sl0ppi-d1c14ff0f5c5b55c46d91ad12f4a291041480a99.tar.gz sl0ppi-d1c14ff0f5c5b55c46d91ad12f4a291041480a99.tar.xz sl0ppi-d1c14ff0f5c5b55c46d91ad12f4a291041480a99.zip | |
vendor(sl0ppij): import zellij v0.45.0 tree
Squashed import of upstream zellij at 0e6e4404 ("Support the Kitty Image
Protocol (#5428)"), the merge-base our fork was developed against. Upstream's
3311 commits are deliberately NOT replayed here; only our own fork commits are,
so the monorepo stays small and `git log sl0ppij/` shows sl0p work, not zellij's
entire history.
Upstream provenance is tracked in FORKS.md and can always be re-fetched from
https://github.com/zellij-org/zellij.
Diffstat (limited to '')
| -rw-r--r-- | sl0ppij/zellij-utils/src/plugin_api/plugin_command.proto | 1393 |
1 files changed, 1393 insertions, 0 deletions
diff --git a/sl0ppij/zellij-utils/src/plugin_api/plugin_command.proto b/sl0ppij/zellij-utils/src/plugin_api/plugin_command.proto new file mode 100644 index 0000000..e9dff3c --- /dev/null +++ b/sl0ppij/zellij-utils/src/plugin_api/plugin_command.proto @@ -0,0 +1,1393 @@ +syntax = "proto3"; + +import "action.proto"; +import "event.proto"; +import "file.proto"; +import "command.proto"; +import "message.proto"; +import "resize.proto"; +import "plugin_permission.proto"; +import "input_mode.proto"; +import "key.proto"; +import "pane_frame_style.proto"; + +package api.plugin_command; + +enum CommandName { + Subscribe = 0; + Unsubscribe = 1; + SetSelectable = 2; + GetPluginIds = 3; + GetZellijVersion = 4; + OpenFile = 5; + OpenFileFloating = 6; + OpenTerminal = 7; + OpenTerminalFloating = 8; + OpenCommandPane = 9; + OpenCommandPaneFloating = 10; + SwitchTabTo = 11; + SetTimeout = 12; + ExecCmd = 13; + PostMessageTo = 14; + PostMessageToPlugin = 15; + HideSelf = 16; + ShowSelf = 17; + SwitchToMode = 18; + NewTabsWithLayout = 19; + NewTab = 20; + GoToNextTab = 21; + GoToPreviousTab = 22; + Resize = 23; + ResizeWithDirection = 24; + FocusNextPane = 25; + FocusPreviousPane = 26; + MoveFocus = 27; + MoveFocusOrTab = 28; + Detach = 29; + EditScrollback = 30; + Write = 31; + WriteChars = 32; + ToggleTab = 33; + MovePane = 34; + MovePaneWithDirection = 35; + ClearScreen = 36; + ScrollUp = 37; + ScrollDown = 38; + ScrollToTop = 39; + ScrollToBottom = 40; + PageScrollUp = 41; + PageScrollDown = 42; + ToggleFocusFullscreen = 43; + TogglePaneFrames = 44; + TogglePaneEmbedOrEject = 45; + UndoRenamePane = 46; + CloseFocus = 47; + ToggleActiveTabSync = 48; + CloseFocusedTab = 49; + UndoRenameTab = 50; + QuitZellij = 51; + PreviousSwapLayout = 52; + NextSwapLayout = 53; + GoToTabName = 54; + FocusOrCreateTab = 55; + GoToTab = 56; + StartOrReloadPlugin = 57; + CloseTerminalPane = 58; + ClosePluginPane = 59; + FocusTerminalPane = 60; + FocusPluginPane = 61; + RenameTerminalPane = 62; + RenamePluginPane = 63; + RenameTab = 64; + ReportCrash = 65; + RequestPluginPermissions = 66; + SwitchSession = 67; + OpenTerminalInPlace = 68; + OpenCommandInPlace = 69; + OpenFileInPlace = 70; + RunCommand = 71; + WebRequest = 72; + DeleteDeadSession = 73; + DeleteAllDeadSessions = 74; + RenameSession = 75; + UnblockCliPipeInput = 76; + BlockCliPipeInput = 77; + CliPipeOutput = 78; + MessageToPlugin = 79; + DisconnectOtherClients = 80; + KillSessions = 81; + ScanHostFolder = 82; + WatchFilesystem = 83; + DumpSessionLayout = 84; + CloseSelf = 85; + NewTabsWithLayoutInfo = 86; + Reconfigure = 87; + HidePaneWithId = 88; + ShowPaneWithId = 89; + OpenCommandPaneBackground = 90; + RerunCommandPane = 91; + ResizePaneIdWithDirection = 92; + EditScrollbackForPaneWithId = 93; + WriteToPaneId = 94; + WriteCharsToPaneId = 95; + MovePaneWithPaneId = 96; + MovePaneWithPaneIdInDirection = 97; + ClearScreenForPaneId = 98; + ScrollUpInPaneId = 99; + ScrollDownInPaneId = 100; + ScrollToTopInPaneId = 101; + ScrollToBottomInPaneId = 102; + PageScrollUpInPaneId = 103; + PageScrollDownInPaneId = 104; + TogglePaneIdFullscreen = 105; + TogglePaneEmbedOrEjectForPaneId = 106; + CloseTabWithIndex = 107; + BreakPanesToNewTab = 108; + BreakPanesToTabWithIndex = 109; + ReloadPlugin = 110; + LoadNewPlugin = 111; + RebindKeys = 112; + ListClients = 113; + ChangeHostFolder = 114; + SetFloatingPanePinned = 115; + StackPanes = 116; + ChangeFloatingPanesCoordinates = 117; + OpenCommandPaneNearPlugin = 118; + OpenTerminalNearPlugin = 119; + OpenTerminalFloatingNearPlugin = 120; + OpenTerminalInPlaceOfPlugin = 121; + OpenCommandPaneFloatingNearPlugin = 122; + OpenCommandPaneInPlaceOfPlugin = 123; + OpenFileNearPlugin = 124; + OpenFileFloatingNearPlugin = 125; + OpenFileInPlaceOfPlugin = 126; + StartWebServer = 127; + GroupAndUngroupPanes = 128; + HighlightAndUnhighlightPanes = 129; + CloseMultiplePanes = 130; + FloatMultiplePanes = 131; + EmbedMultiplePanes = 132; + ShareCurrentSession = 133; + StopSharingCurrentSession = 134; + StopWebServer = 135; + QueryWebServerStatus = 136; + SetSelfMouseSelectionSupport = 137; + GenerateWebLoginToken = 138; + RevokeWebLoginToken = 139; + ListWebLoginTokens = 140; + RevokeAllWebLoginTokens = 141; + RenameWebLoginToken = 142; + InterceptKeyPresses = 143; + ClearKeyPressesIntercepts = 144; + ReplacePaneWithExistingPane = 155; + GetPaneScrollback = 163; + RunAction = 164; + ShowCursor = 169; + CopyToClipboard = 170; + SendSigintToPaneId = 171; + SendSigkillToPaneId = 172; + GetPanePid = 173; + OverrideLayout = 174; + SaveLayout = 175; + DeleteLayout = 176; + EditLayout = 177; + GenerateRandomName = 178; + DumpLayout = 179; + ParseLayout = 180; + RenameLayout = 181; + GetLayoutDir = 182; + GetFocusedPaneInfo = 183; + TogglePaneBorderless = 184; + SetPaneBorderless = 185; + SaveSession = 186; + CurrentSessionLastSavedTime = 187; + GetPaneInfo = 188; + GetTabInfo = 189; + GetPaneRunningCommand = 190; + GetPaneCwd = 191; + SwitchTabToId = 192; + GoToTabWithId = 193; + CloseTabWithId = 194; + RenameTabWithId = 195; + BreakPanesToTabWithId = 196; + GetSessionEnvironmentVariables = 197; + OpenCommandPaneInNewTab = 198; + OpenPluginPaneInNewTab = 199; + OpenEditorPaneInNewTab = 200; + OpenCommandPaneInPlaceOfPaneId = 201; + OpenTerminalPaneInPlaceOfPaneId = 202; + OpenEditPaneInPlaceOfPaneId = 203; + HideFloatingPanes = 204; + ShowFloatingPanes = 205; + SetPaneColor = 206; + SetPaneRegexHighlights = 207; + ClearPaneHighlights = 208; + OpenPluginPaneFloating = 209; + ListWindowsVolumes = 210; + GetSessionList = 211; + KillSessionsAndReply = 212; + DeleteDeadSessionAndReply = 213; + DeleteAllDeadSessionsAndReply = 214; + SetSoftKeyboard = 215; + SetTabFit = 216; + SetShadowFocus = 219; + NewTabUnfocused = 220; + NewTiledPaneInTab = 221; + ExitMobileMode = 222; + FocusLastPane = 223; + SetPaneFrameStyle = 224; + ToggleFloatingPanes = 225; + NewPane = 226; + ToggleFocusNoUiFullscreen = 227; + FocusHostSession = 228; +} + +message PluginCommand { + CommandName name = 1; + oneof payload { + SubscribePayload subscribe_payload = 2; + UnsubscribePayload unsubscribe_payload = 3; + bool set_selectable_payload = 4; + OpenFilePayload open_file_payload = 5; + OpenFilePayload open_file_floating_payload = 6; + OpenFilePayload open_terminal_payload = 7; + OpenFilePayload open_terminal_floating_payload = 8; + OpenCommandPanePayload open_command_pane_payload = 9; + OpenCommandPanePayload open_command_pane_floating_payload = 10; + SwitchTabToPayload switch_tab_to_payload = 11; + SetTimeoutPayload set_timeout_payload = 12; + ExecCmdPayload exec_cmd_payload = 13; + PluginMessagePayload post_message_to_payload = 14; + PluginMessagePayload post_message_to_plugin_payload = 15; + bool show_self_payload = 16; + action.SwitchToModePayload switch_to_mode_payload = 17; + string new_tabs_with_layout_payload = 18; + ResizePayload resize_payload = 19; + ResizePayload resize_with_direction_payload = 20; + MovePayload move_focus_payload = 21; + MovePayload move_focus_or_tab_payload = 22; + bytes write_payload = 23; + string write_chars_payload = 24; + MovePayload move_pane_with_direction_payload = 25; + string go_to_tab_name_payload = 26; + string focus_or_create_tab_payload = 27; + uint32 go_to_tab_payload = 28; + string start_or_reload_plugin_payload = 29; + uint32 close_terminal_pane_payload = 30; + uint32 close_plugin_pane_payload = 31; + action.PaneIdAndShouldFloat focus_terminal_pane_payload = 32; + action.PaneIdAndShouldFloat focus_plugin_pane_payload = 33; + IdAndNewName rename_terminal_pane_payload = 34; + IdAndNewName rename_plugin_pane_payload = 35; + IdAndNewName rename_tab_payload = 36; + string report_crash_payload = 37; + RequestPluginPermissionPayload request_plugin_permission_payload = 38; + SwitchSessionPayload switch_session_payload = 39; + OpenFilePayload open_file_in_place_payload = 40; + OpenFilePayload open_terminal_in_place_payload = 41; + OpenCommandPanePayload open_command_pane_in_place_payload = 42; + RunCommandPayload run_command_payload = 43; + WebRequestPayload web_request_payload = 44; + string delete_dead_session_payload = 45; + string rename_session_payload = 46; + string unblock_cli_pipe_input_payload = 47; + string block_cli_pipe_input_payload = 48; + CliPipeOutputPayload cli_pipe_output_payload = 49; + MessageToPluginPayload message_to_plugin_payload = 50; + KillSessionsPayload kill_sessions_payload = 60; + string scan_host_folder_payload = 61; + NewTabsWithLayoutInfoPayload new_tabs_with_layout_info_payload = 62; + ReconfigurePayload reconfigure_payload = 63; + HidePaneWithIdPayload hide_pane_with_id_payload = 64; + ShowPaneWithIdPayload show_pane_with_id_payload = 65; + OpenCommandPanePayload open_command_pane_background_payload = 66; + RerunCommandPanePayload rerun_command_pane_payload = 67; + ResizePaneIdWithDirectionPayload resize_pane_id_with_direction_payload = 68; + EditScrollbackForPaneWithIdPayload edit_scrollback_for_pane_with_id_payload = 69; + WriteToPaneIdPayload write_to_pane_id_payload = 70; + WriteCharsToPaneIdPayload write_chars_to_pane_id_payload = 71; + MovePaneWithPaneIdPayload move_pane_with_pane_id_payload = 72; + MovePaneWithPaneIdInDirectionPayload move_pane_with_pane_id_in_direction_payload = 73; + ClearScreenForPaneIdPayload clear_screen_for_pane_id_payload = 74; + ScrollUpInPaneIdPayload scroll_up_in_pane_id_payload = 75; + ScrollDownInPaneIdPayload scroll_down_in_pane_id_payload = 76; + ScrollToTopInPaneIdPayload scroll_to_top_in_pane_id_payload = 77; + ScrollToBottomInPaneIdPayload scroll_to_bottom_in_pane_id_payload = 78; + PageScrollUpInPaneIdPayload page_scroll_up_in_pane_id_payload = 79; + PageScrollDownInPaneIdPayload page_scroll_down_in_pane_id_payload = 80; + TogglePaneIdFullscreenPayload toggle_pane_id_fullscreen_payload = 81; + TogglePaneEmbedOrEjectForPaneIdPayload toggle_pane_embed_or_eject_for_pane_id_payload = 82; + CloseTabWithIndexPayload close_tab_with_index_payload = 83; + BreakPanesToNewTabPayload break_panes_to_new_tab_payload = 84; + BreakPanesToTabWithIndexPayload break_panes_to_tab_with_index_payload = 85; + ReloadPluginPayload reload_plugin_payload = 86; + LoadNewPluginPayload load_new_plugin_payload = 87; + RebindKeysPayload rebind_keys_payload = 88; + ChangeHostFolderPayload change_host_folder_payload = 89; + SetFloatingPanePinnedPayload set_floating_pane_pinned_payload = 90; + StackPanesPayload stack_panes_payload = 91; + ChangeFloatingPanesCoordinatesPayload change_floating_panes_coordinates_payload = 92; + OpenCommandPaneNearPluginPayload open_command_pane_near_plugin_payload = 93; + OpenTerminalNearPluginPayload open_terminal_near_plugin_payload = 94; + OpenTerminalFloatingNearPluginPayload open_terminal_floating_near_plugin_payload = 95; + OpenTerminalInPlaceOfPluginPayload open_terminal_in_place_of_plugin_payload = 96; + OpenCommandPaneFloatingNearPluginPayload open_command_pane_floating_near_plugin_payload = 97; + OpenCommandPaneInPlaceOfPluginPayload open_command_pane_in_place_of_plugin_payload = 98; + OpenFileNearPluginPayload open_file_near_plugin_payload = 99; + OpenFileFloatingNearPluginPayload open_file_floating_near_plugin_payload = 100; + OpenFileInPlaceOfPluginPayload open_file_in_place_of_plugin_payload = 101; + GroupAndUngroupPanesPayload group_and_ungroup_panes_payload = 102; + HighlightAndUnhighlightPanesPayload highlight_and_unhighlight_panes_payload = 103; + CloseMultiplePanesPayload close_multiple_panes_payload = 104; + FloatMultiplePanesPayload float_multiple_panes_payload = 105; + EmbedMultiplePanesPayload embed_multiple_panes_payload = 106; + SetSelfMouseSelectionSupportPayload set_self_mouse_selection_support_payload = 107; + GenerateWebLoginTokenPayload generate_web_login_token_payload = 108; + RevokeWebLoginTokenPayload revoke_web_login_token_payload = 109; + RenameWebLoginTokenPayload rename_web_login_token_payload = 110; + ReplacePaneWithExistingPanePayload replace_pane_with_existing_pane_payload = 111; + NewTabPayload new_tab_payload = 112; + GetPaneScrollbackPayload get_pane_scrollback_payload = 113; + RunActionPayload run_action_payload = 114; + ShowCursorPayload show_cursor_payload = 119; + CopyToClipboardPayload copy_to_clipboard_payload = 120; + PaneId send_sigint_to_pane_id_payload = 121; + PaneId send_sigkill_to_pane_id_payload = 122; + GetPanePidPayload get_pane_pid_payload = 123; + OverrideLayoutPayload override_layout_payload = 124; + SaveLayoutPayload save_layout_payload = 125; + DeleteLayoutPayload delete_layout_payload = 126; + EditLayoutPayload edit_layout_payload = 127; + GenerateRandomNamePayload generate_random_name_payload = 128; + DumpLayoutPayload dump_layout_payload = 129; + ParseLayoutPayload parse_layout_payload = 130; + RenameLayoutPayload rename_layout_payload = 131; + GetLayoutDirPayload get_layout_dir_payload = 132; + DumpSessionLayoutPayload dump_session_layout_payload = 133; + GetFocusedPaneInfoPayload get_focused_pane_info_payload = 134; + TogglePaneBorderlessPayload toggle_pane_borderless_payload = 135; + SetPaneBorderlessPayload set_pane_borderless_payload = 136; + SaveSessionPayload save_session_payload = 137; + CurrentSessionLastSavedTimePayload current_session_last_saved_time_payload = 138; + GetPaneInfoPayload get_pane_info_payload = 139; + GetTabInfoPayload get_tab_info_payload = 140; + GetPaneRunningCommandPayload get_pane_running_command_payload = 141; + GetPaneCwdPayload get_pane_cwd_payload = 142; + SwitchTabToIdPayload switch_tab_to_id_payload = 143; + GoToTabWithIdPayload go_to_tab_with_id_payload = 144; + CloseTabWithIdPayload close_tab_with_id_payload = 145; + 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; + HideFloatingPanesPayload hide_floating_panes_payload = 155; + ShowFloatingPanesPayload show_floating_panes_payload = 156; + SetPaneColorPayload set_pane_color_payload = 157; + SetPaneRegexHighlightsPayload set_pane_regex_highlights_payload = 158; + ClearPaneHighlightsPayload clear_pane_highlights_payload = 159; + OpenPluginPaneFloatingPayload open_plugin_pane_floating_payload = 160; + GetSessionListPayload get_session_list_payload = 161; + KillSessionsPayload kill_sessions_and_reply_payload = 162; + string delete_dead_session_and_reply_payload = 163; + SetSoftKeyboardPayload set_soft_keyboard_payload = 164; + SetTabFitPayload set_tab_fit_payload = 165; + PaneId set_shadow_focus_payload = 167; + NewTabUnfocusedPayload new_tab_unfocused_payload = 168; + NewTiledPaneInTabPayload new_tiled_pane_in_tab_payload = 169; + SetPaneFrameStylePayload set_pane_frame_style_payload = 170; + ToggleFloatingPanesPayload toggle_floating_panes_payload = 171; + } +} + +message SetPaneFrameStylePayload { + pane_frame_style.PaneFrameStyle pane_frame_style = 1; +} + +message ToggleFloatingPanesPayload { + optional uint64 tab_id = 1; +} + +message NewTabPayload { + optional string name = 1; + optional string cwd = 2; +} + +message NewTabUnfocusedPayload { + optional string name = 1; + optional string cwd = 2; +} + +message NewTiledPaneInTabPayload { + uint32 tab_position = 1; +} + +message DumpSessionLayoutPayload { + optional uint32 tab_index = 1; +} + +message RunActionPayload { + action.Action action = 1; + repeated ContextItem context = 2; +} + +message ReplacePaneWithExistingPanePayload { + PaneId pane_id_to_replace = 1; + PaneId existing_pane_id = 2; + bool suppress_replaced_pane = 3; +} + +message RenameWebLoginTokenPayload { + string old_name = 1; + string new_name = 2; +} + +message RevokeWebLoginTokenPayload { + string token_label = 1; +} + +message GenerateWebLoginTokenPayload { + optional string token_label = 1; + optional bool read_only = 2; +} + +message SetSelfMouseSelectionSupportPayload { + bool support_mouse_selection = 1; +} + +message EmbedMultiplePanesPayload { + repeated PaneId pane_ids = 1; +} + +message FloatMultiplePanesPayload { + repeated PaneId pane_ids = 1; +} + +message CloseMultiplePanesPayload { + repeated PaneId pane_ids = 1; +} + +message HighlightAndUnhighlightPanesPayload { + repeated PaneId pane_ids_to_highlight = 1; + repeated PaneId pane_ids_to_unhighlight = 2; +} + +message GroupAndUngroupPanesPayload { + repeated PaneId pane_ids_to_group = 1; + repeated PaneId pane_ids_to_ungroup = 2; + bool for_all_clients = 3; +} + +message OpenFileInPlaceOfPluginPayload { + file.File file_to_open = 1; + optional FloatingPaneCoordinates floating_pane_coordinates = 2; + repeated ContextItem context = 3; + bool close_plugin_after_replace = 4; +} + +message OpenFileFloatingNearPluginPayload { + file.File file_to_open = 1; + optional FloatingPaneCoordinates floating_pane_coordinates = 2; + repeated ContextItem context = 3; +} + +message OpenFileNearPluginPayload { + file.File file_to_open = 1; + optional FloatingPaneCoordinates floating_pane_coordinates = 2; + repeated ContextItem context = 3; +} + +message OpenCommandPaneInPlaceOfPluginPayload { + command.Command command_to_run = 1; + repeated ContextItem context = 3; + bool close_plugin_after_replace = 4; +} + +message OpenCommandPaneFloatingNearPluginPayload { + command.Command command_to_run = 1; + optional FloatingPaneCoordinates floating_pane_coordinates = 2; + repeated ContextItem context = 3; +} + +message OpenTerminalInPlaceOfPluginPayload { + file.File file_to_open = 1; + repeated ContextItem context = 3; + bool close_plugin_after_replace = 4; +} + +message OpenTerminalFloatingNearPluginPayload { + file.File file_to_open = 1; + optional FloatingPaneCoordinates floating_pane_coordinates = 2; + repeated ContextItem context = 3; +} + +message OpenTerminalNearPluginPayload { + file.File file_to_open = 1; + repeated ContextItem context = 3; +} + +message OpenCommandPaneNearPluginPayload { + command.Command command_to_run = 1; + optional FloatingPaneCoordinates floating_pane_coordinates = 2; + repeated ContextItem context = 3; +} + +message ChangeFloatingPanesCoordinatesPayload { + repeated PaneIdAndFloatingPaneCoordinates pane_ids_and_floating_panes_coordinates = 1; +} + +message StackPanesPayload { + repeated PaneId pane_ids = 1; +} + +message SetFloatingPanePinnedPayload { + PaneId pane_id = 1; + bool should_be_pinned = 2; +} + +message TogglePaneBorderlessPayload { + PaneId pane_id = 1; +} + +message SetPaneBorderlessPayload { + PaneId pane_id = 1; + bool borderless = 2; +} + +message ChangeHostFolderPayload { + string new_host_folder = 1; +} + +message RebindKeysPayload { + repeated KeyToRebind keys_to_rebind = 1; + repeated KeyToUnbind keys_to_unbind = 2; + bool write_config_to_disk = 3; +} + +message KeyToRebind { + input_mode.InputMode input_mode = 1; + key.Key key = 2; + repeated action.Action actions = 3; +} + +message KeyToUnbind { + input_mode.InputMode input_mode = 1; + key.Key key = 2; +} + +message LoadNewPluginPayload { + string plugin_url = 1; + repeated ContextItem plugin_config = 2; + bool should_load_plugin_in_background = 3; + bool should_skip_plugin_cache = 4; +} + +message ReloadPluginPayload { + uint32 plugin_id = 1; +} + +message BreakPanesToTabWithIndexPayload { + repeated PaneId pane_ids = 1; + uint32 tab_index = 2; + bool should_change_focus_to_target_tab = 3; +} + +message BreakPanesToNewTabPayload { + repeated PaneId pane_ids = 1; + bool should_change_focus_to_new_tab = 2; + optional string new_tab_name = 3; +} + +message MovePaneWithPaneIdPayload { + PaneId pane_id = 1; +} + +message MovePaneWithPaneIdInDirectionPayload { + PaneId pane_id = 1; + resize.MoveDirection direction = 2; +} + +message ClearScreenForPaneIdPayload { + PaneId pane_id = 1; +} + +message ScrollUpInPaneIdPayload { + PaneId pane_id = 1; +} + +message ScrollDownInPaneIdPayload { + PaneId pane_id = 1; +} + +message ScrollToTopInPaneIdPayload { + PaneId pane_id = 1; +} + +message ScrollToBottomInPaneIdPayload { + PaneId pane_id = 1; +} + +message PageScrollUpInPaneIdPayload { + PaneId pane_id = 1; +} + +message PageScrollDownInPaneIdPayload { + PaneId pane_id = 1; +} + +message TogglePaneIdFullscreenPayload { + PaneId pane_id = 1; +} + +message TogglePaneEmbedOrEjectForPaneIdPayload { + PaneId pane_id = 1; +} + +message CloseTabWithIndexPayload { + uint32 tab_index = 1; +} + +message WriteCharsToPaneIdPayload { + string chars_to_write = 1; + PaneId pane_id = 2; +} + +message WriteToPaneIdPayload { + bytes bytes_to_write = 1; + PaneId pane_id = 2; +} + +message EditScrollbackForPaneWithIdPayload { + PaneId pane_id = 1; +} + +message ResizePaneIdWithDirectionPayload { + resize.Resize resize = 1; + PaneId pane_id = 2; +} + +message ReconfigurePayload { + string config = 1; + bool write_to_disk = 2; +} + +message RerunCommandPanePayload { + uint32 terminal_pane_id = 1; +} + +message HidePaneWithIdPayload { + PaneId pane_id = 1; +} + +message ShowPaneWithIdPayload { + PaneId pane_id = 1; + bool should_float_if_hidden = 2; + bool should_focus_pane = 3; +} + +message NewTabsWithLayoutInfoPayload { + event.LayoutInfo layout_info = 1; +} + +message KillSessionsPayload { + repeated string session_names = 1; +} + +message CliPipeOutputPayload { + string pipe_name = 1; + string output = 2; +} + +message MessageToPluginPayload { + optional string plugin_url = 1; + repeated ContextItem plugin_config = 2; + string message_name = 3; + optional string message_payload = 4; + repeated ContextItem message_args = 5; + optional NewPluginArgs new_plugin_args = 6; + optional uint32 destination_plugin_id = 7; + optional FloatingPaneCoordinates floating_pane_coordinates = 8; +} + +message NewPluginArgs { + optional bool should_float = 1; + optional PaneId pane_id_to_replace = 2; + optional string pane_title = 3; + optional string cwd = 4; + bool skip_cache = 5; + optional bool should_focus = 6; +} + +message PaneId { + PaneType pane_type = 1; + uint32 id = 2; +} + +enum PaneType { + Terminal = 0; + Plugin = 1; +} + +message SwitchSessionPayload { + optional string name = 1; + optional uint32 tab_position = 2; + optional uint32 pane_id = 3; + optional bool pane_id_is_plugin = 4; + optional event.LayoutInfo layout = 5; + optional string cwd = 6; +} + +message RequestPluginPermissionPayload { + repeated plugin_permission.PermissionType permissions = 1; +} + +message SubscribePayload { + event.EventNameList subscriptions = 1; +} + +message UnsubscribePayload { + event.EventNameList subscriptions = 1; +} + +message OpenFilePayload { + file.File file_to_open = 1; + optional FloatingPaneCoordinates floating_pane_coordinates = 2; + repeated ContextItem context = 3; +} + +message OpenCommandPanePayload { + command.Command command_to_run = 1; + optional FloatingPaneCoordinates floating_pane_coordinates = 2; + repeated ContextItem context = 3; +} + +message SwitchTabToPayload { + uint32 tab_index = 1; +} + +message SetTimeoutPayload { + double seconds = 1; +} + +message ExecCmdPayload { + repeated string command_line = 1; +} + +message RunCommandPayload { + repeated string command_line = 1; + repeated EnvVariable env_variables = 2; + string cwd = 3; + repeated ContextItem context = 4; +} + +message WebRequestPayload { + string url = 1; + HttpVerb verb = 2; + repeated event.Header headers = 3; + bytes body = 4; + repeated ContextItem context = 5; +} + +enum HttpVerb { + Get = 0; + Post = 1; + Put = 2; + Delete = 3; +} + +message EnvVariable { + string name = 1; + string value = 2; +} + +message ContextItem { + string name = 1; + string value = 2; +} + +message PluginMessagePayload { + api.message.Message message = 1; +} + +message ResizePayload { + resize.Resize resize = 1; +} + +message MovePayload { + resize.MoveDirection direction = 1; +} + +message PaneIdAndFloatingPaneCoordinates { + PaneId pane_id = 1; + FloatingPaneCoordinates floating_pane_coordinates = 2; +} + +message IdAndNewName { + uint32 id = 1; // pane id or tab index + string new_name = 2; +} + +message FloatingPaneCoordinates { + optional FixedOrPercentValue x = 1; + optional FixedOrPercentValue y = 2; + optional FixedOrPercentValue width = 3; + optional FixedOrPercentValue height = 4; + optional bool pinned = 5; + optional bool borderless = 6; +} + +message FixedOrPercentValue { + FixedOrPercent type = 1; + uint32 value = 2; +} + +enum FixedOrPercent { + Fixed = 0; + Percent = 1; +} + +message SwitchTabToIdPayload { + uint64 tab_id = 1; +} + +message GoToTabWithIdPayload { + uint64 tab_id = 1; +} + +message CloseTabWithIdPayload { + uint64 tab_id = 1; +} + +message RenameTabWithIdPayload { + uint64 tab_id = 1; + string new_name = 2; +} + +message BreakPanesToTabWithIdPayload { + repeated PaneId pane_ids = 1; + uint64 tab_id = 2; + bool should_change_focus_to_target_tab = 3; +} + +message BreakPanesToTabWithIdResponse { + oneof result { + uint64 tab_id = 1; + bool none = 2; + } +} + +message CreateTokenResponse { + optional string token = 1; + optional string token_label = 2; + optional string error = 3; +} + +message RevokeTokenResponse { + bool successfully_revoked = 1; + optional string error = 2; +} + +message ListTokensResponse { + // tokens/creation_times/read_only_flags should be synchronized + repeated string tokens = 1; + repeated string creation_times = 2; + repeated bool read_only_flags = 3; + optional string error = 4; +} + +message RevokeAllWebTokensResponse { + bool successfully_revoked = 1; + optional string error = 2; +} + +message RenameWebTokenResponse { + bool successfully_renamed = 1; + optional string error = 2; +} + +message GetPaneScrollbackPayload { + PaneId pane_id = 1; + bool get_full_scrollback = 2; +} + +message ShowCursorPayload { + optional CursorPosition position = 1; +} + +message CursorPosition { + uint32 x = 1; + uint32 y = 2; +} + +message CopyToClipboardPayload { + string text = 1; +} + +message GetPanePidPayload { + PaneId pane_id = 1; +} + +message GetPanePidResponse { + oneof result { + int32 pid = 1; + string error = 2; + } +} + +message GetPaneRunningCommandPayload { + PaneId pane_id = 1; +} + +message GetPaneRunningCommandResponse { + oneof result { + RunningCommand command = 1; + string error = 2; + } +} + +message RunningCommand { + repeated string args = 1; +} + +message GetPaneCwdPayload { + PaneId pane_id = 1; +} + +message GetPaneCwdResponse { + oneof result { + string cwd = 1; + string error = 2; + } +} + +message SaveLayoutResponse { + oneof result { + bool success = 1; + string error = 2; + } +} + +message DeleteLayoutResponse { + oneof result { + bool success = 1; + string error = 2; + } +} + +message EditLayoutResponse { + oneof result { + bool success = 1; + string error = 2; + } +} + +message GenerateRandomNameResponse { + string name = 1; +} + +message OverrideLayoutPayload { + event.LayoutInfo layout_info = 1; + repeated ContextItem context = 2; + bool retain_existing_terminal_panes = 3; + bool retain_existing_plugin_panes = 4; + bool apply_only_to_active_tab = 5; +} + +message SaveLayoutPayload { + string layout_name = 1; + string layout_kdl = 2; + bool overwrite = 3; +} + +message DeleteLayoutPayload { + string layout_name = 1; +} + +message EditLayoutPayload { + string layout_name = 1; + repeated ContextItem context = 2; +} + +message GenerateRandomNamePayload {} + +message DumpLayoutPayload { + string layout_name = 1; +} + +message DumpLayoutResponse { + oneof result { + string layout_content = 1; + string error = 2; + } +} + +message DumpSessionLayoutResponse { + oneof result { + string layout_content = 1; + string error = 2; + } + optional api.event.LayoutMetadata metadata = 3; +} + +message ParseLayoutPayload { + string layout_string = 1; +} + +message ParseLayoutResponse { + oneof result { + api.event.LayoutMetadata metadata = 1; + api.event.LayoutParsingError error = 2; + } +} + +message RenameLayoutPayload { + string old_layout_name = 1; + string new_layout_name = 2; +} + +message RenameLayoutResponse { + oneof result { + bool success = 1; + string error = 2; + } +} + +message GetLayoutDirPayload {} + +message GetLayoutDirResponse { + string layout_dir = 1; +} + +message GetFocusedPaneInfoPayload {} + +message GetFocusedPaneInfoResponse { + oneof result { + FocusedPaneInfo focused_pane_info = 1; + string error = 2; + } +} + +message FocusedPaneInfo { + uint32 focused_tab_index = 1; + PaneId focused_pane_id = 2; +} + +message SaveSessionPayload {} + +message SaveSessionResponse { + oneof result { + bool success = 1; + string error = 2; + } +} + +message CurrentSessionLastSavedTimePayload {} + +message CurrentSessionLastSavedTimeResponse { + optional uint64 timestamp_millis = 1; // None if never saved, otherwise milliseconds elapsed since last save +} + +message GetPaneInfoPayload { + PaneId pane_id = 1; +} + +message GetPaneInfoResponse { + optional event.PaneInfo pane_info = 1; // None if pane not found +} + +message GetTabInfoPayload { + uint64 tab_id = 1; +} + +message GetTabInfoResponse { + optional event.TabInfo tab_info = 1; // None if tab not found +} + +message NewTabResponse { + oneof result { + uint64 tab_id = 1; + bool none = 2; // Indicates None + } +} + +message NewTabUnfocusedResponse { + oneof result { + uint64 tab_id = 1; + bool none = 2; + } +} + +message NewTiledPaneInTabResponse { + optional PaneId pane_id = 1; +} + +message NewTabsResponse { + repeated uint64 tab_ids = 1; // Only includes successfully created tabs +} + +message FocusOrCreateTabResponse { + oneof result { + uint64 tab_id = 1; + bool none = 2; // Indicates None + } +} + +message BreakPanesToNewTabResponse { + oneof result { + uint64 tab_id = 1; + bool none = 2; // Indicates None + } +} + +message BreakPanesToTabWithIndexResponse { + oneof result { + uint64 tab_id = 1; + bool none = 2; // Indicates None + } +} + +message OpenFileResponse { + optional PaneId pane_id = 1; +} + +message OpenFileFloatingResponse { + optional PaneId pane_id = 1; +} + +message OpenFileInPlaceResponse { + optional PaneId pane_id = 1; +} + +message OpenFileNearPluginResponse { + optional PaneId pane_id = 1; +} + +message OpenFileFloatingNearPluginResponse { + optional PaneId pane_id = 1; +} + +message OpenFileInPlaceOfPluginResponse { + optional PaneId pane_id = 1; +} + +message OpenTerminalResponse { + optional PaneId pane_id = 1; +} + +message OpenTerminalFloatingResponse { + optional PaneId pane_id = 1; +} + +message OpenTerminalInPlaceResponse { + optional PaneId pane_id = 1; +} + +message OpenTerminalNearPluginResponse { + optional PaneId pane_id = 1; +} + +message OpenTerminalFloatingNearPluginResponse { + optional PaneId pane_id = 1; +} + +message OpenTerminalInPlaceOfPluginResponse { + optional PaneId pane_id = 1; +} + +message OpenCommandPaneResponse { + optional PaneId pane_id = 1; +} + +message OpenCommandPaneFloatingResponse { + optional PaneId pane_id = 1; +} + +message OpenCommandPaneInPlaceResponse { + optional PaneId pane_id = 1; +} + +message OpenCommandPaneNearPluginResponse { + optional PaneId pane_id = 1; +} + +message OpenCommandPaneFloatingNearPluginResponse { + optional PaneId pane_id = 1; +} + +message OpenCommandPaneInPlaceOfPluginResponse { + optional PaneId pane_id = 1; +} + +message OpenCommandPaneBackgroundResponse { + optional PaneId pane_id = 1; +} + +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; +} + +message HideFloatingPanesPayload { + optional uint32 tab_id = 1; +} + +message ShowFloatingPanesPayload { + optional uint32 tab_id = 1; +} + +message ShowFloatingPanesResponse { + oneof result { + bool success = 1; + string error = 2; + } +} + +message HideFloatingPanesResponse { + oneof result { + bool success = 1; + string error = 2; + } +} + +message SetPaneColorPayload { + PaneId pane_id = 1; + optional string fg = 2; + optional string bg = 3; +} + +message HighlightStyle { + oneof style { + bool emphasis_0 = 1; + bool emphasis_1 = 2; + bool emphasis_2 = 3; + bool emphasis_3 = 4; + CustomRgbHighlight custom_rgb = 5; + CustomIndexHighlight custom_index = 6; + bool background_emphasis_0 = 7; + bool background_emphasis_1 = 8; + bool background_emphasis_2 = 9; + bool background_emphasis_3 = 10; + bool none = 11; + } +} + +message CustomRgbHighlight { + optional uint32 fg_r = 1; + optional uint32 fg_g = 2; + optional uint32 fg_b = 3; + optional uint32 bg_r = 4; + optional uint32 bg_g = 5; + optional uint32 bg_b = 6; +} + +message CustomIndexHighlight { + optional uint32 fg = 1; + optional uint32 bg = 2; +} + +enum HighlightLayer { + Hint = 0; + Tool = 1; + ActionFeedback = 2; +} + +message RegexHighlight { + string pattern = 1; + HighlightStyle style = 2; + repeated ContextItem context = 3; + bool on_hover = 4; + bool bold = 5; + bool italic = 6; + bool underline = 7; + optional string tooltip_text = 8; + HighlightLayer layer = 9; +} + +message SetPaneRegexHighlightsPayload { + PaneId pane_id = 1; + repeated RegexHighlight highlights = 2; +} + +message ClearPaneHighlightsPayload { + PaneId pane_id = 1; +} + +message OpenPluginPaneFloatingPayload { + string plugin_url = 1; + map<string, string> configuration = 2; + optional FloatingPaneCoordinates floating_pane_coordinates = 3; + repeated ContextItem context = 4; +} + +message OpenPluginPaneFloatingResponse { + optional PaneId pane_id = 1; +} + +message GetSessionListPayload {} + +message SessionListSnapshot { + repeated event.SessionManifest live_sessions = 1; + repeated event.ResurrectableSession resurrectable_sessions = 2; +} + +message GetSessionListResponse { + oneof result { + SessionListSnapshot snapshot = 1; + string error = 2; + } +} + +message KillSessionsResponse { + optional string error = 1; // absent => success +} + +message DeleteDeadSessionResponse { + optional string error = 1; // absent => success +} + +message DeleteAllDeadSessionsResponse { + optional string error = 1; // absent => success +} + +message SetSoftKeyboardPayload { + bool on = 1; +} + +message Size { + uint32 rows = 1; + uint32 cols = 2; +} + +message SetTabFitPayload { + uint32 tab_id = 1; + PaneId pane_id = 2; + Size size = 3; +} |
