@@ -43,57 +43,55 @@ func init() {
4343}
4444
4545func rm (cmd * cobra.Command , args []string ) error {
46- cfg , err := config .ReadCustomConfig ()
47- if err != nil {
48- return err
49- }
50-
51- if rmOpts .All {
52- cfg .Farms .List = make (map [string ][]string )
53- cfg .Farms .Default = ""
54- if err := cfg .Write (); err != nil {
55- return err
46+ deletedFarms := []string {}
47+ err := config .EditConnectionConfig (func (cfg * config.ConnectionsFile ) error {
48+ if rmOpts .All {
49+ cfg .Farm .List = make (map [string ][]string )
50+ cfg .Farm .Default = ""
51+ return nil
5652 }
57- fmt .Println ("All farms have been deleted" )
58- return nil
59- }
6053
61- // If the --all is not set, we require at least one arg
62- if len (args ) == 0 {
63- return errors .New ("requires at lease 1 arg(s), received 0" )
64- }
54+ // If the --all is not set, we require at least one arg
55+ if len (args ) == 0 {
56+ return errors .New ("requires at lease 1 arg(s), received 0" )
57+ }
6558
66- if len (cfg .Farms .List ) == 0 {
67- return errors .New ("no existing farms; nothing to remove" )
68- }
59+ if len (cfg .Farm .List ) == 0 {
60+ return errors .New ("no existing farms; nothing to remove" )
61+ }
6962
70- deletedFarms := []string {}
71- for _ , k := range args {
72- if _ , ok := cfg .Farms .List [k ]; ! ok {
73- logrus .Warnf ("farm %q doesn't exist; nothing to remove" , k )
74- continue
63+ for _ , k := range args {
64+ if _ , ok := cfg .Farm .List [k ]; ! ok {
65+ logrus .Warnf ("farm %q doesn't exist; nothing to remove" , k )
66+ continue
67+ }
68+ delete (cfg .Farm .List , k )
69+ deletedFarms = append (deletedFarms , k )
70+ if k == cfg .Farm .Default {
71+ cfg .Farm .Default = ""
72+ }
7573 }
76- delete (cfg .Farms .List , k )
77- deletedFarms = append (deletedFarms , k )
78- if k == cfg .Farms .Default {
79- cfg .Farms .Default = ""
74+ // Return error if none of the given farms were deleted
75+ if len (deletedFarms ) == 0 {
76+ return fmt .Errorf ("failed to delete farms %q" , args )
8077 }
81- }
82- // Return error if none of the given farms were deleted
83- if len (deletedFarms ) == 0 {
84- return fmt .Errorf ("failed to delete farms %q" , args )
85- }
8678
87- // Set a new default farm if the current default farm has been removed
88- if cfg .Farms .Default == "" && cfg .Farms .List != nil {
89- for k := range cfg .Farms .List {
90- cfg .Farms .Default = k
91- break
79+ // Set a new default farm if the current default farm has been removed
80+ if cfg .Farm .Default == "" && cfg .Farm .List != nil {
81+ for k := range cfg .Farm .List {
82+ cfg .Farm .Default = k
83+ break
84+ }
9285 }
93- }
94- if err := cfg .Write (); err != nil {
86+ return nil
87+ })
88+ if err != nil {
9589 return err
9690 }
91+ if rmOpts .All {
92+ fmt .Println ("All farms have been deleted" )
93+ return nil
94+ }
9795
9896 for _ , k := range deletedFarms {
9997 fmt .Printf ("Farm %q deleted\n " , k )
0 commit comments