feat(theme): add tool_output color to themes
- Added a `tool_output` color to the `Theme` struct. - Updated all built-in themes to include the new color. - Modified the TUI to use the `tool_output` color for rendering tool output.
This commit is contained in:
@@ -44,6 +44,11 @@ pub struct Theme {
|
||||
#[serde(serialize_with = "serialize_color")]
|
||||
pub assistant_message_role: Color,
|
||||
|
||||
/// Color for tool output messages
|
||||
#[serde(deserialize_with = "deserialize_color")]
|
||||
#[serde(serialize_with = "serialize_color")]
|
||||
pub tool_output: Color,
|
||||
|
||||
/// Color for thinking panel title
|
||||
#[serde(deserialize_with = "deserialize_color")]
|
||||
#[serde(serialize_with = "serialize_color")]
|
||||
@@ -268,6 +273,7 @@ fn default_dark() -> Theme {
|
||||
unfocused_panel_border: Color::Rgb(95, 20, 135),
|
||||
user_message_role: Color::LightBlue,
|
||||
assistant_message_role: Color::Yellow,
|
||||
tool_output: Color::Gray,
|
||||
thinking_panel_title: Color::LightMagenta,
|
||||
command_bar_background: Color::Black,
|
||||
status_background: Color::Black,
|
||||
@@ -297,6 +303,7 @@ fn default_light() -> Theme {
|
||||
unfocused_panel_border: Color::Rgb(221, 221, 221),
|
||||
user_message_role: Color::Rgb(0, 85, 164),
|
||||
assistant_message_role: Color::Rgb(142, 68, 173),
|
||||
tool_output: Color::Gray,
|
||||
thinking_panel_title: Color::Rgb(142, 68, 173),
|
||||
command_bar_background: Color::White,
|
||||
status_background: Color::White,
|
||||
@@ -326,8 +333,9 @@ fn gruvbox() -> Theme {
|
||||
unfocused_panel_border: Color::Rgb(124, 111, 100), // #7c6f64
|
||||
user_message_role: Color::Rgb(184, 187, 38), // #b8bb26 (green)
|
||||
assistant_message_role: Color::Rgb(131, 165, 152), // #83a598 (blue)
|
||||
thinking_panel_title: Color::Rgb(211, 134, 155), // #d3869b (purple)
|
||||
command_bar_background: Color::Rgb(60, 56, 54), // #3c3836
|
||||
tool_output: Color::Rgb(146, 131, 116),
|
||||
thinking_panel_title: Color::Rgb(211, 134, 155), // #d3869b (purple)
|
||||
command_bar_background: Color::Rgb(60, 56, 54), // #3c3836
|
||||
status_background: Color::Rgb(60, 56, 54),
|
||||
mode_normal: Color::Rgb(131, 165, 152), // blue
|
||||
mode_editing: Color::Rgb(184, 187, 38), // green
|
||||
@@ -355,7 +363,8 @@ fn dracula() -> Theme {
|
||||
unfocused_panel_border: Color::Rgb(68, 71, 90), // #44475a
|
||||
user_message_role: Color::Rgb(139, 233, 253), // #8be9fd (cyan)
|
||||
assistant_message_role: Color::Rgb(255, 121, 198), // #ff79c6 (pink)
|
||||
thinking_panel_title: Color::Rgb(189, 147, 249), // #bd93f9 (purple)
|
||||
tool_output: Color::Rgb(98, 114, 164),
|
||||
thinking_panel_title: Color::Rgb(189, 147, 249), // #bd93f9 (purple)
|
||||
command_bar_background: Color::Rgb(68, 71, 90),
|
||||
status_background: Color::Rgb(68, 71, 90),
|
||||
mode_normal: Color::Rgb(139, 233, 253),
|
||||
@@ -384,6 +393,7 @@ fn solarized() -> Theme {
|
||||
unfocused_panel_border: Color::Rgb(7, 54, 66), // #073642 (base02)
|
||||
user_message_role: Color::Rgb(42, 161, 152), // #2aa198 (cyan)
|
||||
assistant_message_role: Color::Rgb(203, 75, 22), // #cb4b16 (orange)
|
||||
tool_output: Color::Rgb(101, 123, 131),
|
||||
thinking_panel_title: Color::Rgb(108, 113, 196), // #6c71c4 (violet)
|
||||
command_bar_background: Color::Rgb(7, 54, 66),
|
||||
status_background: Color::Rgb(7, 54, 66),
|
||||
@@ -413,6 +423,7 @@ fn midnight_ocean() -> Theme {
|
||||
unfocused_panel_border: Color::Rgb(48, 54, 61),
|
||||
user_message_role: Color::Rgb(121, 192, 255),
|
||||
assistant_message_role: Color::Rgb(137, 221, 255),
|
||||
tool_output: Color::Rgb(84, 110, 122),
|
||||
thinking_panel_title: Color::Rgb(158, 206, 106),
|
||||
command_bar_background: Color::Rgb(22, 27, 34),
|
||||
status_background: Color::Rgb(22, 27, 34),
|
||||
@@ -442,7 +453,8 @@ fn rose_pine() -> Theme {
|
||||
unfocused_panel_border: Color::Rgb(38, 35, 58), // #26233a
|
||||
user_message_role: Color::Rgb(49, 116, 143), // #31748f (foam)
|
||||
assistant_message_role: Color::Rgb(156, 207, 216), // #9ccfd8 (foam light)
|
||||
thinking_panel_title: Color::Rgb(196, 167, 231), // #c4a7e7 (iris)
|
||||
tool_output: Color::Rgb(110, 106, 134),
|
||||
thinking_panel_title: Color::Rgb(196, 167, 231), // #c4a7e7 (iris)
|
||||
command_bar_background: Color::Rgb(38, 35, 58),
|
||||
status_background: Color::Rgb(38, 35, 58),
|
||||
mode_normal: Color::Rgb(156, 207, 216),
|
||||
@@ -471,7 +483,8 @@ fn monokai() -> Theme {
|
||||
unfocused_panel_border: Color::Rgb(117, 113, 94), // #75715e
|
||||
user_message_role: Color::Rgb(102, 217, 239), // #66d9ef (cyan)
|
||||
assistant_message_role: Color::Rgb(174, 129, 255), // #ae81ff (purple)
|
||||
thinking_panel_title: Color::Rgb(230, 219, 116), // #e6db74 (yellow)
|
||||
tool_output: Color::Rgb(117, 113, 94),
|
||||
thinking_panel_title: Color::Rgb(230, 219, 116), // #e6db74 (yellow)
|
||||
command_bar_background: Color::Rgb(39, 40, 34),
|
||||
status_background: Color::Rgb(39, 40, 34),
|
||||
mode_normal: Color::Rgb(102, 217, 239),
|
||||
@@ -500,7 +513,8 @@ fn material_dark() -> Theme {
|
||||
unfocused_panel_border: Color::Rgb(84, 110, 122), // #546e7a
|
||||
user_message_role: Color::Rgb(130, 170, 255), // #82aaff (blue)
|
||||
assistant_message_role: Color::Rgb(199, 146, 234), // #c792ea (purple)
|
||||
thinking_panel_title: Color::Rgb(255, 203, 107), // #ffcb6b (yellow)
|
||||
tool_output: Color::Rgb(84, 110, 122),
|
||||
thinking_panel_title: Color::Rgb(255, 203, 107), // #ffcb6b (yellow)
|
||||
command_bar_background: Color::Rgb(33, 43, 48),
|
||||
status_background: Color::Rgb(33, 43, 48),
|
||||
mode_normal: Color::Rgb(130, 170, 255),
|
||||
@@ -529,6 +543,7 @@ fn material_light() -> Theme {
|
||||
unfocused_panel_border: Color::Rgb(176, 190, 197),
|
||||
user_message_role: Color::Rgb(68, 138, 255),
|
||||
assistant_message_role: Color::Rgb(124, 77, 255),
|
||||
tool_output: Color::Rgb(144, 164, 174),
|
||||
thinking_panel_title: Color::Rgb(245, 124, 0),
|
||||
command_bar_background: Color::Rgb(255, 255, 255),
|
||||
status_background: Color::Rgb(255, 255, 255),
|
||||
|
||||
Reference in New Issue
Block a user