Files
kubevela/pkg/commands/print.go
roy wang 58bef9791f fix cmd uitable wrap issue
Signed-off-by: roy wang <seiwy2010@gmail.com>
2020-12-09 19:48:17 +09:00

49 lines
1.2 KiB
Go

package commands
import (
"time"
"github.com/briandowns/spinner"
"github.com/fatih/color"
"github.com/gosuri/uitable"
"github.com/kyokomi/emoji"
)
// colors used in vela cmd for printing
var (
red = color.New(color.FgRed)
green = color.New(color.FgGreen)
yellow = color.New(color.FgYellow)
white = color.New(color.Bold, color.FgWhite)
)
// emoji used in vela cmd for printing
var (
emojiSucceed = emoji.Sprint(":check_mark_button:")
emojiFail = emoji.Sprint(":cross_mark:")
emojiLightBulb = emoji.Sprint(":light_bulb:")
)
// newUITable creates a new table with fixed MaxColWidth
func newUITable() *uitable.Table {
t := uitable.New()
t.MaxColWidth = 60
t.Wrap = true
return t
}
func newTrackingSpinner(suffix string) *spinner.Spinner {
suffixColor := color.New(color.Bold, color.FgGreen)
return spinner.New(
spinner.CharSets[14],
100*time.Millisecond,
spinner.WithColor("green"),
spinner.WithHiddenCursor(true),
spinner.WithSuffix(suffixColor.Sprintf(" %s", suffix)))
}
func applySpinnerNewSuffix(s *spinner.Spinner, suffix string) {
suffixColor := color.New(color.Bold, color.FgGreen)
s.Suffix = suffixColor.Sprintf(" %s", suffix)
}