// SPDX-License-Identifier: EUPL-1.2 package filepathx import ( "path" "syscall" ) // Separator mirrors filepath.Separator for Unix-style Core paths. const Separator = '/' // Abs mirrors filepath.Abs for the paths used in this repo. // Usage: Abs(...) func Abs(p string) (string, error) { if path.IsAbs(p) { return path.Clean(p), nil } cwd, err := syscall.Getwd() if err != nil { return "", err } return path.Clean(path.Join(cwd, p)), nil } // Base mirrors filepath.Base. // Usage: Base(...) func Base(p string) string { return path.Base(p) } // Clean mirrors filepath.Clean. // Usage: Clean(...) func Clean(p string) string { return path.Clean(p) } // Dir mirrors filepath.Dir. // Usage: Dir(...) func Dir(p string) string { return path.Dir(p) } // Ext mirrors filepath.Ext. // Usage: Ext(...) func Ext(p string) string { return path.Ext(p) } // Join mirrors filepath.Join. // Usage: Join(...) func Join(elem ...string) string { return path.Join(elem...) }