File tree Expand file tree Collapse file tree 1 file changed +18
-0
lines changed
crates/chat-cli/src/cli/chat Expand file tree Collapse file tree 1 file changed +18
-0
lines changed Original file line number Diff line number Diff line change @@ -2868,6 +2868,11 @@ impl ChatContext {
28682868 } else {
28692869 self . conversation_state . add_tool_results ( tool_results) ;
28702870 }
2871+ if self . interactive {
2872+ execute ! ( self . output, cursor:: Hide ) ?;
2873+ execute ! ( self . output, style:: Print ( "\n " ) , style:: SetAttribute ( Attribute :: Reset ) ) ?;
2874+ self . spinner = Some ( Spinner :: new ( Spinners :: Dots , "Thinking..." . to_string ( ) ) ) ;
2875+ }
28712876
28722877 self . send_tool_use_telemetry ( ) . await ;
28732878 return Ok ( ChatState :: HandleResponseStream (
@@ -2888,6 +2893,19 @@ impl ChatContext {
28882893 let mut tool_uses = Vec :: new ( ) ;
28892894 let mut tool_name_being_recvd: Option < String > = None ;
28902895
2896+ if self . interactive && self . spinner . is_some ( ) {
2897+ drop ( self . spinner . take ( ) ) ;
2898+ queue ! (
2899+ self . output,
2900+ style:: SetForegroundColor ( Color :: Reset ) ,
2901+ terminal:: Clear ( terminal:: ClearType :: CurrentLine ) ,
2902+ cursor:: MoveToColumn ( 0 ) ,
2903+ cursor:: Show ,
2904+ cursor:: MoveUp ( 1 ) ,
2905+ terminal:: Clear ( terminal:: ClearType :: CurrentLine ) ,
2906+ ) ?;
2907+ }
2908+
28912909 loop {
28922910 match parser. recv ( ) . await {
28932911 Ok ( msg_event) => {
You can’t perform that action at this time.
0 commit comments