polyp/
lib.rs

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}