package utils import ( "fmt" "os" "path/filepath" "strings" "git.site.quack-lab.dev/dave/cylogger" ) func CleanPath(path string) string { log := cylogger.Default.WithPrefix(fmt.Sprintf("CleanPath: %q", path)) log.Trace("Start") path = filepath.Clean(path) path = strings.ReplaceAll(path, "\\", "/") log.Trace("Done: %q", path) return path } func ToAbs(path string) string { log := cylogger.Default.WithPrefix(fmt.Sprintf("ToAbs: %q", path)) log.Trace("Start") if filepath.IsAbs(path) { log.Trace("Path is already absolute: %q", path) return CleanPath(path) } cwd, err := os.Getwd() if err != nil { log.Error("Error getting cwd: %v", err) return CleanPath(path) } log.Trace("Cwd: %q", cwd) return CleanPath(filepath.Join(cwd, path)) }