systemprompt_logging/services/cli/
types.rs1#[derive(Debug, Clone, Copy, PartialEq, Eq)]
7pub enum ItemStatus {
8 Missing,
9 Applied,
10 Failed,
11 Valid,
12 Disabled,
13 Pending,
14}
15
16#[derive(Debug, Clone, Copy, PartialEq, Eq)]
17pub enum ModuleType {
18 Schema,
19 Seed,
20 Module,
21 Configuration,
22}
23
24#[derive(Debug, Clone, Copy, PartialEq, Eq)]
25pub enum MessageLevel {
26 Success,
27 Warning,
28 Error,
29 Info,
30}
31
32#[derive(Debug, Clone, Copy)]
33pub enum IconType {
34 Status(ItemStatus),
35 Module(ModuleType),
36 Message(MessageLevel),
37 Action(ActionType),
38}
39
40#[derive(Debug, Clone, Copy)]
41pub enum ColorType {
42 Status(ItemStatus),
43 Message(MessageLevel),
44 Emphasis(EmphasisType),
45}
46
47#[derive(Debug, Clone, Copy)]
48pub enum ActionType {
49 Install,
50 Update,
51 Arrow,
52}
53
54#[derive(Debug, Clone, Copy)]
55pub enum EmphasisType {
56 Highlight,
57 Dim,
58 Bold,
59 Underlined,
60}
61
62impl From<ItemStatus> for IconType {
63 fn from(status: ItemStatus) -> Self {
64 Self::Status(status)
65 }
66}
67
68impl From<ModuleType> for IconType {
69 fn from(module_type: ModuleType) -> Self {
70 Self::Module(module_type)
71 }
72}
73
74impl From<MessageLevel> for IconType {
75 fn from(level: MessageLevel) -> Self {
76 Self::Message(level)
77 }
78}
79
80impl From<ActionType> for IconType {
81 fn from(action: ActionType) -> Self {
82 Self::Action(action)
83 }
84}
85
86impl From<ItemStatus> for ColorType {
87 fn from(status: ItemStatus) -> Self {
88 Self::Status(status)
89 }
90}
91
92impl From<MessageLevel> for ColorType {
93 fn from(level: MessageLevel) -> Self {
94 Self::Message(level)
95 }
96}
97
98impl From<EmphasisType> for ColorType {
99 fn from(emphasis: EmphasisType) -> Self {
100 Self::Emphasis(emphasis)
101 }
102}