1use serde::{Deserialize, Serialize};
2use std::path::PathBuf;
3
4pub mod protocol;
5
6#[derive(Debug, Serialize, Deserialize)]
7pub enum ServerMsg {
8 UserInput(UserInput),
9}
10
11#[derive(Debug, Serialize, Deserialize)]
12pub enum ProcessletMsg {
13 UserInput(UserInput),
14}
15
16#[derive(Debug, Serialize, Deserialize)]
17pub enum UserInput {
18 PressedKey(Key),
19}
20
21#[derive(Debug, Serialize, Deserialize)]
22pub enum Key {
23 Char(char),
24 Backspace,
25 Up,
26 Down,
27 Left,
28 Right,
29}
30
31#[derive(Debug, Serialize, Deserialize)]
32pub enum Ui {
33 Value(Value),
34 TextField {
35 current_text: String,
36 cursor_idx: usize,
37 },
38}
39
40#[derive(Debug, Serialize, Deserialize)]
41pub enum Value {
42 Path(PathBuf),
43 List(Vec<Value>),
44}