diff options
Diffstat (limited to 'vendor/github.com/adrg/xdg/paths_darwin.go')
-rw-r--r-- | vendor/github.com/adrg/xdg/paths_darwin.go | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/vendor/github.com/adrg/xdg/paths_darwin.go b/vendor/github.com/adrg/xdg/paths_darwin.go new file mode 100644 index 000000000..bfe9ad9bc --- /dev/null +++ b/vendor/github.com/adrg/xdg/paths_darwin.go @@ -0,0 +1,60 @@ +package xdg + +import ( + "os" + "path/filepath" +) + +func homeDir() string { + if home := os.Getenv("HOME"); home != "" { + return home + } + + return "/" +} + +func initDirs(home string) { + initBaseDirs(home) + initUserDirs(home) +} + +func initBaseDirs(home string) { + homeAppSupport := filepath.Join(home, "Library", "Application Support") + rootAppSupport := "/Library/Application Support" + + // Initialize standard directories. + baseDirs.dataHome = xdgPath(envDataHome, homeAppSupport) + baseDirs.data = xdgPaths(envDataDirs, rootAppSupport) + baseDirs.configHome = xdgPath(envConfigHome, homeAppSupport) + baseDirs.config = xdgPaths(envConfigDirs, + filepath.Join(home, "Library", "Preferences"), + rootAppSupport, + "/Library/Preferences", + ) + baseDirs.stateHome = xdgPath(envStateHome, homeAppSupport) + baseDirs.cacheHome = xdgPath(envCacheHome, filepath.Join(home, "Library", "Caches")) + baseDirs.runtime = xdgPath(envRuntimeDir, homeAppSupport) + + // Initialize non-standard directories. + baseDirs.applications = []string{ + "/Applications", + } + + baseDirs.fonts = []string{ + filepath.Join(home, "Library/Fonts"), + "/Library/Fonts", + "/System/Library/Fonts", + "/Network/Library/Fonts", + } +} + +func initUserDirs(home string) { + UserDirs.Desktop = xdgPath(envDesktopDir, filepath.Join(home, "Desktop")) + UserDirs.Download = xdgPath(envDownloadDir, filepath.Join(home, "Downloads")) + UserDirs.Documents = xdgPath(envDocumentsDir, filepath.Join(home, "Documents")) + UserDirs.Music = xdgPath(envMusicDir, filepath.Join(home, "Music")) + UserDirs.Pictures = xdgPath(envPicturesDir, filepath.Join(home, "Pictures")) + UserDirs.Videos = xdgPath(envVideosDir, filepath.Join(home, "Movies")) + UserDirs.Templates = xdgPath(envTemplatesDir, filepath.Join(home, "Templates")) + UserDirs.PublicShare = xdgPath(envPublicShareDir, filepath.Join(home, "Public")) +} |