Skip to content

Commit 2f29eb4

Browse files
phdmasci
authored andcommitted
Use os.UserHomeDir() for obtaining user's home directory (#239)
1 parent bd92cad commit 2f29eb4

File tree

1 file changed

+12
-33
lines changed

1 file changed

+12
-33
lines changed

configs/directories.go

+12-33
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ package configs
1919

2020
import (
2121
"fmt"
22-
"os/user"
22+
"os"
2323
"runtime"
2424

2525
"github.com/arduino/go-paths-helper"
@@ -28,65 +28,44 @@ import (
2828

2929
// getDefaultConfigFilePath returns the default path for arduino-cli.yaml
3030
func getDefaultConfigFilePath() *paths.Path {
31-
usr, err := user.Current()
31+
arduinoDataDir, err := getDefaultArduinoDataDir()
3232
if err != nil {
33-
panic(fmt.Errorf("retrieving user home dir: %s", err))
33+
panic(err)
3434
}
35-
arduinoDataDir := paths.New(usr.HomeDir)
36-
37-
switch runtime.GOOS {
38-
case "linux":
39-
arduinoDataDir = arduinoDataDir.Join(".arduino15")
40-
case "darwin":
41-
arduinoDataDir = arduinoDataDir.Join("Library", "arduino15")
42-
case "windows":
43-
localAppDataPath, err := win32.GetLocalAppDataFolder()
44-
if err != nil {
45-
panic(err)
46-
}
47-
arduinoDataDir = paths.New(localAppDataPath).Join("Arduino15")
48-
default:
49-
panic(fmt.Errorf("unsupported OS: %s", runtime.GOOS))
50-
}
51-
5235
return arduinoDataDir.Join("arduino-cli.yaml")
5336
}
5437

5538
func getDefaultArduinoDataDir() (*paths.Path, error) {
56-
usr, err := user.Current()
39+
userHomeDir, err := os.UserHomeDir()
5740
if err != nil {
58-
return nil, fmt.Errorf("retrieving user home dir: %s", err)
41+
return nil, err
5942
}
60-
arduinoDataDir := paths.New(usr.HomeDir)
61-
6243
switch runtime.GOOS {
6344
case "linux":
64-
arduinoDataDir = arduinoDataDir.Join(".arduino15")
45+
return paths.New(userHomeDir).Join(".arduino15"), nil
6546
case "darwin":
66-
arduinoDataDir = arduinoDataDir.Join("Library", "arduino15")
47+
return paths.New(userHomeDir).Join("Library", "arduino15"), nil
6748
case "windows":
6849
localAppDataPath, err := win32.GetLocalAppDataFolder()
6950
if err != nil {
7051
return nil, fmt.Errorf("getting LocalAppData path: %s", err)
7152
}
72-
arduinoDataDir = paths.New(localAppDataPath).Join("Arduino15")
53+
return paths.New(localAppDataPath).Join("Arduino15"), nil
7354
default:
7455
return nil, fmt.Errorf("unsupported OS: %s", runtime.GOOS)
7556
}
76-
return arduinoDataDir, nil
7757
}
7858

7959
func getDefaultSketchbookDir() (*paths.Path, error) {
80-
usr, err := user.Current()
60+
userHomeDir, err := os.UserHomeDir()
8161
if err != nil {
82-
return nil, fmt.Errorf("retrieving home dir: %s", err)
62+
return nil, err
8363
}
84-
8564
switch runtime.GOOS {
8665
case "linux":
87-
return paths.New(usr.HomeDir).Join("Arduino"), nil
66+
return paths.New(userHomeDir).Join("Arduino"), nil
8867
case "darwin":
89-
return paths.New(usr.HomeDir).Join("Documents", "Arduino"), nil
68+
return paths.New(userHomeDir).Join("Documents", "Arduino"), nil
9069
case "windows":
9170
documentsPath, err := win32.GetDocumentsFolder()
9271
if err != nil {

0 commit comments

Comments
 (0)