zellij_utils/opt/rustwide/workdir/assets/prost/
api.event.rs

1#[allow(clippy::derive_partial_eq_without_eq)]
2#[derive(Clone, PartialEq, ::prost::Message)]
3pub struct EventNameList {
4    #[prost(enumeration = "EventType", repeated, tag = "1")]
5    pub event_types: ::prost::alloc::vec::Vec<i32>,
6}
7#[allow(clippy::derive_partial_eq_without_eq)]
8#[derive(Clone, PartialEq, ::prost::Message)]
9pub struct Event {
10    #[prost(enumeration = "EventType", tag = "1")]
11    pub name: i32,
12    #[prost(
13        oneof = "event::Payload",
14        tags = "2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23"
15    )]
16    pub payload: ::core::option::Option<event::Payload>,
17}
18/// Nested message and enum types in `Event`.
19pub mod event {
20    #[allow(clippy::derive_partial_eq_without_eq)]
21    #[derive(Clone, PartialEq, ::prost::Oneof)]
22    pub enum Payload {
23        #[prost(message, tag = "2")]
24        ModeUpdatePayload(super::ModeUpdatePayload),
25        #[prost(message, tag = "3")]
26        TabUpdatePayload(super::TabUpdatePayload),
27        #[prost(message, tag = "4")]
28        PaneUpdatePayload(super::PaneUpdatePayload),
29        #[prost(message, tag = "5")]
30        KeyPayload(super::super::key::Key),
31        #[prost(message, tag = "6")]
32        MouseEventPayload(super::MouseEventPayload),
33        #[prost(float, tag = "7")]
34        TimerPayload(f32),
35        #[prost(enumeration = "super::CopyDestination", tag = "8")]
36        CopyToClipboardPayload(i32),
37        #[prost(bool, tag = "9")]
38        VisiblePayload(bool),
39        #[prost(message, tag = "10")]
40        CustomMessagePayload(super::CustomMessagePayload),
41        #[prost(message, tag = "11")]
42        FileListPayload(super::FileListPayload),
43        #[prost(message, tag = "12")]
44        PermissionRequestResultPayload(super::PermissionRequestResultPayload),
45        #[prost(message, tag = "13")]
46        SessionUpdatePayload(super::SessionUpdatePayload),
47        #[prost(message, tag = "14")]
48        RunCommandResultPayload(super::RunCommandResultPayload),
49        #[prost(message, tag = "15")]
50        WebRequestResultPayload(super::WebRequestResultPayload),
51        #[prost(message, tag = "16")]
52        CommandPaneOpenedPayload(super::CommandPaneOpenedPayload),
53        #[prost(message, tag = "17")]
54        CommandPaneExitedPayload(super::CommandPaneExitedPayload),
55        #[prost(message, tag = "18")]
56        PaneClosedPayload(super::PaneClosedPayload),
57        #[prost(message, tag = "19")]
58        EditPaneOpenedPayload(super::EditPaneOpenedPayload),
59        #[prost(message, tag = "20")]
60        EditPaneExitedPayload(super::EditPaneExitedPayload),
61        #[prost(message, tag = "21")]
62        CommandPaneRerunPayload(super::CommandPaneReRunPayload),
63        #[prost(message, tag = "22")]
64        FailedToWriteConfigToDiskPayload(super::FailedToWriteConfigToDiskPayload),
65        #[prost(message, tag = "23")]
66        ListClientsPayload(super::ListClientsPayload),
67    }
68}
69#[allow(clippy::derive_partial_eq_without_eq)]
70#[derive(Clone, PartialEq, ::prost::Message)]
71pub struct ListClientsPayload {
72    #[prost(message, repeated, tag = "1")]
73    pub client_info: ::prost::alloc::vec::Vec<ClientInfo>,
74}
75#[allow(clippy::derive_partial_eq_without_eq)]
76#[derive(Clone, PartialEq, ::prost::Message)]
77pub struct ClientInfo {
78    #[prost(uint32, tag = "1")]
79    pub client_id: u32,
80    #[prost(message, optional, tag = "2")]
81    pub pane_id: ::core::option::Option<PaneId>,
82    #[prost(string, tag = "3")]
83    pub running_command: ::prost::alloc::string::String,
84    #[prost(bool, tag = "4")]
85    pub is_current_client: bool,
86}
87#[allow(clippy::derive_partial_eq_without_eq)]
88#[derive(Clone, PartialEq, ::prost::Message)]
89pub struct FailedToWriteConfigToDiskPayload {
90    #[prost(string, optional, tag = "1")]
91    pub file_path: ::core::option::Option<::prost::alloc::string::String>,
92}
93#[allow(clippy::derive_partial_eq_without_eq)]
94#[derive(Clone, PartialEq, ::prost::Message)]
95pub struct CommandPaneReRunPayload {
96    #[prost(uint32, tag = "1")]
97    pub terminal_pane_id: u32,
98    #[prost(message, repeated, tag = "3")]
99    pub context: ::prost::alloc::vec::Vec<ContextItem>,
100}
101#[allow(clippy::derive_partial_eq_without_eq)]
102#[derive(Clone, PartialEq, ::prost::Message)]
103pub struct PaneClosedPayload {
104    #[prost(message, optional, tag = "1")]
105    pub pane_id: ::core::option::Option<PaneId>,
106}
107/// duplicate of plugin_command.PaneId because protobuffs don't like recursive imports
108#[allow(clippy::derive_partial_eq_without_eq)]
109#[derive(Clone, PartialEq, ::prost::Message)]
110pub struct PaneId {
111    #[prost(enumeration = "PaneType", tag = "1")]
112    pub pane_type: i32,
113    #[prost(uint32, tag = "2")]
114    pub id: u32,
115}
116#[allow(clippy::derive_partial_eq_without_eq)]
117#[derive(Clone, PartialEq, ::prost::Message)]
118pub struct CommandPaneOpenedPayload {
119    #[prost(uint32, tag = "1")]
120    pub terminal_pane_id: u32,
121    #[prost(message, repeated, tag = "2")]
122    pub context: ::prost::alloc::vec::Vec<ContextItem>,
123}
124#[allow(clippy::derive_partial_eq_without_eq)]
125#[derive(Clone, PartialEq, ::prost::Message)]
126pub struct EditPaneOpenedPayload {
127    #[prost(uint32, tag = "1")]
128    pub terminal_pane_id: u32,
129    #[prost(message, repeated, tag = "2")]
130    pub context: ::prost::alloc::vec::Vec<ContextItem>,
131}
132#[allow(clippy::derive_partial_eq_without_eq)]
133#[derive(Clone, PartialEq, ::prost::Message)]
134pub struct CommandPaneExitedPayload {
135    #[prost(uint32, tag = "1")]
136    pub terminal_pane_id: u32,
137    #[prost(int32, optional, tag = "2")]
138    pub exit_code: ::core::option::Option<i32>,
139    #[prost(message, repeated, tag = "3")]
140    pub context: ::prost::alloc::vec::Vec<ContextItem>,
141}
142#[allow(clippy::derive_partial_eq_without_eq)]
143#[derive(Clone, PartialEq, ::prost::Message)]
144pub struct EditPaneExitedPayload {
145    #[prost(uint32, tag = "1")]
146    pub terminal_pane_id: u32,
147    #[prost(int32, optional, tag = "2")]
148    pub exit_code: ::core::option::Option<i32>,
149    #[prost(message, repeated, tag = "3")]
150    pub context: ::prost::alloc::vec::Vec<ContextItem>,
151}
152#[allow(clippy::derive_partial_eq_without_eq)]
153#[derive(Clone, PartialEq, ::prost::Message)]
154pub struct SessionUpdatePayload {
155    #[prost(message, repeated, tag = "1")]
156    pub session_manifests: ::prost::alloc::vec::Vec<SessionManifest>,
157    #[prost(message, repeated, tag = "2")]
158    pub resurrectable_sessions: ::prost::alloc::vec::Vec<ResurrectableSession>,
159}
160#[allow(clippy::derive_partial_eq_without_eq)]
161#[derive(Clone, PartialEq, ::prost::Message)]
162pub struct RunCommandResultPayload {
163    #[prost(int32, optional, tag = "1")]
164    pub exit_code: ::core::option::Option<i32>,
165    #[prost(bytes = "vec", tag = "2")]
166    pub stdout: ::prost::alloc::vec::Vec<u8>,
167    #[prost(bytes = "vec", tag = "3")]
168    pub stderr: ::prost::alloc::vec::Vec<u8>,
169    #[prost(message, repeated, tag = "4")]
170    pub context: ::prost::alloc::vec::Vec<ContextItem>,
171}
172#[allow(clippy::derive_partial_eq_without_eq)]
173#[derive(Clone, PartialEq, ::prost::Message)]
174pub struct WebRequestResultPayload {
175    #[prost(int32, tag = "1")]
176    pub status: i32,
177    #[prost(message, repeated, tag = "2")]
178    pub headers: ::prost::alloc::vec::Vec<Header>,
179    #[prost(bytes = "vec", tag = "3")]
180    pub body: ::prost::alloc::vec::Vec<u8>,
181    #[prost(message, repeated, tag = "4")]
182    pub context: ::prost::alloc::vec::Vec<ContextItem>,
183}
184#[allow(clippy::derive_partial_eq_without_eq)]
185#[derive(Clone, PartialEq, ::prost::Message)]
186pub struct ContextItem {
187    #[prost(string, tag = "1")]
188    pub name: ::prost::alloc::string::String,
189    #[prost(string, tag = "2")]
190    pub value: ::prost::alloc::string::String,
191}
192#[allow(clippy::derive_partial_eq_without_eq)]
193#[derive(Clone, PartialEq, ::prost::Message)]
194pub struct Header {
195    #[prost(string, tag = "1")]
196    pub name: ::prost::alloc::string::String,
197    #[prost(string, tag = "2")]
198    pub value: ::prost::alloc::string::String,
199}
200#[allow(clippy::derive_partial_eq_without_eq)]
201#[derive(Clone, PartialEq, ::prost::Message)]
202pub struct PermissionRequestResultPayload {
203    #[prost(bool, tag = "1")]
204    pub granted: bool,
205}
206#[allow(clippy::derive_partial_eq_without_eq)]
207#[derive(Clone, PartialEq, ::prost::Message)]
208pub struct FileListPayload {
209    #[prost(string, repeated, tag = "1")]
210    pub paths: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
211    #[prost(message, repeated, tag = "2")]
212    pub paths_metadata: ::prost::alloc::vec::Vec<FileMetadata>,
213}
214#[allow(clippy::derive_partial_eq_without_eq)]
215#[derive(Clone, PartialEq, ::prost::Message)]
216pub struct FileMetadata {
217    /// if this is false, the metadata for this file has not been read
218    #[prost(bool, tag = "1")]
219    pub metadata_is_set: bool,
220    #[prost(bool, tag = "2")]
221    pub is_dir: bool,
222    #[prost(bool, tag = "3")]
223    pub is_file: bool,
224    #[prost(bool, tag = "4")]
225    pub is_symlink: bool,
226    #[prost(uint64, tag = "5")]
227    pub len: u64,
228}
229#[allow(clippy::derive_partial_eq_without_eq)]
230#[derive(Clone, PartialEq, ::prost::Message)]
231pub struct CustomMessagePayload {
232    #[prost(string, tag = "1")]
233    pub message_name: ::prost::alloc::string::String,
234    #[prost(string, tag = "2")]
235    pub payload: ::prost::alloc::string::String,
236}
237#[allow(clippy::derive_partial_eq_without_eq)]
238#[derive(Clone, PartialEq, ::prost::Message)]
239pub struct MouseEventPayload {
240    #[prost(enumeration = "MouseEventName", tag = "1")]
241    pub mouse_event_name: i32,
242    #[prost(oneof = "mouse_event_payload::MouseEventPayload", tags = "2, 3")]
243    pub mouse_event_payload: ::core::option::Option<
244        mouse_event_payload::MouseEventPayload,
245    >,
246}
247/// Nested message and enum types in `MouseEventPayload`.
248pub mod mouse_event_payload {
249    #[allow(clippy::derive_partial_eq_without_eq)]
250    #[derive(Clone, PartialEq, ::prost::Oneof)]
251    pub enum MouseEventPayload {
252        #[prost(uint32, tag = "2")]
253        LineCount(u32),
254        #[prost(message, tag = "3")]
255        Position(super::super::action::Position),
256    }
257}
258#[allow(clippy::derive_partial_eq_without_eq)]
259#[derive(Clone, PartialEq, ::prost::Message)]
260pub struct TabUpdatePayload {
261    #[prost(message, repeated, tag = "1")]
262    pub tab_info: ::prost::alloc::vec::Vec<TabInfo>,
263}
264#[allow(clippy::derive_partial_eq_without_eq)]
265#[derive(Clone, PartialEq, ::prost::Message)]
266pub struct PaneUpdatePayload {
267    #[prost(message, repeated, tag = "1")]
268    pub pane_manifest: ::prost::alloc::vec::Vec<PaneManifest>,
269}
270#[allow(clippy::derive_partial_eq_without_eq)]
271#[derive(Clone, PartialEq, ::prost::Message)]
272pub struct PaneManifest {
273    #[prost(uint32, tag = "1")]
274    pub tab_index: u32,
275    #[prost(message, repeated, tag = "2")]
276    pub panes: ::prost::alloc::vec::Vec<PaneInfo>,
277}
278#[allow(clippy::derive_partial_eq_without_eq)]
279#[derive(Clone, PartialEq, ::prost::Message)]
280pub struct SessionManifest {
281    #[prost(string, tag = "1")]
282    pub name: ::prost::alloc::string::String,
283    #[prost(message, repeated, tag = "2")]
284    pub tabs: ::prost::alloc::vec::Vec<TabInfo>,
285    #[prost(message, repeated, tag = "3")]
286    pub panes: ::prost::alloc::vec::Vec<PaneManifest>,
287    #[prost(uint32, tag = "4")]
288    pub connected_clients: u32,
289    #[prost(bool, tag = "5")]
290    pub is_current_session: bool,
291    #[prost(message, repeated, tag = "6")]
292    pub available_layouts: ::prost::alloc::vec::Vec<LayoutInfo>,
293    #[prost(message, repeated, tag = "7")]
294    pub plugins: ::prost::alloc::vec::Vec<PluginInfo>,
295}
296#[allow(clippy::derive_partial_eq_without_eq)]
297#[derive(Clone, PartialEq, ::prost::Message)]
298pub struct PluginInfo {
299    #[prost(uint32, tag = "1")]
300    pub plugin_id: u32,
301    #[prost(string, tag = "2")]
302    pub plugin_url: ::prost::alloc::string::String,
303    #[prost(message, repeated, tag = "3")]
304    pub plugin_config: ::prost::alloc::vec::Vec<ContextItem>,
305}
306#[allow(clippy::derive_partial_eq_without_eq)]
307#[derive(Clone, PartialEq, ::prost::Message)]
308pub struct LayoutInfo {
309    #[prost(string, tag = "1")]
310    pub name: ::prost::alloc::string::String,
311    #[prost(string, tag = "2")]
312    pub source: ::prost::alloc::string::String,
313}
314#[allow(clippy::derive_partial_eq_without_eq)]
315#[derive(Clone, PartialEq, ::prost::Message)]
316pub struct ResurrectableSession {
317    #[prost(string, tag = "1")]
318    pub name: ::prost::alloc::string::String,
319    #[prost(uint64, tag = "2")]
320    pub creation_time: u64,
321}
322#[allow(clippy::derive_partial_eq_without_eq)]
323#[derive(Clone, PartialEq, ::prost::Message)]
324pub struct PaneInfo {
325    #[prost(uint32, tag = "1")]
326    pub id: u32,
327    #[prost(bool, tag = "2")]
328    pub is_plugin: bool,
329    #[prost(bool, tag = "3")]
330    pub is_focused: bool,
331    #[prost(bool, tag = "4")]
332    pub is_fullscreen: bool,
333    #[prost(bool, tag = "5")]
334    pub is_floating: bool,
335    #[prost(bool, tag = "6")]
336    pub is_suppressed: bool,
337    #[prost(string, tag = "7")]
338    pub title: ::prost::alloc::string::String,
339    #[prost(bool, tag = "8")]
340    pub exited: bool,
341    #[prost(int32, optional, tag = "9")]
342    pub exit_status: ::core::option::Option<i32>,
343    #[prost(bool, tag = "10")]
344    pub is_held: bool,
345    #[prost(uint32, tag = "11")]
346    pub pane_x: u32,
347    #[prost(uint32, tag = "12")]
348    pub pane_content_x: u32,
349    #[prost(uint32, tag = "13")]
350    pub pane_y: u32,
351    #[prost(uint32, tag = "14")]
352    pub pane_content_y: u32,
353    #[prost(uint32, tag = "15")]
354    pub pane_rows: u32,
355    #[prost(uint32, tag = "16")]
356    pub pane_content_rows: u32,
357    #[prost(uint32, tag = "17")]
358    pub pane_columns: u32,
359    #[prost(uint32, tag = "18")]
360    pub pane_content_columns: u32,
361    #[prost(message, optional, tag = "19")]
362    pub cursor_coordinates_in_pane: ::core::option::Option<super::action::Position>,
363    #[prost(string, optional, tag = "20")]
364    pub terminal_command: ::core::option::Option<::prost::alloc::string::String>,
365    #[prost(string, optional, tag = "21")]
366    pub plugin_url: ::core::option::Option<::prost::alloc::string::String>,
367    #[prost(bool, tag = "22")]
368    pub is_selectable: bool,
369}
370#[allow(clippy::derive_partial_eq_without_eq)]
371#[derive(Clone, PartialEq, ::prost::Message)]
372pub struct TabInfo {
373    #[prost(uint32, tag = "1")]
374    pub position: u32,
375    #[prost(string, tag = "2")]
376    pub name: ::prost::alloc::string::String,
377    #[prost(bool, tag = "3")]
378    pub active: bool,
379    #[prost(uint32, tag = "4")]
380    pub panes_to_hide: u32,
381    #[prost(bool, tag = "5")]
382    pub is_fullscreen_active: bool,
383    #[prost(bool, tag = "6")]
384    pub is_sync_panes_active: bool,
385    #[prost(bool, tag = "7")]
386    pub are_floating_panes_visible: bool,
387    #[prost(uint32, repeated, tag = "8")]
388    pub other_focused_clients: ::prost::alloc::vec::Vec<u32>,
389    #[prost(string, optional, tag = "9")]
390    pub active_swap_layout_name: ::core::option::Option<::prost::alloc::string::String>,
391    #[prost(bool, tag = "10")]
392    pub is_swap_layout_dirty: bool,
393}
394#[allow(clippy::derive_partial_eq_without_eq)]
395#[derive(Clone, PartialEq, ::prost::Message)]
396pub struct ModeUpdatePayload {
397    #[prost(enumeration = "super::input_mode::InputMode", tag = "1")]
398    pub current_mode: i32,
399    #[prost(message, repeated, tag = "2")]
400    pub keybinds: ::prost::alloc::vec::Vec<InputModeKeybinds>,
401    #[prost(message, optional, tag = "3")]
402    pub style: ::core::option::Option<super::style::Style>,
403    #[prost(bool, tag = "4")]
404    pub arrow_fonts_support: bool,
405    #[prost(string, optional, tag = "5")]
406    pub session_name: ::core::option::Option<::prost::alloc::string::String>,
407    #[prost(enumeration = "super::input_mode::InputMode", optional, tag = "6")]
408    pub base_mode: ::core::option::Option<i32>,
409}
410#[allow(clippy::derive_partial_eq_without_eq)]
411#[derive(Clone, PartialEq, ::prost::Message)]
412pub struct InputModeKeybinds {
413    #[prost(enumeration = "super::input_mode::InputMode", tag = "1")]
414    pub mode: i32,
415    #[prost(message, repeated, tag = "2")]
416    pub key_bind: ::prost::alloc::vec::Vec<KeyBind>,
417}
418#[allow(clippy::derive_partial_eq_without_eq)]
419#[derive(Clone, PartialEq, ::prost::Message)]
420pub struct KeyBind {
421    #[prost(message, optional, tag = "1")]
422    pub key: ::core::option::Option<super::key::Key>,
423    #[prost(message, repeated, tag = "2")]
424    pub action: ::prost::alloc::vec::Vec<super::action::Action>,
425}
426#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
427#[repr(i32)]
428pub enum EventType {
429    /// / The input mode or relevant metadata changed
430    ModeUpdate = 0,
431    /// / The tab state in the app was changed
432    TabUpdate = 1,
433    /// / The pane state in the app was changed
434    PaneUpdate = 2,
435    /// / A key was pressed while the user is focused on this plugin's pane
436    Key = 3,
437    /// / A mouse event happened while the user is focused on this plugin's pane
438    Mouse = 4,
439    /// / A timer expired set by the `set_timeout` method exported by `zellij-tile`.
440    Timer = 5,
441    /// / Text was copied to the clipboard anywhere in the app
442    CopyToClipboard = 6,
443    /// / Failed to copy text to clipboard anywhere in the app
444    SystemClipboardFailure = 7,
445    /// / Input was received anywhere in the app
446    InputReceived = 8,
447    /// / This plugin became visible or invisible
448    Visible = 9,
449    /// / A message from one of the plugin's workers
450    CustomMessage = 10,
451    /// / A file was created somewhere in the Zellij CWD folder
452    FileSystemCreate = 11,
453    /// / A file was accessed somewhere in the Zellij CWD folder
454    FileSystemRead = 12,
455    /// / A file was modified somewhere in the Zellij CWD folder
456    FileSystemUpdate = 13,
457    /// / A file was deleted somewhere in the Zellij CWD folder
458    FileSystemDelete = 14,
459    PermissionRequestResult = 15,
460    SessionUpdate = 16,
461    RunCommandResult = 17,
462    WebRequestResult = 18,
463    CommandPaneOpened = 19,
464    CommandPaneExited = 20,
465    PaneClosed = 21,
466    EditPaneOpened = 22,
467    EditPaneExited = 23,
468    CommandPaneReRun = 24,
469    FailedToWriteConfigToDisk = 25,
470    ListClients = 26,
471}
472impl EventType {
473    /// String value of the enum field names used in the ProtoBuf definition.
474    ///
475    /// The values are not transformed in any way and thus are considered stable
476    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
477    pub fn as_str_name(&self) -> &'static str {
478        match self {
479            EventType::ModeUpdate => "ModeUpdate",
480            EventType::TabUpdate => "TabUpdate",
481            EventType::PaneUpdate => "PaneUpdate",
482            EventType::Key => "Key",
483            EventType::Mouse => "Mouse",
484            EventType::Timer => "Timer",
485            EventType::CopyToClipboard => "CopyToClipboard",
486            EventType::SystemClipboardFailure => "SystemClipboardFailure",
487            EventType::InputReceived => "InputReceived",
488            EventType::Visible => "Visible",
489            EventType::CustomMessage => "CustomMessage",
490            EventType::FileSystemCreate => "FileSystemCreate",
491            EventType::FileSystemRead => "FileSystemRead",
492            EventType::FileSystemUpdate => "FileSystemUpdate",
493            EventType::FileSystemDelete => "FileSystemDelete",
494            EventType::PermissionRequestResult => "PermissionRequestResult",
495            EventType::SessionUpdate => "SessionUpdate",
496            EventType::RunCommandResult => "RunCommandResult",
497            EventType::WebRequestResult => "WebRequestResult",
498            EventType::CommandPaneOpened => "CommandPaneOpened",
499            EventType::CommandPaneExited => "CommandPaneExited",
500            EventType::PaneClosed => "PaneClosed",
501            EventType::EditPaneOpened => "EditPaneOpened",
502            EventType::EditPaneExited => "EditPaneExited",
503            EventType::CommandPaneReRun => "CommandPaneReRun",
504            EventType::FailedToWriteConfigToDisk => "FailedToWriteConfigToDisk",
505            EventType::ListClients => "ListClients",
506        }
507    }
508    /// Creates an enum from field names used in the ProtoBuf definition.
509    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
510        match value {
511            "ModeUpdate" => Some(Self::ModeUpdate),
512            "TabUpdate" => Some(Self::TabUpdate),
513            "PaneUpdate" => Some(Self::PaneUpdate),
514            "Key" => Some(Self::Key),
515            "Mouse" => Some(Self::Mouse),
516            "Timer" => Some(Self::Timer),
517            "CopyToClipboard" => Some(Self::CopyToClipboard),
518            "SystemClipboardFailure" => Some(Self::SystemClipboardFailure),
519            "InputReceived" => Some(Self::InputReceived),
520            "Visible" => Some(Self::Visible),
521            "CustomMessage" => Some(Self::CustomMessage),
522            "FileSystemCreate" => Some(Self::FileSystemCreate),
523            "FileSystemRead" => Some(Self::FileSystemRead),
524            "FileSystemUpdate" => Some(Self::FileSystemUpdate),
525            "FileSystemDelete" => Some(Self::FileSystemDelete),
526            "PermissionRequestResult" => Some(Self::PermissionRequestResult),
527            "SessionUpdate" => Some(Self::SessionUpdate),
528            "RunCommandResult" => Some(Self::RunCommandResult),
529            "WebRequestResult" => Some(Self::WebRequestResult),
530            "CommandPaneOpened" => Some(Self::CommandPaneOpened),
531            "CommandPaneExited" => Some(Self::CommandPaneExited),
532            "PaneClosed" => Some(Self::PaneClosed),
533            "EditPaneOpened" => Some(Self::EditPaneOpened),
534            "EditPaneExited" => Some(Self::EditPaneExited),
535            "CommandPaneReRun" => Some(Self::CommandPaneReRun),
536            "FailedToWriteConfigToDisk" => Some(Self::FailedToWriteConfigToDisk),
537            "ListClients" => Some(Self::ListClients),
538            _ => None,
539        }
540    }
541}
542/// duplicate of plugin_command.PaneType because protobuffs don't like recursive imports
543#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
544#[repr(i32)]
545pub enum PaneType {
546    Terminal = 0,
547    Plugin = 1,
548}
549impl PaneType {
550    /// String value of the enum field names used in the ProtoBuf definition.
551    ///
552    /// The values are not transformed in any way and thus are considered stable
553    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
554    pub fn as_str_name(&self) -> &'static str {
555        match self {
556            PaneType::Terminal => "Terminal",
557            PaneType::Plugin => "Plugin",
558        }
559    }
560    /// Creates an enum from field names used in the ProtoBuf definition.
561    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
562        match value {
563            "Terminal" => Some(Self::Terminal),
564            "Plugin" => Some(Self::Plugin),
565            _ => None,
566        }
567    }
568}
569#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
570#[repr(i32)]
571pub enum CopyDestination {
572    Command = 0,
573    Primary = 1,
574    System = 2,
575}
576impl CopyDestination {
577    /// String value of the enum field names used in the ProtoBuf definition.
578    ///
579    /// The values are not transformed in any way and thus are considered stable
580    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
581    pub fn as_str_name(&self) -> &'static str {
582        match self {
583            CopyDestination::Command => "Command",
584            CopyDestination::Primary => "Primary",
585            CopyDestination::System => "System",
586        }
587    }
588    /// Creates an enum from field names used in the ProtoBuf definition.
589    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
590        match value {
591            "Command" => Some(Self::Command),
592            "Primary" => Some(Self::Primary),
593            "System" => Some(Self::System),
594            _ => None,
595        }
596    }
597}
598#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
599#[repr(i32)]
600pub enum MouseEventName {
601    MouseScrollUp = 0,
602    MouseScrollDown = 1,
603    MouseLeftClick = 2,
604    MouseRightClick = 3,
605    MouseHold = 4,
606    MouseRelease = 5,
607}
608impl MouseEventName {
609    /// String value of the enum field names used in the ProtoBuf definition.
610    ///
611    /// The values are not transformed in any way and thus are considered stable
612    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
613    pub fn as_str_name(&self) -> &'static str {
614        match self {
615            MouseEventName::MouseScrollUp => "MouseScrollUp",
616            MouseEventName::MouseScrollDown => "MouseScrollDown",
617            MouseEventName::MouseLeftClick => "MouseLeftClick",
618            MouseEventName::MouseRightClick => "MouseRightClick",
619            MouseEventName::MouseHold => "MouseHold",
620            MouseEventName::MouseRelease => "MouseRelease",
621        }
622    }
623    /// Creates an enum from field names used in the ProtoBuf definition.
624    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
625        match value {
626            "MouseScrollUp" => Some(Self::MouseScrollUp),
627            "MouseScrollDown" => Some(Self::MouseScrollDown),
628            "MouseLeftClick" => Some(Self::MouseLeftClick),
629            "MouseRightClick" => Some(Self::MouseRightClick),
630            "MouseHold" => Some(Self::MouseHold),
631            "MouseRelease" => Some(Self::MouseRelease),
632            _ => None,
633        }
634    }
635}