@@ -91,35 +91,37 @@ func runPreflights(v *viper.Viper, arg string) error {
9191 finishedCh := make (chan bool , 1 )
9292 progressCh := make (chan interface {}, 0 ) // non-zero buffer will result in missed messages
9393
94- s := spin .New ()
95- go func () {
96- lastMsg := ""
97- for {
98- select {
99- case msg , ok := <- progressCh :
100- if ! ok {
101- continue
102- }
103- switch msg := msg .(type ) {
104- case error :
105- c := color .New (color .FgHiRed )
106- c .Println (fmt .Sprintf ("%s\r * %v" , cursor .ClearEntireLine (), msg ))
107- case string :
108- if lastMsg == msg {
109- break
94+ if v .GetBool ("interactive" ) {
95+ s := spin .New ()
96+ go func () {
97+ lastMsg := ""
98+ for {
99+ select {
100+ case msg , ok := <- progressCh :
101+ if ! ok {
102+ continue
103+ }
104+ switch msg := msg .(type ) {
105+ case error :
106+ c := color .New (color .FgHiRed )
107+ c .Println (fmt .Sprintf ("%s\r * %v" , cursor .ClearEntireLine (), msg ))
108+ case string :
109+ if lastMsg == msg {
110+ break
111+ }
112+ lastMsg = msg
113+ c := color .New (color .FgCyan )
114+ c .Println (fmt .Sprintf ("%s\r * %s" , cursor .ClearEntireLine (), msg ))
110115 }
111- lastMsg = msg
112- c := color .New (color .FgCyan )
113- c .Println (fmt .Sprintf ("%s\r * %s" , cursor .ClearEntireLine (), msg ))
116+ case <- time .After (time .Millisecond * 100 ):
117+ fmt .Printf ("\r \033 [36mRunning Preflight checks\033 [m %s " , s .Next ())
118+ case <- finishedCh :
119+ fmt .Printf ("\r %s\r " , cursor .ClearEntireLine ())
120+ return
114121 }
115- case <- time .After (time .Millisecond * 100 ):
116- fmt .Printf ("\r \033 [36mRunning Preflight checks\033 [m %s " , s .Next ())
117- case <- finishedCh :
118- fmt .Printf ("\r %s\r " , cursor .ClearEntireLine ())
119- return
120122 }
121- }
122- }()
123+ }()
124+ }
123125
124126 defer func () {
125127 close (finishedCh )
0 commit comments