package cli import ( "fmt" "os" "path/filepath" "git.baxters.nz/jeremy/cli/getopt" ) var undef = "(undefined)" var program = undef var version = undef var progname = undef func Init(prog, ver string) { program = prog version = ver progname = filepath.Base(os.Args[0]) } func Usage(args string) { fmt.Fprintf(os.Stderr, "usage: %s %s", progname, args) os.Exit(1) } func Version() { fmt.Printf("%s version %s\n", program, version) os.Exit(0) } func Warn(format string, args ...any) { fmt.Fprintf(os.Stderr, "%s: %s\n", progname, fmt.Sprintf(format, args...)) } func Die(format string, args ...any) { Warn(format, args...) os.Exit(1) } func Fail(err error) { Die("%s", err.Error()) } func Bool(name string, value bool, usage string) *bool { return getopt.Bool(name, value, usage) } func Int(name string, value int, usage string) *int { return getopt.Int(name, value, usage) } func Uint(name string, value uint, usage string) *uint { return getopt.Uint(name, value, usage) } func String(name, value, usage string) *string { return getopt.String(name, value, usage) } func Parse() error { return getopt.Parse() }