claude_code_status_line/
colors.rs

1use serde::{Deserialize, Serialize};
2
3/// Color scheme for a single section (background, foreground, details)
4#[derive(Clone, Copy, Debug, Serialize, Deserialize)]
5pub struct SectionColors {
6    pub background: Option<(u8, u8, u8)>,
7    pub foreground: (u8, u8, u8),
8    pub details: (u8, u8, u8),
9}
10
11const ORANGE: (u8, u8, u8) = (217, 119, 87);
12const DARK: (u8, u8, u8) = (38, 38, 36);
13const MUTED_DARK: (u8, u8, u8) = (65, 65, 62);
14const MUTED_LIGHT: (u8, u8, u8) = (130, 129, 122);
15
16const fn dark_on_orange() -> SectionColors {
17    SectionColors {
18        background: Some(ORANGE),
19        foreground: DARK,
20        details: MUTED_DARK,
21    }
22}
23
24const fn orange_on_dark() -> SectionColors {
25    SectionColors {
26        background: Some(DARK),
27        foreground: ORANGE,
28        details: MUTED_LIGHT,
29    }
30}
31
32pub const CWD_COLORS: SectionColors = dark_on_orange();
33pub const GIT_COLORS: SectionColors = orange_on_dark();
34pub const MODEL_COLORS: SectionColors = dark_on_orange();
35pub const CONTEXT_COLORS: SectionColors = orange_on_dark();
36pub const QUOTA_5H_COLORS: SectionColors = dark_on_orange();
37pub const QUOTA_7D_COLORS: SectionColors = orange_on_dark();
38pub const COST_COLORS: SectionColors = dark_on_orange();