@@ -181,7 +181,7 @@ func Execute(version string) {
181
181
Name : "plugin" ,
182
182
Action : func (_ * cli.Context ) error {
183
183
logger .Println ("Unknown command: `asdf plugin`" )
184
- os . Exit (1 )
184
+ cli . OsExiter (1 )
185
185
return nil
186
186
},
187
187
Subcommands : []* cli.Command {
@@ -335,14 +335,15 @@ func Execute(version string) {
335
335
},
336
336
},
337
337
},
338
- Action : func (_ * cli.Context ) error {
339
- return helpCommand (logger , version , "" , "" )
338
+ CommandNotFound : func (_ * cli.Context , s string ) {
339
+ logger .Printf ("invalid command provided: %s\n \n " , s )
340
+ helpCommand (logger , version , "" , "" )
341
+ cli .OsExiter (1 )
340
342
},
341
343
}
342
344
343
- err := app .Run (os .Args )
344
- if err != nil {
345
- os .Exit (1 )
345
+ if err := app .Run (os .Args ); err != nil {
346
+ cli .OsExiter (1 )
346
347
}
347
348
}
348
349
@@ -415,7 +416,7 @@ func currentCommand(logger *log.Logger, tool string, noHeader bool) error {
415
416
}
416
417
417
418
if ! versionInstalled {
418
- os . Exit (1 )
419
+ cli . OsExiter (1 )
419
420
}
420
421
} else {
421
422
fmt .Printf ("No such plugin: %s\n " , tool )
@@ -589,7 +590,7 @@ func execCommand(logger *log.Logger, command string, args []string) error {
589
590
590
591
err = hook .RunWithOutput (conf , fmt .Sprintf ("pre_%s_%s" , plugin .Name , filepath .Base (executable )), args , os .Stdout , os .Stderr )
591
592
if err != nil {
592
- os . Exit (1 )
593
+ cli . OsExiter (1 )
593
594
return err
594
595
}
595
596
@@ -653,7 +654,7 @@ func getExecutable(logger *log.Logger, conf config.Config, command string) (exec
653
654
654
655
if _ , ok := err .(shims.NoExecutableForPluginError ); ok {
655
656
logger .Printf ("No executable %s found for current version. Please select a different version or install %s manually for the current version" , command , command )
656
- os . Exit (1 )
657
+ cli . OsExiter (1 )
657
658
return "" , plugin , version , err
658
659
}
659
660
shimPath := shims .Path (conf , command )
@@ -725,7 +726,7 @@ func pluginAddCommand(_ *cli.Context, conf config.Config, logger *log.Logger, pl
725
726
return nil
726
727
}
727
728
728
- os . Exit (1 )
729
+ cli . OsExiter (1 )
729
730
return nil
730
731
}
731
732
@@ -736,7 +737,7 @@ func pluginAddCommand(_ *cli.Context, conf config.Config, logger *log.Logger, pl
736
737
func pluginRemoveCommand (_ * cli.Context , logger * log.Logger , pluginName string ) error {
737
738
if pluginName == "" {
738
739
logger .Print ("No plugin given" )
739
- os . Exit (1 )
740
+ cli . OsExiter (1 )
740
741
return nil
741
742
}
742
743
@@ -757,7 +758,7 @@ func pluginRemoveCommand(_ *cli.Context, logger *log.Logger, pluginName string)
757
758
err2 := shims .RemoveAll (conf )
758
759
if err2 != nil {
759
760
logger .Printf ("%s" , err2 )
760
- os . Exit (1 )
761
+ cli . OsExiter (1 )
761
762
return err2
762
763
}
763
764
@@ -818,7 +819,7 @@ func pluginListAllCommand(logger *log.Logger) error {
818
819
}
819
820
if disableRepo {
820
821
logger .Printf ("Short-name plugin repository is disabled" )
821
- os . Exit (1 )
822
+ cli . OsExiter (1 )
822
823
return nil
823
824
}
824
825
@@ -881,26 +882,26 @@ func helpCommand(logger *log.Logger, asdfVersion, tool, version string) error {
881
882
if version != "" {
882
883
err := help .PrintToolVersion (conf , tool , version )
883
884
if err != nil {
884
- os . Exit (1 )
885
+ cli . OsExiter (1 )
885
886
}
886
887
return err
887
888
}
888
889
889
890
err := help .PrintTool (conf , tool )
890
891
if err != nil {
891
- os . Exit (1 )
892
+ cli . OsExiter (1 )
892
893
}
893
894
return err
894
895
}
895
896
896
897
allPlugins , err := plugins .List (conf , false , false )
897
898
if err != nil {
898
- os . Exit (1 )
899
+ cli . OsExiter (1 )
899
900
}
900
901
901
902
err = help .Print (asdfVersion , allPlugins )
902
903
if err != nil {
903
- os . Exit (1 )
904
+ cli . OsExiter (1 )
904
905
}
905
906
906
907
return err
@@ -943,7 +944,7 @@ func pluginTestCommand(l *log.Logger, args []string, toolVersion, ref string) {
943
944
conf , err := config .LoadConfig ()
944
945
if err != nil {
945
946
l .Printf ("error loading config: %s" , err )
946
- os . Exit (1 )
947
+ cli . OsExiter (1 )
947
948
return
948
949
}
949
950
@@ -1039,7 +1040,7 @@ func pluginTestCommand(l *log.Logger, args []string, toolVersion, ref string) {
1039
1040
1040
1041
func failTest (logger * log.Logger , msg string ) {
1041
1042
logger .Printf ("FAILED: %s" , msg )
1042
- os . Exit (1 )
1043
+ cli . OsExiter (1 )
1043
1044
}
1044
1045
1045
1046
func formatUpdateResult (logger * log.Logger , pluginName , updatedToRef string , err error ) {
@@ -1098,7 +1099,7 @@ func installCommand(logger *log.Logger, toolName, version string, keepDownload b
1098
1099
1099
1100
if _ , ok := err .(versions.NoVersionSetError ); ok {
1100
1101
logger .Printf ("No versions specified for %s in config files or environment" , toolName )
1101
- os . Exit (1 )
1102
+ cli . OsExiter (1 )
1102
1103
}
1103
1104
1104
1105
logger .Printf ("error installing version: %v" , err )
@@ -1156,7 +1157,7 @@ func latestCommand(logger *log.Logger, all bool, toolName, pattern string) (err
1156
1157
if ! all {
1157
1158
err = latestForPlugin (conf , toolName , pattern , false )
1158
1159
if err != nil {
1159
- os . Exit (1 )
1160
+ cli . OsExiter (1 )
1160
1161
}
1161
1162
1162
1163
return err
@@ -1178,7 +1179,7 @@ func latestCommand(logger *log.Logger, all bool, toolName, pattern string) (err
1178
1179
}
1179
1180
1180
1181
if err != nil {
1181
- os . Exit (1 )
1182
+ cli . OsExiter (1 )
1182
1183
return maybeErr
1183
1184
}
1184
1185
return nil
@@ -1203,13 +1204,13 @@ func listCommand(logger *log.Logger, first, second, third string) (err error) {
1203
1204
func listAllCommand (logger * log.Logger , conf config.Config , toolName , filter string ) error {
1204
1205
if toolName == "" {
1205
1206
logger .Print ("No plugin given" )
1206
- os . Exit (1 )
1207
+ cli . OsExiter (1 )
1207
1208
return nil
1208
1209
}
1209
1210
1210
1211
plugin , err := loadPlugin (logger , conf , toolName )
1211
1212
if err != nil {
1212
- os . Exit (1 )
1213
+ cli . OsExiter (1 )
1213
1214
return err
1214
1215
}
1215
1216
@@ -1223,7 +1224,7 @@ func listAllCommand(logger *log.Logger, conf config.Config, toolName, filter str
1223
1224
os .Stderr .WriteString (stderr .String ())
1224
1225
os .Stderr .WriteString (stdout .String ())
1225
1226
1226
- os . Exit (1 )
1227
+ cli . OsExiter (1 )
1227
1228
return err
1228
1229
}
1229
1230
@@ -1235,7 +1236,7 @@ func listAllCommand(logger *log.Logger, conf config.Config, toolName, filter str
1235
1236
1236
1237
if len (versions ) == 0 {
1237
1238
logger .Printf ("No compatible versions available (%s %s)" , plugin .Name , filter )
1238
- os . Exit (1 )
1239
+ cli . OsExiter (1 )
1239
1240
return nil
1240
1241
}
1241
1242
@@ -1266,7 +1267,7 @@ func listLocalCommand(logger *log.Logger, conf config.Config, pluginName, filter
1266
1267
if pluginName != "" {
1267
1268
plugin , err := loadPlugin (logger , conf , pluginName )
1268
1269
if err != nil {
1269
- os . Exit (1 )
1270
+ cli . OsExiter (1 )
1270
1271
return err
1271
1272
}
1272
1273
versions , _ := installs .Installed (conf , plugin )
@@ -1277,13 +1278,13 @@ func listLocalCommand(logger *log.Logger, conf config.Config, pluginName, filter
1277
1278
1278
1279
if len (versions ) == 0 {
1279
1280
logger .Printf ("No compatible versions installed (%s %s)" , plugin .Name , filter )
1280
- os . Exit (1 )
1281
+ cli . OsExiter (1 )
1281
1282
return nil
1282
1283
}
1283
1284
1284
1285
currentVersions , _ , err := resolve .Version (conf , plugin , currentDir )
1285
1286
if err != nil {
1286
- os . Exit (1 )
1287
+ cli . OsExiter (1 )
1287
1288
return err
1288
1289
}
1289
1290
@@ -1310,7 +1311,7 @@ func listLocalCommand(logger *log.Logger, conf config.Config, pluginName, filter
1310
1311
if len (versions ) > 0 {
1311
1312
currentVersions , _ , err := resolve .Version (conf , plugin , currentDir )
1312
1313
if err != nil {
1313
- os . Exit (1 )
1314
+ cli . OsExiter (1 )
1314
1315
return err
1315
1316
}
1316
1317
for _ , version := range versions {
@@ -1341,7 +1342,7 @@ func reshimCommand(logger *log.Logger, tool, version string) (err error) {
1341
1342
plugin = plugins .New (conf , tool )
1342
1343
if err := plugin .Exists (); err != nil {
1343
1344
logger .Printf ("No such plugin: %s" , plugin .Name )
1344
- os . Exit (1 )
1345
+ cli . OsExiter (1 )
1345
1346
return err
1346
1347
}
1347
1348
}
@@ -1425,22 +1426,22 @@ func whichCommand(logger *log.Logger, command string) error {
1425
1426
func uninstallCommand (logger * log.Logger , tool , version string ) error {
1426
1427
if tool == "" || version == "" {
1427
1428
logger .Print ("No plugin given" )
1428
- os . Exit (1 )
1429
+ cli . OsExiter (1 )
1429
1430
return nil
1430
1431
}
1431
1432
1432
1433
conf , err := config .LoadConfig ()
1433
1434
if err != nil {
1434
1435
logger .Printf ("error loading config: %s" , err )
1435
- os . Exit (1 )
1436
+ cli . OsExiter (1 )
1436
1437
return err
1437
1438
}
1438
1439
1439
1440
plugin := plugins .New (conf , tool )
1440
1441
err = versions .Uninstall (conf , plugin , version , os .Stdout , os .Stderr )
1441
1442
if err != nil {
1442
1443
logger .Printf ("%s" , err )
1443
- os . Exit (1 )
1444
+ cli . OsExiter (1 )
1444
1445
return err
1445
1446
}
1446
1447
@@ -1449,7 +1450,7 @@ func uninstallCommand(logger *log.Logger, tool, version string) error {
1449
1450
err = shims .RemoveAll (conf )
1450
1451
if err != nil {
1451
1452
logger .Printf ("%s" , err )
1452
- os . Exit (1 )
1453
+ cli . OsExiter (1 )
1453
1454
return err
1454
1455
}
1455
1456
0 commit comments