squadron/internal/pterm/standardmultiprinter.go
2025-04-02 22:31:47 +02:00

32 lines
634 B
Go

package pterm
import (
"os"
"github.com/pterm/pterm"
)
type StandardMultiPrinter struct {
printer *pterm.MultiPrinter
}
func NewStandardMultiPrinter() (*StandardMultiPrinter, error) {
printer, err := pterm.DefaultMultiPrinter.WithWriter(os.Stdout).Start()
if err != nil {
return nil, err
}
return &StandardMultiPrinter{printer: printer}, nil
}
func (s *StandardMultiPrinter) NewSpinner(prefix string) Spinner {
return NewStandardSpinner(s.printer.NewWriter(), prefix)
}
func (s *StandardMultiPrinter) Stop() {
if s.printer.IsActive {
if _, err := s.printer.Stop(); err != nil {
pterm.Fatal.Println(err)
}
}
}