-
Notifications
You must be signed in to change notification settings - Fork 57
/
output.go
37 lines (30 loc) · 614 Bytes
/
output.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
// output/err convenience methods
package main
import (
"fmt"
"os"
"github.com/fatih/color"
)
var (
bold = color.New(color.Bold).SprintFunc()
red = color.New(color.FgRed).SprintFunc()
cyan = color.New(color.FgCyan).SprintFunc()
)
func output(s string) {
fmt.Printf("%s %s\n", cyan("slackcat"), s)
}
func failOnError(err error, msg ...string) {
if err != nil {
if msg != nil {
err = fmt.Errorf("%s: %s", msg[0], err)
}
exitErr(err)
}
}
func appendErr(msg string, err error) error {
return fmt.Errorf("%s: %s", msg, err)
}
func exitErr(err error) {
output(red(err.Error()))
os.Exit(1)
}