File tree Expand file tree Collapse file tree
crates/chat-cli/src/cli/chat Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -3050,6 +3050,11 @@ impl ChatContext {
30503050 } else {
30513051 self . conversation_state . add_tool_results ( tool_results) ;
30523052 }
3053+ if self . interactive {
3054+ execute ! ( self . output, cursor:: Hide ) ?;
3055+ execute ! ( self . output, style:: Print ( "\n " ) , style:: SetAttribute ( Attribute :: Reset ) ) ?;
3056+ self . spinner = Some ( Spinner :: new ( Spinners :: Dots , "Thinking..." . to_string ( ) ) ) ;
3057+ }
30533058
30543059 self . send_tool_use_telemetry ( telemetry) . await ;
30553060 return Ok ( ChatState :: HandleResponseStream (
@@ -3075,6 +3080,19 @@ impl ChatContext {
30753080 let mut tool_uses = Vec :: new ( ) ;
30763081 let mut tool_name_being_recvd: Option < String > = None ;
30773082
3083+ if self . interactive && self . spinner . is_some ( ) {
3084+ drop ( self . spinner . take ( ) ) ;
3085+ queue ! (
3086+ self . output,
3087+ style:: SetForegroundColor ( Color :: Reset ) ,
3088+ terminal:: Clear ( terminal:: ClearType :: CurrentLine ) ,
3089+ cursor:: MoveToColumn ( 0 ) ,
3090+ cursor:: Show ,
3091+ cursor:: MoveUp ( 1 ) ,
3092+ terminal:: Clear ( terminal:: ClearType :: CurrentLine ) ,
3093+ ) ?;
3094+ }
3095+
30783096 loop {
30793097 match parser. recv ( ) . await {
30803098 Ok ( msg_event) => {
You can’t perform that action at this time.
0 commit comments