Documentation ¶
Overview ¶
Package ysmrr provides a simple interface for creating and managing multiple spinners.
Index ¶
- func WithAnimation(a animations.Animation) managerOption
- func WithCompleteColor(c colors.Color) managerOption
- func WithErrorColor(c colors.Color) managerOption
- func WithFrameDuration(d time.Duration) managerOption
- func WithMessageColor(c colors.Color) managerOption
- func WithSpinnerColor(c colors.Color) managerOption
- func WithWriter(w io.Writer) managerOption
- type Spinner
- func (s *Spinner) Complete()
- func (s *Spinner) CompleteWithMessage(message string)
- func (s *Spinner) CompleteWithMessagef(format string, a ...interface{})
- func (s *Spinner) Error()
- func (s *Spinner) ErrorWithMessage(message string)
- func (s *Spinner) ErrorWithMessagef(format string, a ...interface{})
- func (s *Spinner) GetMessage() string
- func (s *Spinner) GetPrefix() string
- func (s *Spinner) IsComplete() bool
- func (s *Spinner) IsError() bool
- func (s *Spinner) Print(w io.Writer, char string)
- func (s *Spinner) UpdateMessage(message string)
- func (s *Spinner) UpdateMessagef(format string, a ...interface{})
- func (s *Spinner) UpdatePrefix(Prefix string)
- func (s *Spinner) UpdatePrefixf(format string, a ...interface{})
- type SpinnerManager
- type SpinnerOptions
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func WithAnimation ¶ added in v0.0.8
func WithAnimation(a animations.Animation) managerOption
WithAnimation sets the animation used for the spinners. Available spinner types can be found in the package github.com/chelnak/ysmrr/pkg/animations. The default spinner animation is the Dots.
func WithCompleteColor ¶ added in v0.0.5
WithCompleteColor sets the color of the complete icon. Available colors can be found in the package github.com/chelnak/ysmrr/pkg/colors. The default color is FgHiGreen.
func WithErrorColor ¶ added in v0.0.5
WithErrorColor sets the color of the error icon. Available colors can be found in the package github.com/chelnak/ysmrr/pkg/colors. The default color is FgHiRed.
func WithFrameDuration ¶
WithFrameDuration sets the duration of each frame. The default duration is 250 milliseconds.
func WithMessageColor ¶ added in v0.0.6
WithMessageColor sets the color of the message. Available colors can be found in the package github.com/chelnak/ysmrr/pkg/colors. The default color is NoColor.
func WithSpinnerColor ¶
WithSpinnerColor sets the color of the spinners. Available colors can be found in the package github.com/chelnak/ysmrr/pkg/colors. The default color is FgHiGreen.
func WithWriter ¶
WithWriter sets the writer used for the spinners. The writer can be anything that implements the io.Writer interface. The default writer is os.Stdout.
Types ¶
type Spinner ¶ added in v0.0.5
type Spinner struct {
// contains filtered or unexported fields
}
Spinner manages a single spinner
func NewSpinner ¶
func NewSpinner(options SpinnerOptions) *Spinner
NewSpinner creates a new spinner instance.
func (*Spinner) Complete ¶ added in v0.0.5
func (s *Spinner) Complete()
Complete marks the spinner as complete.
func (*Spinner) CompleteWithMessage ¶ added in v0.4.0
CompleteWithMessage marks the spinner as complete with a message.
func (*Spinner) CompleteWithMessagef ¶ added in v0.4.0
CompleteWithMessagef marks the spinner as complete with a formatted string.
func (*Spinner) ErrorWithMessage ¶ added in v0.4.0
ErrorWithMessage marks the spinner as error with a message.
func (*Spinner) ErrorWithMessagef ¶ added in v0.4.0
ErrorWithMessagef marks the spinner as error with a formatted string.
func (*Spinner) GetMessage ¶ added in v0.0.5
GetMessage returns the current spinner message.
func (*Spinner) IsComplete ¶ added in v0.0.5
IsComplete returns true if the spinner is complete.
func (*Spinner) UpdateMessage ¶ added in v0.0.5
UpdateMessage updates the spinner message.
func (*Spinner) UpdateMessagef ¶ added in v0.2.0
UpdateMessagef updates the spinner message with a formatted string.
func (*Spinner) UpdatePrefix ¶ added in v0.4.0
UpdatePrefix updates the spinner Prefix.
func (*Spinner) UpdatePrefixf ¶ added in v0.4.0
UpdatePrefixf updates the spinner Prefix with a formatted string.
type SpinnerManager ¶
type SpinnerManager interface { AddSpinner(msg string) *Spinner GetSpinners() []*Spinner GetWriter() io.Writer GetAnimation() []string GetFrameDuration() time.Duration GetSpinnerColor() colors.Color GetErrorColor() colors.Color GetCompleteColor() colors.Color GetMessageColor() colors.Color Start() Stop() Running() bool }
SpinnerManager manages spinners
func NewSpinnerManager ¶
func NewSpinnerManager(options ...managerOption) SpinnerManager
NewSpinnerManager is the constructor for the SpinnerManager. You can create a new manager with sensible defaults or you can pass in your own options using the provided methods.
For example, this will initialize a default manager:
sm := NewSpinnerManager()
Or this will initialize a manager with a custom animation:
sm := NewSpinnerManager( WithAnimation(animations.Arrows) )
You can pass in multiple options to the constructor:
sm := NewSpinnerManager( WithAnimation(animations.Arrows), WithFrameDuration(time.Millisecond * 100), WithSpinnerColor(colors.Red), )
Directories ¶
Path | Synopsis |
---|---|
examples
|
|
pkg
|
|
animations
Package animations provides a collection of spinner animations.
|
Package animations provides a collection of spinner animations. |
colors
Package colors provides a collection of color definitions for use with a spinner.
|
Package colors provides a collection of color definitions for use with a spinner. |
tput
Package tput provides convenience functions for sending escape sequences to the terminal.
|
Package tput provides convenience functions for sending escape sequences to the terminal. |