Files
sys/fs.go
2026-04-27 17:55:06 -04:00

41 lines
527 B
Go

package sys
import (
"log"
"os"
"path/filepath"
)
func Rootify(path string) string {
root, err := GetProjectRoot()
if err != nil {
log.Fatal(err)
}
return filepath.Join(root, path)
}
func GetProjectRoot(dir... bool) (string, error) {
exeDir, err := os.Executable()
if err != nil {
return "", err
}
exeDir = filepath.Dir(exeDir)
for i, dir := range dir {
if dir {
exeDir = filepath.Dir(exeDir)
}
// up to 3
if i > 3 {
break
}
}
return exeDir, nil
}