$ go get github.com/josa42/go-spinner
s := spinner.New("Loading")
time.Sleep(1 * time.Second)
s.Done()
s := spinner.New("Loading")
time.Sleep(1 * time.Second)
s.Fail()
s := spinner.New("Loading...")
time.Sleep(1 * time.Second)
s.Message("Still loading...")
time.Sleep(1 * time.Second)
s.Message("Almost done")
time.Sleep(1 * time.Second)
s.Message("Done")
s.Done()
s := spinner.New("One")
time.Sleep(1 * time.Second)
s.Next("Two")
time.Sleep(1 * time.Second)
s.Next("Three")
time.Sleep(1 * time.Second)
s.Done()
Chars can be globally set for all spinners:
spinner.Chars = []string{"-", "+", "-"}
... or for a specific spinner:
s := spinner.New("One")
s.Chars([]string{"-", "+", "-"})