github.com/section/sectionctl@v1.12.3/commands/helpers.go (about) 1 package commands 2 3 import ( 4 "fmt" 5 "time" 6 7 "github.com/briandowns/spinner" 8 "github.com/rs/zerolog/log" 9 ) 10 11 /* 12 // NewSpinner returns a nicely formatted spinner for display while users are waiting. 13 func NewSpinner() *spinner.Spinner { 14 return spinner.New(spinner.CharSets[14], 100*time.Millisecond, spinner.WithWriter(os.Stderr)) 15 } 16 */ 17 18 // NewSpinner returns a nicely formatted spinner for display while users are waiting. 19 func NewSpinner(txt string, logWriters *LogWriters) (s *spinner.Spinner) { 20 log.Debug().Msg(txt) 21 s = spinner.New(spinner.CharSets[14], 50*time.Millisecond, spinner.WithWriter(logWriters.ConsoleOnly)) 22 err := s.Color("cyan") 23 if err != nil { 24 // have an internal fit about it 25 log.Debug().Msg("couldn't set the color on the spinner 🥺") 26 } 27 s.Prefix = fmt.Sprintf("%s... ", txt) 28 s.FinalMSG = fmt.Sprintf("%s... ✔️\n", txt) 29 return s 30 }