blob: 0a0ad2b0552e6ca277cd72117ece8a99dd776616 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
|
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";
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;
}
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;
}
}
message NewTabPayload {
optional string name = 1;
optional string cwd = 2;
}
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 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;
}
message FixedOrPercentValue {
FixedOrPercent type = 1;
uint32 value = 2;
}
enum FixedOrPercent {
Fixed = 0;
Percent = 1;
}
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 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;
}
|