50fd98e5a6c9d7c36b0cc678f577f7ce1d181bea
- Author
- Gam <1348187+Y3K@users.noreply.github.com>
- Committer
- GitHub <noreply@github.com>
- Date
Message
fix(ssh): allow multiple definitions per host (#12227)
Diff
1diff --git a/plugins/ssh/ssh.plugin.zsh b/plugins/ssh/ssh.plugin.zsh
2index 085e71fa1c0b445b38a8a6655e0cb68151a1ec60..b5b050536afa236c1022270571ad9528c9cf53ac 100644
3--- a/plugins/ssh/ssh.plugin.zsh
4+++ b/plugins/ssh/ssh.plugin.zsh
5@@ -4,9 +4,16 @@
6 # Filter out wildcard host sections.
7 _ssh_configfile="$HOME/.ssh/config"
8 if [[ -f "$_ssh_configfile" ]]; then
9- _hosts=($(egrep '^Host.*' "$_ssh_configfile" | awk '{print $2}' | grep -v '^*' | sed -e 's/\.*\*$//'))
10- zstyle ':completion:*:hosts' hosts $_hosts
11- unset _hosts
12+ _ssh_hosts=($(
13+ egrep '^Host.*' "$_ssh_configfile" |\
14+ awk '{for (i=2; i<=NF; i++) print $i}' |\
15+ sort |\
16+ uniq |\
17+ grep -v '^*' |\
18+ sed -e 's/\.*\*$//'
19+ ))
20+ zstyle ':completion:*:hosts' hosts $_ssh_hosts
21+ unset _ssh_hosts
22 fi
23 unset _ssh_configfile
24