diff options
| author | Jeff Carr <[email protected]> | 2025-10-21 09:21:42 -0500 |
|---|---|---|
| committer | Jeff Carr <[email protected]> | 2025-10-21 09:21:42 -0500 |
| commit | 64b29a3807917b6203b85d8f7f99ff622b947784 (patch) | |
| tree | e91ed93b48b55697f4aadc51ab9cc87508195216 | |
| parent | 303064638637e8ab89313ace25b73fc02cb46408 (diff) | |
callbacks to argv Exit()
| -rw-r--r-- | exit.go | 22 | ||||
| -rw-r--r-- | init.go | 7 | ||||
| -rw-r--r-- | structs.go | 3 |
3 files changed, 31 insertions, 1 deletions
@@ -0,0 +1,22 @@ +package ENV + +import "os" + +// this is an experiment at this point to +// see how this turns out + +// argv normally sets these callbacks +// argv has timing set from when os.Args was parsed +func GoodExit(reason string, err error) { + if goodExit != nil { + goodExit(reason) + } + os.Exit(0) +} + +func BadExit(reason string, err error) { + if badExit != nil { + badExit(reason, err) + } + os.Exit(-1) +} @@ -3,16 +3,21 @@ package ENV // this is an experiment at this point to // see how this turns out -func Init(appname, version, buildtime string, fromargv []string) error { +func Init(appname, version, buildtime string, fromargv []string, goodFunc func(string), badFunc func(string, error)) error { APPNAME = appname VERSION = version BUILDTIME = buildtime argv = fromargv + goodExit = goodFunc + badExit = badFunc err := loadENV() if err == nil { envPB.Init = true } + SetGlobal("lib/ENV", "APPNAME", APPNAME) + SetGlobal("lib/ENV", "VERSION", VERSION) + SetGlobal("lib/ENV", "BUILDTIME", BUILDTIME) return err } @@ -15,6 +15,9 @@ var APPNAME string var BUILDTIME string var VERSION string +var goodExit func(string) +var badExit func(string, error) + var argv []string var NotInitialized error = errors.New("your application config not initialized") |
