k3s/vendor/github.com/rancher/wrangler/pkg/resolvehome/main.go

25 lines
420 B
Go
Raw Normal View History

2019-01-12 04:58:27 +00:00
package resolvehome
import (
2019-05-09 22:03:45 +00:00
"github.com/pkg/errors"
2019-01-12 04:58:27 +00:00
"os"
"strings"
)
var (
homes = []string{"$HOME", "${HOME}", "~"}
)
func Resolve(s string) (string, error) {
for _, home := range homes {
if strings.Contains(s, home) {
2019-05-09 22:03:45 +00:00
homeDir, err := os.UserHomeDir()
2019-01-12 04:58:27 +00:00
if err != nil {
return "", errors.Wrap(err, "determining current user")
}
s = strings.Replace(s, home, homeDir, -1)
}
}
return s, nil
2019-05-09 22:03:45 +00:00
}