Public declaration syntax from harness-tui-kit/src/theme.rs Original source SHA-256: 181ec5910a301a0736791a335a91e2de89ba0795415f060add742a9db8476530 Function bodies and constant values are omitted. This is not the complete implementation. Source line 40 pub static DEFAULT_THEME: LazyLock; Source line 69 #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] pub struct Theme { // ─── Surface Colors ──────────────────────────────────── /// Base background color for the entire terminal area. pub bg_base: Color, /// Slightly elevated surface for cards and panels. pub bg_surface: Color, /// More prominently elevated surface for floating elements. pub bg_elevated: Color, /// Semi-transparent overlay backdrop for modals and dialogs. pub bg_overlay: Color, // ─── Text Colors ─────────────────────────────────────── /// Primary text color for body content and headings. pub fg_primary: Color, /// Secondary text color for labels and less important content. pub fg_secondary: Color, /// Muted text for hints, timestamps, and metadata. pub fg_muted: Color, /// Disabled text for inactive or unavailable elements. pub fg_disabled: Color, // ─── Semantic Colors ─────────────────────────────────── /// Accent color for interactive elements, links, and highlights. pub accent: Color, /// Success state indicator (confirmations, completions). pub success: Color, /// Warning state indicator (caution, degraded state). pub warning: Color, /// Error state indicator (failures, critical issues). pub error: Color, /// Informational state indicator (notices, tips). pub info: Color, // ─── Agent Status Colors ─────────────────────────────── /// Agent is online and ready to accept work. pub agent_online: Color, /// Agent is actively working on a task. pub agent_working: Color, /// Agent is processing or reasoning (thinking state). pub agent_thinking: Color, /// Agent is idle with no current task. pub agent_idle: Color, /// Agent is waiting for external input or approval. pub agent_waiting: Color, /// Agent has encountered an error condition. pub agent_error: Color, /// Agent has been terminated or shut down. pub agent_terminated: Color, /// Agent is offline and unreachable. pub agent_offline: Color, // ─── Chat Colors ─────────────────────────────────────── /// Color for user messages in chat. pub chat_user: Color, /// Color for agent/assistant messages in chat. pub chat_agent: Color, /// Color for system messages in chat. pub chat_system: Color, /// Color for tool call/result messages in chat. pub chat_tool: Color, // ─── Border Colors ───────────────────────────────────── /// Default border color for unfocused elements. pub border_default: Color, /// Border color for focused/selected elements. pub border_focus: Color, /// Border color for active/interacting elements. pub border_active: Color, // ─── Effect Parameters ───────────────────────────────── /// Whether tachyonfx effects are enabled globally. pub effects_enabled: bool, /// Color used for glow and highlight effects. pub effect_glow: Color, /// Pulse animation speed in cycles per second. pub effect_pulse_speed: f32, /// Streaming text speed in characters per second. pub effect_streaming_cps: f32, /// Fade transition duration in milliseconds. pub effect_fade_ms: u32 } Source line 164 #[must_use] pub fn dark() -> Self; Source line 227 #[must_use] pub fn light() -> Self; Source line 290 #[must_use] pub fn midnight() -> Self; Source line 359 #[must_use] pub fn claude() -> Self; Source line 423 #[must_use] pub fn monochrome() -> Self; Source line 493 #[must_use] pub fn custom(base: Self, overrides: &ThemeOverrides) -> Self; Source line 565 #[must_use] pub fn resolve_color(&self, color: Color) -> Color; Source line 590 #[must_use] pub fn role_color(&self, role: &Role) -> Color; Source line 613 #[must_use] pub fn agent_status_color(&self, status: &AgentStatus) -> Color; Source line 644 #[must_use] pub fn severity_color(&self, severity: &Severity) -> Color; Source line 679 #[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)] pub struct ThemeOverrides { // ─── Surface Colors ──────────────────────────────────── /// Override for [`Theme::bg_base`]. pub bg_base: Option, /// Override for [`Theme::bg_surface`]. pub bg_surface: Option, /// Override for [`Theme::bg_elevated`]. pub bg_elevated: Option, /// Override for [`Theme::bg_overlay`]. pub bg_overlay: Option, // ─── Text Colors ─────────────────────────────────────── /// Override for [`Theme::fg_primary`]. pub fg_primary: Option, /// Override for [`Theme::fg_secondary`]. pub fg_secondary: Option, /// Override for [`Theme::fg_muted`]. pub fg_muted: Option, /// Override for [`Theme::fg_disabled`]. pub fg_disabled: Option, // ─── Semantic Colors ─────────────────────────────────── /// Override for [`Theme::accent`]. pub accent: Option, /// Override for [`Theme::success`]. pub success: Option, /// Override for [`Theme::warning`]. pub warning: Option, /// Override for [`Theme::error`]. pub error: Option, /// Override for [`Theme::info`]. pub info: Option, // ─── Agent Status Colors ─────────────────────────────── /// Override for [`Theme::agent_online`]. pub agent_online: Option, /// Override for [`Theme::agent_working`]. pub agent_working: Option, /// Override for [`Theme::agent_thinking`]. pub agent_thinking: Option, /// Override for [`Theme::agent_idle`]. pub agent_idle: Option, /// Override for [`Theme::agent_waiting`]. pub agent_waiting: Option, /// Override for [`Theme::agent_error`]. pub agent_error: Option, /// Override for [`Theme::agent_terminated`]. pub agent_terminated: Option, /// Override for [`Theme::agent_offline`]. pub agent_offline: Option, // ─── Chat Colors ─────────────────────────────────────── /// Override for [`Theme::chat_user`]. pub chat_user: Option, /// Override for [`Theme::chat_agent`]. pub chat_agent: Option, /// Override for [`Theme::chat_system`]. pub chat_system: Option, /// Override for [`Theme::chat_tool`]. pub chat_tool: Option, // ─── Border Colors ───────────────────────────────────── /// Override for [`Theme::border_default`]. pub border_default: Option, /// Override for [`Theme::border_focus`]. pub border_focus: Option, /// Override for [`Theme::border_active`]. pub border_active: Option, // ─── Effect Parameters ───────────────────────────────── /// Override for [`Theme::effects_enabled`]. pub effects_enabled: Option, /// Override for [`Theme::effect_glow`]. pub effect_glow: Option, /// Override for [`Theme::effect_pulse_speed`]. pub effect_pulse_speed: Option, /// Override for [`Theme::effect_streaming_cps`]. pub effect_streaming_cps: Option, /// Override for [`Theme::effect_fade_ms`]. pub effect_fade_ms: Option }