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  }