Skip to main content

kaizen/ui/
theme.rs

1// SPDX-License-Identifier: AGPL-3.0-or-later
2//! Color constants for TUI.
3
4use ratatui::style::Color;
5
6pub const RUNNING: Color = Color::LightGreen;
7pub const WAITING: Color = Color::Yellow;
8pub const IDLE: Color = Color::Cyan;
9pub const DONE: Color = Color::Gray;
10
11pub const AGENT_CURSOR: Color = Color::Blue;
12pub const AGENT_CLAUDE: Color = Color::Magenta;
13pub const AGENT_CODEX: Color = Color::Red;
14pub const AGENT_OTHER: Color = Color::White;
15
16pub const BORDER_ACTIVE: Color = Color::White;
17pub const BORDER_INACTIVE: Color = Color::DarkGray;
18
19/// Color for agent name.
20pub fn agent_color(agent: &str) -> Color {
21    match agent {
22        "cursor" => AGENT_CURSOR,
23        "claude" => AGENT_CLAUDE,
24        "codex" => AGENT_CODEX,
25        "goose" => Color::LightYellow,
26        "opencode" => Color::LightCyan,
27        "copilot-cli" | "copilot-vscode" => Color::Green,
28        _ => AGENT_OTHER,
29    }
30}
31
32/// Color for status string.
33pub fn status_color(status: &str) -> Color {
34    match status {
35        "Running" => RUNNING,
36        "Waiting" => WAITING,
37        "Idle" => IDLE,
38        _ => DONE,
39    }
40}