@@ -524,7 +524,7 @@ func envCommand(logger *log.Logger, shimmedCommand string, args []string) error
524
524
"ASDF_INSTALL_TYPE" : parsedVersion .Type ,
525
525
"ASDF_INSTALL_VERSION" : parsedVersion .Value ,
526
526
"ASDF_INSTALL_PATH" : installs .InstallPath (conf , plugin , parsedVersion ),
527
- "PATH" : setPath (execPaths ),
527
+ "PATH" : setPath (conf , execPaths ),
528
528
}
529
529
530
530
if parsedVersion .Type != "system" {
@@ -547,8 +547,13 @@ func envCommand(logger *log.Logger, shimmedCommand string, args []string) error
547
547
return err
548
548
}
549
549
550
- func setPath (paths []string ) string {
551
- return strings .Join (paths , ":" ) + ":" + os .Getenv ("PATH" )
550
+ func setPath (conf config.Config , paths []string ) string {
551
+ currentPaths := os .Getenv ("PATH" )
552
+
553
+ if conf .ForcePrepend {
554
+ return strings .Join (append (paths , currentPaths ), ":" )
555
+ }
556
+ return strings .Join (append ([]string {currentPaths }, paths ... ), ":" )
552
557
}
553
558
554
559
func execCommand (logger * log.Logger , command string , args []string ) error {
@@ -583,7 +588,7 @@ func execCommand(logger *log.Logger, command string, args []string) error {
583
588
"ASDF_INSTALL_TYPE" : parsedVersion .Type ,
584
589
"ASDF_INSTALL_VERSION" : parsedVersion .Value ,
585
590
"ASDF_INSTALL_PATH" : installs .InstallPath (conf , plugin , parsedVersion ),
586
- "PATH" : setPath (execPaths ),
591
+ "PATH" : setPath (conf , execPaths ),
587
592
}
588
593
589
594
if parsedVersion .Type != "system" {
0 commit comments