mirror of
https://github.com/kubevela/kubevela.git
synced 2026-05-09 02:47:04 +00:00
53 lines
1.3 KiB
Go
53 lines
1.3 KiB
Go
package cli
|
|
|
|
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 newTrackingSpinnerWithDelay(suffix string, interval time.Duration) *spinner.Spinner {
|
|
suffixColor := color.New(color.Bold, color.FgGreen)
|
|
return spinner.New(
|
|
spinner.CharSets[14],
|
|
interval,
|
|
spinner.WithColor("green"),
|
|
spinner.WithHiddenCursor(true),
|
|
spinner.WithSuffix(suffixColor.Sprintf(" %s", suffix)))
|
|
}
|
|
|
|
func newTrackingSpinner(suffix string) *spinner.Spinner {
|
|
return newTrackingSpinnerWithDelay(suffix, 500*time.Millisecond)
|
|
}
|
|
|
|
func applySpinnerNewSuffix(s *spinner.Spinner, suffix string) {
|
|
suffixColor := color.New(color.Bold, color.FgGreen)
|
|
s.Suffix = suffixColor.Sprintf(" %s", suffix)
|
|
}
|