summaryrefslogtreecommitdiff
path: root/src/tui_theme.zig
diff options
context:
space:
mode:
authort <t@tjp.lol>2026-06-09 15:24:41 -0600
committert <t@tjp.lol>2026-06-09 19:26:07 -0600
commitf7503987e6aa4e96ade35bc7f1400ff8b2510e28 (patch)
treecf723819027a918dc1d4f4b5b23805c9617dbc91 /src/tui_theme.zig
parentaf5119901997774ef7d04b1940194ce54a5b35a4 (diff)
color theme
Diffstat (limited to 'src/tui_theme.zig')
-rw-r--r--src/tui_theme.zig23
1 files changed, 23 insertions, 0 deletions
diff --git a/src/tui_theme.zig b/src/tui_theme.zig
index 168b4f4..9e7e565 100644
--- a/src/tui_theme.zig
+++ b/src/tui_theme.zig
@@ -48,6 +48,18 @@ pub const StyleName = enum {
thinking,
/// Compaction-summary chrome.
compaction,
+ /// Full-width background for user messages (#343541 dark blue-gray).
+ user_bg,
+ /// Full-width background for a tool call that is still running (#282832).
+ tool_pending_bg,
+ /// Full-width background for a succeeded tool call (#283228 dark green).
+ tool_success_bg,
+ /// Full-width background for a failed tool call (#3c2828 dark red).
+ tool_error_bg,
+ /// Dim foreground used on top of user_bg (slightly brighter than .dim).
+ user_text,
+ /// Dim foreground used on tool headers (cyan toned down).
+ tool_header,
};
/// A resolved style: the opening escape and (implicitly) the `reset` close.
@@ -117,6 +129,17 @@ fn styleFor(name: StyleName) Style {
.thinking => .{ .open_seq = "\x1b[2m" },
// Compaction chrome: dimmed.
.compaction => .{ .open_seq = "\x1b[2m" },
+ // Full-width background fills — truecolor 24-bit (RGB), matching pi's
+ // dark theme palette. These are set-background-color only; text color
+ // is layered on top by pairing with a fg style.
+ .user_bg => .{ .open_seq = "\x1b[48;2;52;53;65m" }, // #343541
+ .tool_pending_bg => .{ .open_seq = "\x1b[48;2;40;40;50m" }, // #282832
+ .tool_success_bg => .{ .open_seq = "\x1b[48;2;40;50;40m" }, // #283228
+ .tool_error_bg => .{ .open_seq = "\x1b[48;2;60;40;40m" }, // #3c2828
+ // Foreground color for text rendered on top of user_bg.
+ .user_text => .{ .open_seq = "\x1b[38;2;212;212;212m" }, // #d4d4d4
+ // Cyan tool header, slightly muted.
+ .tool_header => .{ .open_seq = "\x1b[38;2;0;215;255m" }, // #00d7ff
};
}