24 lines
449 B
Go
24 lines
449 B
Go
package util
|
|
|
|
import (
|
|
"path/filepath"
|
|
"os/user"
|
|
"strings"
|
|
)
|
|
|
|
func ResolveTilde(path string) string {
|
|
usr, _ := user.Current()
|
|
dir := usr.HomeDir
|
|
|
|
if path == "~" {
|
|
// In case of "~", which won't be caught by the "else if"
|
|
path = dir
|
|
} else if strings.HasPrefix(path, "~/") {
|
|
// Use strings.HasPrefix so we don't match paths like
|
|
// "/something/~/something/"
|
|
path = filepath.Join(dir, path[2:])
|
|
}
|
|
|
|
return path
|
|
}
|