@@ -757,14 +757,27 @@ impl TasksUi {
757
757
}
758
758
759
759
pub async fn run ( & mut self ) -> Result < ( TasksStatus , Outputs ) , Error > {
760
+ let tasks_clone = Arc :: clone ( & self . tasks ) ;
761
+ let handle = tokio:: spawn ( async move { tasks_clone. run ( ) . await } ) ;
762
+
763
+ // If in quiet mode, just wait for tasks to complete and return
764
+ if self . quiet {
765
+ loop {
766
+ let tasks_status = self . get_tasks_status ( ) . await ;
767
+ if tasks_status. pending == 0 && tasks_status. running == 0 {
768
+ break ;
769
+ }
770
+ }
771
+ let tasks_status = self . get_tasks_status ( ) . await ;
772
+ return Ok ( ( tasks_status, handle. await . unwrap ( ) ) ) ;
773
+ }
774
+
760
775
let names = console:: style ( self . tasks . root_names . join ( ", " ) ) . bold ( ) ;
761
776
let is_tty = self . term . is_term ( ) ;
762
777
self . console_write_line ( & format ! ( "{:17} {}\n " , "Running tasks" , names) ) ?;
763
778
764
779
// start processing tasks
765
780
let started = std:: time:: Instant :: now ( ) ;
766
- let tasks_clone = Arc :: clone ( & self . tasks ) ;
767
- let handle = tokio:: spawn ( async move { tasks_clone. run ( ) . await } ) ;
768
781
769
782
// start TUI if we're connected to a TTY, otherwise use non-interactive output
770
783
let mut last_list_height: u16 = 0 ;
@@ -986,11 +999,8 @@ impl TasksUi {
986
999
Ok ( ( tasks_status, handle. await . unwrap ( ) ) )
987
1000
}
988
1001
989
- /// Outputs a message to the terminal, respecting the quiet flag
990
1002
fn console_write_line ( & self , message : & str ) -> std:: io:: Result < ( ) > {
991
- if !self . quiet {
992
- self . term . write_line ( message) ?;
993
- }
1003
+ self . term . write_line ( message) ?;
994
1004
Ok ( ( ) )
995
1005
}
996
1006
}
0 commit comments