Install in ~/.bash_profile first in case of macOS

Some macOS users have ~/.bashrc which is not loaded from
~/.bash_profile, which means, completion will never be
loaded when users open a terminal.

This commit will make macOS a special case and will always
tend to install in ~/.bas_profile
This commit is contained in:
Anis Elleuch 2019-05-29 01:16:12 +01:00
parent af07aa5181
commit afda8e00c6
1 changed files with 11 additions and 1 deletions

View File

@ -5,6 +5,7 @@ import (
"os" "os"
"os/user" "os/user"
"path/filepath" "path/filepath"
"runtime"
"github.com/hashicorp/go-multierror" "github.com/hashicorp/go-multierror"
) )
@ -59,7 +60,16 @@ func Uninstall(cmd string) error {
} }
func installers() (i []installer) { func installers() (i []installer) {
for _, rc := range [...]string{".bashrc", ".bash_profile", ".bash_login", ".profile"} { // The list of bash config files candidates where it is
// possible to install the completion command.
var bashConfFiles []string
switch runtime.GOOS {
case "darwin":
bashConfFiles = []string{".bash_profile"}
default:
bashConfFiles = []string{".bashrc", ".bash_profile", ".bash_login", ".profile"}
}
for _, rc := range bashConfFiles {
if f := rcFile(rc); f != "" { if f := rcFile(rc); f != "" {
i = append(i, bash{f}) i = append(i, bash{f})
break break