@@ -276,11 +276,17 @@ impl ChatWidget {
276276 }
277277
278278 fn completed_dot_prefix ( ) -> Line < ' static > {
279- Line :: from ( "• " . cyan ( ) )
279+ Line :: from ( vec ! [
280+ Span :: styled( "▌" , Style :: default ( ) . fg( Color :: Rgb ( 120 , 220 , 160 ) ) ) ,
281+ " " . into( ) ,
282+ ] )
280283 }
281284
282285 fn pending_dot_prefix ( ) -> Line < ' static > {
283- Line :: from ( "• " . cyan ( ) )
286+ Line :: from ( vec ! [
287+ Span :: styled( "▌" , Style :: default ( ) . fg( Color :: Rgb ( 110 , 200 , 255 ) ) ) ,
288+ " " . into( ) ,
289+ ] )
284290 }
285291
286292 fn truncate_display_text ( value : & str , max_chars : usize ) -> String {
@@ -304,17 +310,14 @@ impl ChatWidget {
304310 }
305311
306312 fn tool_text_style ( ) -> Style {
307- Style :: default ( ) . fg ( Color :: Rgb ( 176 , 176 , 176 ) )
313+ Style :: default ( ) . fg ( Color :: Rgb ( 160 , 163 , 168 ) )
308314 }
309315
310- fn running_tool_prefix_style ( ) -> Style {
311- Style :: default ( )
312- . fg ( Color :: Rgb ( 110 , 200 , 255 ) )
313- . bold ( )
314- . italic ( )
316+ fn tool_status_running_style ( ) -> Style {
317+ Style :: default ( ) . fg ( Color :: Rgb ( 106 , 200 , 255 ) ) . bold ( )
315318 }
316319
317- fn ran_tool_prefix_style ( ) -> Style {
320+ fn tool_status_done_style ( ) -> Style {
318321 Style :: default ( ) . fg ( Color :: Rgb ( 120 , 220 , 160 ) ) . bold ( )
319322 }
320323
@@ -324,7 +327,7 @@ impl ChatWidget {
324327 . or_else ( || title. strip_prefix ( "Ran " ) )
325328 . unwrap_or ( title) ;
326329 Line :: from ( vec ! [
327- Span :: styled( "Running " , Self :: running_tool_prefix_style ( ) ) ,
330+ Span :: styled( "Running " , Self :: tool_status_running_style ( ) ) ,
328331 Span :: styled( normalized. to_string( ) , Self :: tool_text_style( ) ) ,
329332 ] )
330333 }
@@ -335,17 +338,23 @@ impl ChatWidget {
335338 . or_else ( || title. strip_prefix ( "Ran " ) )
336339 . unwrap_or ( title) ;
337340 Line :: from ( vec ! [
338- Span :: styled( "Ran " , Self :: ran_tool_prefix_style ( ) ) ,
341+ Span :: styled( "Ran " , Self :: tool_status_done_style ( ) ) ,
339342 Span :: styled( normalized. to_string( ) , Self :: tool_text_style( ) ) ,
340343 ] )
341344 }
342345
343346 fn tool_dot_prefix ( ) -> Line < ' static > {
344- Line :: from ( "• " . green ( ) )
347+ Line :: from ( vec ! [
348+ Span :: styled( "▌" , Style :: default ( ) . fg( Color :: Rgb ( 120 , 220 , 160 ) ) ) ,
349+ " " . into( ) ,
350+ ] )
345351 }
346352
347353 fn failed_dot_prefix ( ) -> Line < ' static > {
348- Line :: from ( "• " ) . red ( )
354+ Line :: from ( vec ! [
355+ Span :: styled( "▌" , Style :: default ( ) . fg( Color :: Rgb ( 255 , 110 , 110 ) ) ) ,
356+ " " . into( ) ,
357+ ] )
349358 }
350359
351360 fn dot_prefix ( status : DotStatus ) -> Line < ' static > {
@@ -778,17 +787,10 @@ impl ChatWidget {
778787 WorkerEvent :: ToolCall {
779788 tool_use_id,
780789 summary,
781- detail,
782790 } => {
783791 // Do not commit active streams here — pending tool calls share the
784792 // active viewport alongside reasoning/assistant text.
785- // If summary already has a key detail (e.g. "read: src/main.rs"),
786- // skip the redundant JSON preview.
787- let title = if summary. contains ( ": " ) {
788- summary
789- } else {
790- detail. unwrap_or_else ( || summary. clone ( ) )
791- } ;
793+ let title = summary;
792794 let tool_call = ActiveToolCall {
793795 tool_use_id : tool_use_id. clone ( ) ,
794796 title : title. clone ( ) ,
0 commit comments