|
2 | 2 |
|
3 | 3 | use crossterm::style::Color; |
4 | 4 |
|
| 5 | +// ANSI color value constants |
| 6 | +/// Purple brand color |
| 7 | +pub const BRAND_PURPLE: u8 = 141; |
| 8 | +/// Light grey for primary text |
| 9 | +pub const LIGHT_GREY: u8 = 252; |
| 10 | +/// Medium-light grey for secondary text |
| 11 | +pub const MEDIUM_LIGHT_GREY: u8 = 248; |
| 12 | +/// Bright magenta for emphasis and current items |
| 13 | +pub const BRIGHT_MAGENTA: u8 = 13; |
| 14 | + |
5 | 15 | /// Colors for status messages and feedback |
6 | 16 | #[derive(Debug, Clone)] |
7 | 17 | pub struct StatusColors { |
@@ -63,23 +73,22 @@ impl Default for StatusColors { |
63 | 73 | impl Default for UiColors { |
64 | 74 | fn default() -> Self { |
65 | 75 | Self { |
66 | | - primary_brand: Color::AnsiValue(141), |
67 | | - |
68 | | - primary_text: Color::AnsiValue(252), |
69 | | - secondary_text: Color::AnsiValue(248), |
70 | | - emphasis: Color::AnsiValue(252), |
71 | | - command_highlight: Color::AnsiValue(141), |
72 | | - current_item: Color::AnsiValue(13), |
| 76 | + primary_brand: Color::AnsiValue(BRAND_PURPLE), |
| 77 | + primary_text: Color::AnsiValue(LIGHT_GREY), |
| 78 | + secondary_text: Color::AnsiValue(MEDIUM_LIGHT_GREY), |
| 79 | + emphasis: Color::AnsiValue(LIGHT_GREY), |
| 80 | + command_highlight: Color::AnsiValue(BRAND_PURPLE), |
| 81 | + current_item: Color::AnsiValue(BRIGHT_MAGENTA), |
73 | 82 | } |
74 | 83 | } |
75 | 84 | } |
76 | 85 |
|
77 | 86 | impl Default for InteractiveColors { |
78 | 87 | fn default() -> Self { |
79 | 88 | Self { |
80 | | - prompt_symbol: Color::AnsiValue(13), |
81 | | - profile_indicator: Color::AnsiValue(141), |
82 | | - tangent_indicator: Color::AnsiValue(13), |
| 89 | + prompt_symbol: Color::AnsiValue(BRIGHT_MAGENTA), |
| 90 | + profile_indicator: Color::AnsiValue(BRAND_PURPLE), |
| 91 | + tangent_indicator: Color::AnsiValue(BRIGHT_MAGENTA), |
83 | 92 | usage_low: Color::Green, |
84 | 93 | usage_medium: Color::Yellow, |
85 | 94 | usage_high: Color::Red, |
|
0 commit comments