-
Notifications
You must be signed in to change notification settings - Fork 0
/
common.go
124 lines (114 loc) · 3.06 KB
/
common.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
package ui
import (
"fmt"
"os"
"time"
"github.com/charmbracelet/bubbles/spinner"
"github.com/charmbracelet/lipgloss"
)
var (
pendingSpinner = spinner.Spinner{
Frames: []string{
"▰▱▱▱▱",
"▱▰▱▱▱",
"▱▱▰▱▱",
"▱▱▱▰▱",
"▱▱▱▱▰",
"▱▱▱▰▱",
"▱▱▰▱▱",
"▱▰▱▱▱",
"▰▱▱▱▱",
},
FPS: time.Second / 6,
}
runningSpinner = spinner.Spinner{
Frames: []string{
"▱▱▱▱▱",
"▰▱▱▱▱",
"▰▰▱▱▱",
"▰▰▰▱▱",
"▰▰▰▰▰",
"▱▰▰▰▰",
"▱▱▰▰▰",
"▱▱▱▰▰",
"▱▱▱▱▰",
"▱▱▱▱▱",
},
FPS: time.Second / 8,
}
shutdownTabSpinner = spinner.Spinner{
Frames: []string{
"⣿⣿",
"⣾⣷",
"⣶⣶",
"⣴⣦",
"⣤⣤",
"⣠⣄",
"⣀⣀",
"⣄⣠",
"⣤⣤",
"⣦⣴",
"⣶⣶",
"⣷⣾",
},
FPS: time.Second / 10,
}
pendingTabSpinner = spinner.Spinner{
Frames: []string{
"⡇ ",
"⢸ ",
"⢸⡇",
" ⣿",
" ⢸",
" ⣹",
" ⣉",
"⣉ ",
"⣏ ",
"⡇ ",
},
FPS: time.Second / 10,
}
runningTabSpinner = spinner.Spinner{
Frames: []string{
"⡇ ",
"⡇ ",
"⣏ ",
"⣉ ",
" ⣉",
" ⣹",
" ⢸",
" ⢸",
" ⣹",
" ⣉",
"⣉ ",
"⣏ ",
},
FPS: time.Second / 10,
}
pendingStyle = lipgloss.NewStyle().Foreground(lipgloss.Color("246"))
runningStyle = lipgloss.NewStyle().Foreground(lipgloss.Color("75"))
successStyle = lipgloss.NewStyle().Foreground(lipgloss.Color("46"))
errorStyle = lipgloss.NewStyle().Foreground(lipgloss.Color("124"))
canceledStyle = lipgloss.NewStyle().Foreground(lipgloss.Color("246"))
stepStyle = lipgloss.NewStyle().Foreground(lipgloss.Color("93")).Bold(true)
graphHeaderStyle = lipgloss.NewStyle().Foreground(lipgloss.Color("93")).Bold(true)
graphMainStyle = lipgloss.NewStyle().Foreground(lipgloss.Color("93"))
graphPreStyle = lipgloss.NewStyle().Foreground(lipgloss.Color("117")).Italic(true)
graphPostStyle = lipgloss.NewStyle().Foreground(lipgloss.Color("130")).Italic(true)
graphInfoStyle = lipgloss.NewStyle().Foreground(lipgloss.Color("249")).Faint(true)
interactiveKeyStyle = lipgloss.NewStyle().Background(lipgloss.Color("239")).Foreground(lipgloss.Color("152")).Padding(0, 1).Bold(true)
interactiveTabStyle = pendingStyle.Copy()
interactiveActiveTabStyle = runningStyle.Copy()
interactiveFullScreenTabStyle = runningStyle.Copy().Background(lipgloss.Color("237"))
interactiveHelpStyle = graphInfoStyle.Copy()
interactiveTaskStyle = stepStyle.Copy()
)
func HandleError(err error) {
fmt.Println(errorStyle.Render("zwooc encountered an error"))
fmt.Println(err)
fmt.Println(runningStyle.Render("exiting zwooc"))
os.Exit(1)
}
func PrintSuccess(msg string) {
fmt.Printf(" %s %s\n", successStyle.Render("✓"), msg)
}