diff options
| author | Yuki Ito <[email protected]> | 2018-01-08 17:51:45 +0900 |
|---|---|---|
| committer | Yuki Ito <[email protected]> | 2018-01-08 17:51:45 +0900 |
| commit | fbb0b604547d5c4703f7e76fb41e65a090811557 (patch) | |
| tree | b630b54df28dbf85ac5ae694c9861a207402ee56 /cmd/install/install.go | |
| parent | 6bee943216c8cea4cc983c8596346d8945279a1f (diff) | |
Add support for fish
Diffstat (limited to 'cmd/install/install.go')
| -rw-r--r-- | cmd/install/install.go | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/cmd/install/install.go b/cmd/install/install.go index 082a226..4a70624 100644 --- a/cmd/install/install.go +++ b/cmd/install/install.go @@ -68,9 +68,36 @@ func installers() (i []installer) { if f := rcFile(".zshrc"); f != "" { i = append(i, zsh{f}) } + if d := fishConfigDir(); d != "" { + i = append(i, fish{d}) + } return } +func fishConfigDir() string { + configDir := filepath.Join(getConfigHomePath(), "fish") + if configDir == "" { + return "" + } + if info, err := os.Stat(configDir); err != nil || !info.IsDir() { + return "" + } + return configDir +} + +func getConfigHomePath() string { + u, err := user.Current() + if err != nil { + return "" + } + + configHome := os.Getenv("XDG_CONFIG_HOME") + if configHome == "" { + return filepath.Join(u.HomeDir, ".config") + } + return configHome +} + func getBinaryPath() (string, error) { bin, err := os.Executable() if err != nil { |
