diff options
| -rw-r--r-- | exit.go | 11 | ||||
| -rw-r--r-- | get.go (renamed from appname.go) | 14 | ||||
| -rw-r--r-- | init.go | 11 | ||||
| -rw-r--r-- | save.go | 51 | ||||
| -rw-r--r-- | set.go (renamed from SetGlobal.go) | 20 | ||||
| -rw-r--r-- | true.go | 21 |
6 files changed, 75 insertions, 53 deletions
@@ -7,7 +7,7 @@ import "os" // argv normally sets these callbacks // argv has timing set from when os.Args was parsed -func GoodExit(reason string, err error) { +func GoodExit(reason string) { if goodExit != nil { goodExit(reason) } @@ -20,3 +20,12 @@ func BadExit(reason string, err error) { } os.Exit(-1) } + +func Exit(reason string, err error) { + if err == nil { + GoodExit(reason) + os.Exit(0) + } + BadExit(reason, err) + os.Exit(-1) +} @@ -5,6 +5,20 @@ import ( "os/user" ) +func Get(flag string) string { + saveMu.Lock() + defer saveMu.Unlock() + if envPB == nil { + return "" + } + c := findByLower(flag) + if c == nil { + return "" + } + + return c.Value +} + func GetAppname() (string, error) { if APPNAME != "" { return APPNAME, nil @@ -2,6 +2,7 @@ package env import ( "os" + "os/user" "path/filepath" "strings" ) @@ -29,9 +30,17 @@ func Init(appname, version, buildtime string, fromargv []string, goodFunc func(s SetGlobal("lib/env", "APPNAME", APPNAME) SetGlobal("lib/env", "VERSION", VERSION) SetGlobal("lib/env", "BUILDTIME", BUILDTIME) + usr, err := user.Current() + if err == nil { + SetGlobal("lib/env", "username", usr.Username) + } + homeDir, err := os.UserHomeDir() + if err == nil { + SetGlobal("lib/env", "homeDir", homeDir) + } } -// if it exists, loads ~/.config/<appname>/<appname>.env +// if it exists, loads ~/.config/<appname>/<appname>rc func loadAppENV() error { saveMu.Lock() saveMu.Unlock() @@ -2,7 +2,6 @@ package env import ( "os" - "strings" ) // saves your applications config file @@ -23,53 +22,3 @@ func saveENVnolock(filename string) error { } return os.WriteFile(filename, []byte(outENV), 0644) } - -func Get(flag string) string { - saveMu.Lock() - defer saveMu.Unlock() - if envPB == nil { - return "" - } - c := findByLower(flag) - if c == nil { - return "" - } - - return c.Value -} - -func True(flag string) bool { - saveMu.Lock() - defer saveMu.Unlock() - if envPB == nil { - return false - } - found := envPB.FindByVar(flag) - if found == nil { - return false - } - if strings.ToLower(found.Value) == "true" { - return true - } - return false -} - -func Set(varname string, newValue string) error { - saveMu.Lock() - defer saveMu.Unlock() - if envPB == nil { - return NotInitialized - } - found := envPB.FindByVar(varname) - if found != nil { - found.Value = newValue - saveENVnolock(envPB.Filename) - } - - newvar := new(Key) - newvar.Var = varname - newvar.Value = newValue - envPB.Append(newvar) - saveENVnolock(envPB.Filename) - return nil -} @@ -20,3 +20,23 @@ func SetGlobal(global string, varname string, newValue string) error { envPB.Append(newvar) return nil } + +func Set(varname string, newValue string) error { + saveMu.Lock() + defer saveMu.Unlock() + if envPB == nil { + return NotInitialized + } + found := envPB.FindByVar(varname) + if found != nil { + found.Value = newValue + saveENVnolock(envPB.Filename) + } + + newvar := new(Key) + newvar.Var = varname + newvar.Value = newValue + envPB.Append(newvar) + saveENVnolock(envPB.Filename) + return nil +} @@ -0,0 +1,21 @@ +package env + +import ( + "strings" +) + +func True(flag string) bool { + saveMu.Lock() + defer saveMu.Unlock() + if envPB == nil { + return false + } + found := envPB.FindByVar(flag) + if found == nil { + return false + } + if strings.ToLower(found.Value) == "true" { + return true + } + return false +} |
