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
use std::path::PathBuf;

use kitty_remote_bindings_macros::KittyCommandOption;

use crate::model::WindowId;

/// Represents the `--match` option
//e id, title, pid, cwd, cmdline, num, env, var, state, neighbor, and recent
#[derive(Clone, Debug, PartialEq, KittyCommandOption)]
pub enum Matcher {
    /// Match by windows id `--match id:windows_id`
    #[prefix]
    Id(WindowId),
    // Title(String),
    // Pid(u32),
    // Cwd(String),
    // CmdLine(String),
    // Num(u32),
    // Env(String),
    // Var(String),
    // State(String),
    // Neighbor(String),
    // Recent(u32),
}

/// Represents the possible values of th launch command's `--type` option
#[derive(Clone, Debug, PartialEq, KittyCommandOption)]
pub enum LaunchType {
    Window,
    Tab,
    OsWindow,
    Overlay,
    OverlayMain,
    Background,
    Clipboard,
    Primary,
}

/// Represents the possible values of the `--cwd` option
#[derive(Clone, Debug, PartialEq, KittyCommandOption)]
pub enum Cwd {
    Current,
    LastReported,
    Root,
    Path(PathBuf),
}