(label string)
| 234 | } |
| 235 | |
| 236 | func (s *IOStreams) StartProgressIndicatorWithLabel(label string) { |
| 237 | if !s.progressIndicatorEnabled { |
| 238 | return |
| 239 | } |
| 240 | |
| 241 | s.progressIndicatorMu.Lock() |
| 242 | defer s.progressIndicatorMu.Unlock() |
| 243 | |
| 244 | if s.progressIndicator != nil { |
| 245 | if label == "" { |
| 246 | s.progressIndicator.Prefix = "" |
| 247 | } else { |
| 248 | s.progressIndicator.Prefix = label + " " |
| 249 | } |
| 250 | return |
| 251 | } |
| 252 | |
| 253 | // https://github.com/briandowns/spinner#available-character-sets |
| 254 | dotStyle := spinner.CharSets[11] |
| 255 | sp := spinner.New( |
| 256 | dotStyle, |
| 257 | 120*time.Millisecond, |
| 258 | spinner.WithWriter(s.ErrOut), |
| 259 | spinner.WithColor("fgCyan"), |
| 260 | ) |
| 261 | if label != "" { |
| 262 | sp.Prefix = label + " " |
| 263 | } |
| 264 | |
| 265 | sp.Start() |
| 266 | s.progressIndicator = sp |
| 267 | } |
| 268 | |
| 269 | func (s *IOStreams) StopProgressIndicator() { |
| 270 | s.progressIndicatorMu.Lock() |
no outgoing calls
no test coverage detected