nui/events/redraw/
msg.rs

1use rmpv::Value;
2
3#[derive(Debug)]
4pub enum MessageKind {
5    Confirm,
6    ConfirmSubstitute,
7    Error,
8    Echo,
9    EchoMessage,
10    EchoError,
11    LuaError,
12    RpcError,
13    ReturnPrompt,
14    QuickFix,
15    SearchCount,
16    Warning,
17    Unknown,
18}
19
20#[derive(Debug)]
21pub struct MessageShow {
22    pub kind: String,
23    pub content: String,
24    pub replace_last: bool,
25}
26
27#[derive(Debug)]
28pub struct MessageShowMode {
29    pub content: String,
30}
31
32#[derive(Debug)]
33pub struct MessageShowCmd {
34    pub content: String,
35}
36
37#[derive(Debug)]
38pub struct MessageRuler {
39    pub content: String,
40}
41
42#[derive(Debug)]
43pub struct MessageHistoryShow {
44    pub entries: Vec<String>,
45}
46
47impl MessageKind {
48    pub fn parse(value: &Value) -> MessageKind {
49        match value.as_str().unwrap() {
50            "confirm" => MessageKind::Confirm,
51            "confirm_sub" => MessageKind::ConfirmSubstitute,
52            "emsg" => MessageKind::Error,
53            "echo" => MessageKind::Echo,
54            "echomsg" => MessageKind::EchoMessage,
55            "echoerr" => MessageKind::EchoError,
56            "lua_error" => MessageKind::LuaError,
57            "rpc_error" => MessageKind::RpcError,
58            "return_prompt" => MessageKind::ReturnPrompt,
59            "quickfix" => MessageKind::QuickFix,
60            "search_count" => MessageKind::SearchCount,
61            "wmsg" => MessageKind::Warning,
62            _ => MessageKind::Unknown,
63        }
64    }
65}