Skip to content

Commit 346a630

Browse files
committed
Fixed linter warn
1 parent 586f5f5 commit 346a630

File tree

4 files changed

+17
-5
lines changed

4 files changed

+17
-5
lines changed

Diff for: internal/cli/cli.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,7 @@ func NewCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command {
113113
preRun(verbose, outputFormat, logLevel, logFile, logFormat, noColor, settings)
114114

115115
// Log the configuration file used
116-
if configFile := ctx.Value("config_file").(string); configFile != "" {
116+
if configFile := config.GetConfigFile(ctx); configFile != "" {
117117
logrus.Infof("Using config file: %s", configFile)
118118
} else {
119119
logrus.Info("Config file not found, using default values")

Diff for: internal/cli/config/config.go

+13-1
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,18 @@ func getAllArraySettingsKeys(ctx context.Context, srv rpc.ArduinoCoreServiceServ
6464
return arrayKeys
6565
}
6666

67+
type ctxValue string
68+
69+
// GetConfigFile returns the configuration file path from the context
70+
func GetConfigFile(ctx context.Context) string {
71+
return ctx.Value(ctxValue("config_file")).(string)
72+
}
73+
74+
// SetConfigFile sets the configuration file path in the context
75+
func SetConfigFile(ctx context.Context, configFile string) context.Context {
76+
return context.WithValue(ctx, ctxValue("config_file"), configFile)
77+
}
78+
6779
func saveConfiguration(ctx context.Context, srv rpc.ArduinoCoreServiceServer) {
6880
var outConfig []byte
6981
if res, err := srv.ConfigurationSave(ctx, &rpc.ConfigurationSaveRequest{SettingsFormat: "yaml"}); err != nil {
@@ -72,7 +84,7 @@ func saveConfiguration(ctx context.Context, srv rpc.ArduinoCoreServiceServer) {
7284
outConfig = []byte(res.GetEncodedSettings())
7385
}
7486

75-
configFile := ctx.Value("config_file").(string)
87+
configFile := GetConfigFile(ctx)
7688
if err := paths.New(configFile).WriteFile(outConfig); err != nil {
7789
feedback.Fatal(tr("Error writing to file: %v", err), feedback.ErrGeneric)
7890
}

Diff for: internal/cli/config/init.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ func runInitCommand(srv rpc.ArduinoCoreServiceServer) {
8383
configFileAbsPath = configFileDir.Join(defaultFileName)
8484

8585
default:
86-
configFileAbsPath = paths.New(ctx.Value("config_file").(string))
86+
configFileAbsPath = paths.New(GetConfigFile(ctx))
8787
configFileDir = configFileAbsPath.Parent()
8888
}
8989

Diff for: main.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ import (
2222

2323
"github.com/arduino/arduino-cli/commands"
2424
"github.com/arduino/arduino-cli/internal/cli"
25+
"github.com/arduino/arduino-cli/internal/cli/config"
2526
"github.com/arduino/arduino-cli/internal/cli/configuration"
2627
"github.com/arduino/arduino-cli/internal/cli/feedback"
2728
"github.com/arduino/arduino-cli/internal/i18n"
@@ -35,8 +36,7 @@ func main() {
3536

3637
// Search for the configuration file in the command line arguments and in the environment
3738
configFile := configuration.FindConfigFileInArgsFallbackOnEnv(os.Args)
38-
ctx := context.Background()
39-
ctx = context.WithValue(ctx, "config_file", configFile)
39+
ctx := config.SetConfigFile(context.Background(), configFile)
4040

4141
// Read the settings from the configuration file
4242
openReq := &rpc.ConfigurationOpenRequest{SettingsFormat: "yaml"}

0 commit comments

Comments
 (0)