mirror of
https://github.com/jesseduffield/lazygit.git
synced 2025-08-09 09:22:48 +03:00
Switch to github.com/adrg/xdg
This commit is contained in:
committed by
Stefan Haller
parent
4302018437
commit
2118ecdf8e
168
vendor/github.com/adrg/xdg/paths_windows.go
generated
vendored
Normal file
168
vendor/github.com/adrg/xdg/paths_windows.go
generated
vendored
Normal file
@@ -0,0 +1,168 @@
|
||||
package xdg
|
||||
|
||||
import (
|
||||
"path/filepath"
|
||||
|
||||
"github.com/adrg/xdg/internal/pathutil"
|
||||
"golang.org/x/sys/windows"
|
||||
)
|
||||
|
||||
func homeDir() string {
|
||||
return pathutil.KnownFolder(
|
||||
windows.FOLDERID_Profile,
|
||||
[]string{"USERPROFILE"},
|
||||
nil,
|
||||
)
|
||||
}
|
||||
|
||||
func initDirs(home string) {
|
||||
kf := initKnownFolders(home)
|
||||
initBaseDirs(home, kf)
|
||||
initUserDirs(home, kf)
|
||||
}
|
||||
|
||||
func initBaseDirs(home string, kf *knownFolders) {
|
||||
// Initialize standard directories.
|
||||
baseDirs.dataHome = xdgPath(envDataHome, kf.localAppData)
|
||||
baseDirs.data = xdgPaths(envDataDirs, kf.roamingAppData, kf.programData)
|
||||
baseDirs.configHome = xdgPath(envConfigHome, kf.localAppData)
|
||||
baseDirs.config = xdgPaths(envConfigDirs, kf.programData, kf.roamingAppData)
|
||||
baseDirs.stateHome = xdgPath(envStateHome, kf.localAppData)
|
||||
baseDirs.cacheHome = xdgPath(envCacheHome, filepath.Join(kf.localAppData, "cache"))
|
||||
baseDirs.runtime = xdgPath(envRuntimeDir, kf.localAppData)
|
||||
|
||||
// Initialize non-standard directories.
|
||||
baseDirs.applications = []string{
|
||||
kf.programs,
|
||||
kf.commonPrograms,
|
||||
}
|
||||
baseDirs.fonts = []string{
|
||||
kf.fonts,
|
||||
filepath.Join(kf.localAppData, "Microsoft", "Windows", "Fonts"),
|
||||
}
|
||||
}
|
||||
|
||||
func initUserDirs(home string, kf *knownFolders) {
|
||||
UserDirs.Desktop = xdgPath(envDesktopDir, kf.desktop)
|
||||
UserDirs.Download = xdgPath(envDownloadDir, kf.downloads)
|
||||
UserDirs.Documents = xdgPath(envDocumentsDir, kf.documents)
|
||||
UserDirs.Music = xdgPath(envMusicDir, kf.music)
|
||||
UserDirs.Pictures = xdgPath(envPicturesDir, kf.pictures)
|
||||
UserDirs.Videos = xdgPath(envVideosDir, kf.videos)
|
||||
UserDirs.Templates = xdgPath(envTemplatesDir, kf.templates)
|
||||
UserDirs.PublicShare = xdgPath(envPublicShareDir, kf.public)
|
||||
}
|
||||
|
||||
type knownFolders struct {
|
||||
systemDrive string
|
||||
systemRoot string
|
||||
programData string
|
||||
userProfile string
|
||||
userProfiles string
|
||||
roamingAppData string
|
||||
localAppData string
|
||||
desktop string
|
||||
downloads string
|
||||
documents string
|
||||
music string
|
||||
pictures string
|
||||
videos string
|
||||
templates string
|
||||
public string
|
||||
fonts string
|
||||
programs string
|
||||
commonPrograms string
|
||||
}
|
||||
|
||||
func initKnownFolders(home string) *knownFolders {
|
||||
kf := &knownFolders{
|
||||
userProfile: home,
|
||||
}
|
||||
kf.systemDrive = filepath.VolumeName(pathutil.KnownFolder(
|
||||
windows.FOLDERID_Windows,
|
||||
[]string{"SystemDrive", "SystemRoot", "windir"},
|
||||
[]string{home, `C:`},
|
||||
)) + string(filepath.Separator)
|
||||
kf.systemRoot = pathutil.KnownFolder(
|
||||
windows.FOLDERID_Windows,
|
||||
[]string{"SystemRoot", "windir"},
|
||||
[]string{filepath.Join(kf.systemDrive, "Windows")},
|
||||
)
|
||||
kf.programData = pathutil.KnownFolder(
|
||||
windows.FOLDERID_ProgramData,
|
||||
[]string{"ProgramData", "ALLUSERSPROFILE"},
|
||||
[]string{filepath.Join(kf.systemDrive, "ProgramData")},
|
||||
)
|
||||
kf.userProfiles = pathutil.KnownFolder(
|
||||
windows.FOLDERID_UserProfiles,
|
||||
nil,
|
||||
[]string{filepath.Join(kf.systemDrive, "Users")},
|
||||
)
|
||||
kf.roamingAppData = pathutil.KnownFolder(
|
||||
windows.FOLDERID_RoamingAppData,
|
||||
[]string{"APPDATA"},
|
||||
[]string{filepath.Join(home, "AppData", "Roaming")},
|
||||
)
|
||||
kf.localAppData = pathutil.KnownFolder(
|
||||
windows.FOLDERID_LocalAppData,
|
||||
[]string{"LOCALAPPDATA"},
|
||||
[]string{filepath.Join(home, "AppData", "Local")},
|
||||
)
|
||||
kf.desktop = pathutil.KnownFolder(
|
||||
windows.FOLDERID_Desktop,
|
||||
nil,
|
||||
[]string{filepath.Join(home, "Desktop")},
|
||||
)
|
||||
kf.downloads = pathutil.KnownFolder(
|
||||
windows.FOLDERID_Downloads,
|
||||
nil,
|
||||
[]string{filepath.Join(home, "Downloads")},
|
||||
)
|
||||
kf.documents = pathutil.KnownFolder(
|
||||
windows.FOLDERID_Documents,
|
||||
nil,
|
||||
[]string{filepath.Join(home, "Documents")},
|
||||
)
|
||||
kf.music = pathutil.KnownFolder(
|
||||
windows.FOLDERID_Music,
|
||||
nil,
|
||||
[]string{filepath.Join(home, "Music")},
|
||||
)
|
||||
kf.pictures = pathutil.KnownFolder(
|
||||
windows.FOLDERID_Pictures,
|
||||
nil,
|
||||
[]string{filepath.Join(home, "Pictures")},
|
||||
)
|
||||
kf.videos = pathutil.KnownFolder(
|
||||
windows.FOLDERID_Videos,
|
||||
nil,
|
||||
[]string{filepath.Join(home, "Videos")},
|
||||
)
|
||||
kf.templates = pathutil.KnownFolder(
|
||||
windows.FOLDERID_Templates,
|
||||
nil,
|
||||
[]string{filepath.Join(kf.roamingAppData, "Microsoft", "Windows", "Templates")},
|
||||
)
|
||||
kf.public = pathutil.KnownFolder(
|
||||
windows.FOLDERID_Public,
|
||||
[]string{"PUBLIC"},
|
||||
[]string{filepath.Join(kf.userProfiles, "Public")},
|
||||
)
|
||||
kf.fonts = pathutil.KnownFolder(
|
||||
windows.FOLDERID_Fonts,
|
||||
nil,
|
||||
[]string{filepath.Join(kf.systemRoot, "Fonts")},
|
||||
)
|
||||
kf.programs = pathutil.KnownFolder(
|
||||
windows.FOLDERID_Programs,
|
||||
nil,
|
||||
[]string{filepath.Join(kf.roamingAppData, "Microsoft", "Windows", "Start Menu", "Programs")},
|
||||
)
|
||||
kf.commonPrograms = pathutil.KnownFolder(
|
||||
windows.FOLDERID_CommonPrograms,
|
||||
nil,
|
||||
[]string{filepath.Join(kf.programData, "Microsoft", "Windows", "Start Menu", "Programs")},
|
||||
)
|
||||
|
||||
return kf
|
||||
}
|
Reference in New Issue
Block a user