User-friendly messaging and error handling for Go with colorized output.
go get github.com/gnames/gnimport "github.com/gnames/gn"
gn.Message("Processing data...") // no icon
gn.Info("Server started on port %d", 8080) // ℹ️
gn.Warn("Connection timeout") // ⚠️
gn.Success("All tests passed!") // ✅
gn.Progress("Downloading files...") // ⏳gn.Info("Starting <title>Production Server</title>")
gn.Message("Found <em>42</em> records")
gn.Info("Status: <warn>degraded</warn>")
gn.Info("Errors: <err>3</err>")Available tags:
<title>...</title>- green with**emphasis<em>...</em>- green<warn>...</warn>- yellow<err>...</err>- red
const (
ErrDatabase gn.ErrorCode = 1000
ErrNetwork gn.ErrorCode = 2000
)
err := &gn.Error{
Code: ErrDatabase,
Err: errors.New("connection failed"),
Msg: "Could not connect to database: %s",
Vars: []any{"postgres"},
}
gn.PrintErrorMessage(err) // ❌ Could not connect to database: postgres
// Works with standard error handling
var gnErr *gn.Error
if errors.As(err, &gnErr) {
fmt.Printf("Error code: %d\n", gnErr.Code)
}See LICENSE file.