summaryrefslogtreecommitdiff
path: root/cmd/install/install.go
diff options
context:
space:
mode:
authorAnis Elleuch <[email protected]>2019-05-29 01:16:12 +0100
committerAnis Elleuch <[email protected]>2019-05-29 01:16:22 +0100
commitafda8e00c6d48e7d20bff281c321bc8aca00699a (patch)
treed802706ff1801498e57544237c6a4e4a4fd80f1e /cmd/install/install.go
parentaf07aa5181b38e3fa57d053328e44aaa27da5999 (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.go12
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