package env import ( "fmt" "os" "path/filepath" "strings" ) // adds a path to the ENV func AddPath(newpath string) bool { path := os.Getenv("PATH") for _, p := range strings.Split(path, ":") { fmt.Println("Looking at path:", p) if p == newpath { fmt.Println("FOUND path:", p) return false } } path = path + ":" + newpath fmt.Println("ADDING PATH:", path) os.Setenv("PATH", path) return true } // for "/home/turing/bletchley" returns "~/bletchley" func RelPath(p string) string { p = strings.TrimSpace(p) p = strings.Trim(p, "\"'") homedir := Get("homeDir") if strings.HasPrefix(p, homedir) { p = strings.TrimPrefix(p, homedir) p = filepath.Join("~", p) } return p } // for "~/bletchley" returns "/home/turing/bletchley" func FullPath(p string) string { p = strings.TrimSpace(p) p = strings.Trim(p, "\"'") homedir := Get("homeDir") if strings.HasPrefix(p, "~") { p = strings.TrimPrefix(p, "~") p = filepath.Join(homedir, p) } return p }