Files
fes/modules/ui/ui.go
2025-12-28 16:39:33 -05:00

65 lines
1.3 KiB
Go

package ui
import (
"errors"
"fmt"
"strings"
"fes/modules/config"
"fes/modules/version"
"github.com/fatih/color"
)
/* print out the current path (route) and relevant error */
func Path(path string, err error) {
path = strings.TrimPrefix(path, "/")
if path == "" {
path = "(null)"
}
fmt.Printf(" > %s ", path)
if err == nil {
OK("ok")
return
} else if errors.Is(err, config.ErrRouteMiss) {
WARN(config.ErrRouteMiss.Error())
} else {
ERROR("bad")
}
}
/* print general system warning */
func Warning(msg string, err error) error {
fmt.Printf("%s: %s: %v\n", version.PROGRAM_NAME, color.MagentaString("warning"), err)
return err
}
/* print general system error */
func Error(msg string, err error) error {
fmt.Printf("%s: %s: %v\n", version.PROGRAM_NAME, color.RedString("error"), err)
return err
}
/* print fatality and panic */
func Fatal(msg string, err error) error {
fmt.Printf("%s: %s: %v\n", version.PROGRAM_NAME, color.RedString("fatal"), err)
panic(err)
}
/* print message using the ok status color */
func OK(msg string) {
color.Green(msg)
}
/* print message using the warning status color */
func WARN(msg string) {
color.Magenta(msg)
}
/* print message using the error status color */
func ERROR(msg string) {
color.Red(msg)
}