1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
package env
import (
"os"
"path/filepath"
"strings"
"go.wit.com/log"
)
// adds a path to the ENV
func AddPath(newpath string) bool {
path := os.Getenv("PATH")
for _, p := range strings.Split(path, ":") {
log.Info("Looking at path:", p)
if p == newpath {
log.Info("FOUND path:", p)
return false
}
}
path = path + ":" + newpath
log.Info("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
}
|