process_terminal/
settings.rs1use crossterm::event::KeyCode;
2
3#[derive(Clone, PartialEq)]
4pub struct ProcessSettings {
5 pub messages: MessageSettings,
6 pub scroll: ScrollSettings,
7}
8
9impl ProcessSettings {
10 pub fn new(messages: MessageSettings) -> Self {
11 Self {
12 messages,
13 scroll: ScrollSettings::Disable,
14 }
15 }
16
17 pub fn new_with_scroll(messages: MessageSettings, scroll: ScrollSettings) -> Self {
18 Self { messages, scroll }
19 }
20}
21
22#[derive(Clone, PartialEq)]
23pub enum MessageSettings {
24 None,
25 Output,
26 Error,
27 All,
28}
29
30#[derive(Clone, PartialEq)]
31pub enum ScrollSettings {
32 Disable,
33 Enable {
34 up_right: KeyCode,
35 down_left: KeyCode,
36 },
37}
38
39impl ScrollSettings {
40 pub fn enable(up_right: KeyCode, down_left: KeyCode) -> Self {
41 ScrollSettings::Enable {
42 up_right,
43 down_left,
44 }
45 }
46}