diff options
| author | Anis Elleuch <[email protected]> | 2019-05-29 01:16:12 +0100 |
|---|---|---|
| committer | Anis Elleuch <[email protected]> | 2019-05-29 01:16:22 +0100 |
| commit | afda8e00c6d48e7d20bff281c321bc8aca00699a (patch) | |
| tree | d802706ff1801498e57544237c6a4e4a4fd80f1e /cmd/install/install.go | |
| parent | af07aa5181b38e3fa57d053328e44aaa27da5999 (diff) | |
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
Diffstat (limited to 'cmd/install/install.go')
| -rw-r--r-- | cmd/install/install.go | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/cmd/install/install.go b/cmd/install/install.go index dfa1963..3cb9746 100644 --- a/cmd/install/install.go +++ b/cmd/install/install.go @@ -5,6 +5,7 @@ import ( "os" "os/user" "path/filepath" + "runtime" "github.com/hashicorp/go-multierror" ) @@ -59,7 +60,16 @@ func Uninstall(cmd string) error { } 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 != "" { i = append(i, bash{f}) break |
