mirror of
https://codeberg.org/scip/ephemerup.git
synced 2025-12-17 12:40:57 +01:00
fix error handling
This commit is contained in:
@@ -33,8 +33,7 @@ func FormCommand(conf *cfg.Config) *cobra.Command {
|
||||
// errors at this stage do not cause the usage to be shown
|
||||
//cmd.SilenceUsage = true
|
||||
if len(args) == 0 {
|
||||
cmd.Help()
|
||||
os.Exit(0)
|
||||
return cmd.Help()
|
||||
}
|
||||
return nil
|
||||
},
|
||||
|
||||
@@ -130,13 +130,12 @@ func initConfig(cmd *cobra.Command, cfg *cfg.Config) error {
|
||||
v.SetEnvPrefix("upctl")
|
||||
|
||||
// map flags to viper
|
||||
bindFlags(cmd, v)
|
||||
|
||||
return nil
|
||||
return bindFlags(cmd, v)
|
||||
}
|
||||
|
||||
// bind flags to viper settings (env+cfgfile)
|
||||
func bindFlags(cmd *cobra.Command, v *viper.Viper) {
|
||||
func bindFlags(cmd *cobra.Command, v *viper.Viper) error {
|
||||
var fail error
|
||||
cmd.Flags().VisitAll(func(f *pflag.Flag) {
|
||||
// map flag name to config variable
|
||||
configName := f.Name
|
||||
@@ -144,7 +143,11 @@ func bindFlags(cmd *cobra.Command, v *viper.Viper) {
|
||||
// use config variable if flag is not set and config is set
|
||||
if !f.Changed && v.IsSet(configName) {
|
||||
val := v.Get(configName)
|
||||
cmd.Flags().Set(f.Name, fmt.Sprintf("%v", val))
|
||||
if err := cmd.Flags().Set(f.Name, fmt.Sprintf("%v", val)); err != nil {
|
||||
fail = err
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
return fail
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user