mirror of
https://github.com/rocky-linux/peridot.git
synced 2024-10-19 07:55:07 +00:00
22 lines
511 B
Go
22 lines
511 B
Go
|
package decor
|
||
|
|
||
|
var defaultSpinnerStyle = []string{"⠋", "⠙", "⠹", "⠸", "⠼", "⠴", "⠦", "⠧", "⠇", "⠏"}
|
||
|
|
||
|
// Spinner returns spinner decorator.
|
||
|
//
|
||
|
// `frames` spinner frames, if nil or len==0, default is used
|
||
|
//
|
||
|
// `wcc` optional WC config
|
||
|
func Spinner(frames []string, wcc ...WC) Decorator {
|
||
|
if len(frames) == 0 {
|
||
|
frames = defaultSpinnerStyle
|
||
|
}
|
||
|
var count uint
|
||
|
f := func(s Statistics) string {
|
||
|
frame := frames[count%uint(len(frames))]
|
||
|
count++
|
||
|
return frame
|
||
|
}
|
||
|
return Any(f, wcc...)
|
||
|
}
|