mirror of https://github.com/mindoc-org/mindoc.git
26 lines
393 B
Go
26 lines
393 B
Go
|
package utils
|
||
|
|
||
|
import (
|
||
|
"strings"
|
||
|
"os"
|
||
|
"fmt"
|
||
|
"path/filepath"
|
||
|
)
|
||
|
|
||
|
func AbsolutePath(p string) (string,error) {
|
||
|
|
||
|
if strings.HasPrefix(p, "~") {
|
||
|
home := os.Getenv("HOME")
|
||
|
if home == "" {
|
||
|
panic(fmt.Sprintf("can not found HOME in envs, '%s' AbsPh Failed!", p))
|
||
|
}
|
||
|
p = fmt.Sprint(home, string(p[1:]))
|
||
|
}
|
||
|
s, err := filepath.Abs(p)
|
||
|
|
||
|
if nil != err {
|
||
|
return "",err
|
||
|
}
|
||
|
return s,nil
|
||
|
}
|