xdg
xdg copied to clipboard
Fix #29: Parse ~/.config/user-dirs.dirs file
Read ~/.config/user-dirs.dirs
if exist, inject in env var if not already present
Test TestDefaultUserDirs
will fail if localized file found.
Workaround without this merge:
func LoadlinuxXDG() {
var (
homeDir string
err error
)
if homeDir, err = os.UserHomeDir(); err != nil {
fmt.Fprintln(os.Stderr, err)
return
}
userDirFile := path.Join(homeDir, ".config/user-dirs.dirs")
if _, err = os.Stat(userDirFile); err != nil {
return
}
cfg, err := ini.Load(userDirFile)
if err != nil {
return
}
// Load xdg env
for _, key := range cfg.Section("").Keys() {
value := strings.Replace(key.Value(), "$HOME", homeDir, 1)
os.Setenv(key.Name(), value)
}
xdg.Reload()
}