nvim_api/types/
mouse_action.rs

1use nvim_types as nvim;
2use serde::{Deserialize, Serialize};
3
4#[derive(Copy, Clone, Debug, Eq, PartialEq, Hash, Serialize, Deserialize)]
5#[serde(rename_all = "lowercase")]
6pub enum MouseAction {
7    Down,
8    Drag,
9    Left,
10    Press,
11    Release,
12    Right,
13    Up,
14}
15
16impl From<MouseAction> for nvim::String {
17    fn from(action: MouseAction) -> nvim::String {
18        use MouseAction::*;
19        nvim::String::from(match action {
20            Down => "down",
21            Drag => "drag",
22            Left => "left",
23            Press => "press",
24            Release => "release",
25            Right => "right",
26            Up => "up",
27        })
28    }
29}