neophyte_ui/
messages.rs

1use neophyte_ui_event::{
2    msg_history_show::MsgHistoryEntry, msg_show::ReplaceLast, Content, MsgShow,
3};
4
5type Message = MsgHistoryEntry;
6
7#[derive(Debug, Clone, Default)]
8pub struct Messages {
9    pub dirty: bool,
10    pub show: Vec<Message>,
11    pub history: Vec<Message>,
12    pub showmode: Content,
13    pub showcmd: Content,
14    pub ruler: Content,
15}
16
17impl Messages {
18    pub fn show(&mut self, event: MsgShow) {
19        match event.replace_last {
20            ReplaceLast::Replace => {
21                self.show.pop();
22            }
23            ReplaceLast::Keep => {}
24        }
25        let message = Message {
26            kind: event.kind,
27            content: event.content,
28        };
29        self.show.push(message);
30    }
31}