| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- package xdg
- import (
- "path/filepath"
- "github.com/adrg/xdg/internal/pathutil"
- "github.com/adrg/xdg/internal/userdirs"
- )
- 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 = pathutil.EnvPath(envDataHome, homeAppSupport)
- baseDirs.data = pathutil.EnvPathList(envDataDirs,
- rootAppSupport,
- filepath.Join(home, ".local", "share"),
- )
- baseDirs.configHome = pathutil.EnvPath(envConfigHome, homeAppSupport)
- baseDirs.config = pathutil.EnvPathList(envConfigDirs,
- filepath.Join(home, "Library", "Preferences"),
- rootAppSupport,
- "/Library/Preferences",
- filepath.Join(home, ".config"),
- )
- baseDirs.stateHome = pathutil.EnvPath(envStateHome, homeAppSupport)
- baseDirs.cacheHome = pathutil.EnvPath(envCacheHome, filepath.Join(home, "Library", "Caches"))
- baseDirs.runtime = pathutil.EnvPath(envRuntimeDir, homeAppSupport)
- // Initialize non-standard directories.
- baseDirs.binHome = pathutil.EnvPath(envBinHome, filepath.Join(home, ".local", "bin"))
- 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 = pathutil.EnvPath(userdirs.EnvDesktopDir, filepath.Join(home, "Desktop"))
- UserDirs.Download = pathutil.EnvPath(userdirs.EnvDownloadDir, filepath.Join(home, "Downloads"))
- UserDirs.Documents = pathutil.EnvPath(userdirs.EnvDocumentsDir, filepath.Join(home, "Documents"))
- UserDirs.Music = pathutil.EnvPath(userdirs.EnvMusicDir, filepath.Join(home, "Music"))
- UserDirs.Pictures = pathutil.EnvPath(userdirs.EnvPicturesDir, filepath.Join(home, "Pictures"))
- UserDirs.Videos = pathutil.EnvPath(userdirs.EnvVideosDir, filepath.Join(home, "Movies"))
- UserDirs.Templates = pathutil.EnvPath(userdirs.EnvTemplatesDir, filepath.Join(home, "Templates"))
- UserDirs.PublicShare = pathutil.EnvPath(userdirs.EnvPublicShareDir, filepath.Join(home, "Public"))
- }
|