|
@@ -4,9 +4,16 @@
|
|
|
# Filter out wildcard host sections.
|
|
|
_ssh_configfile="$HOME/.ssh/config"
|
|
|
if [[ -f "$_ssh_configfile" ]]; then
|
|
|
- _hosts=($(egrep '^Host.*' "$_ssh_configfile" | awk '{print $2}' | grep -v '^*' | sed -e 's/\.*\*$//'))
|
|
|
- zstyle ':completion:*:hosts' hosts $_hosts
|
|
|
- unset _hosts
|
|
|
+ _ssh_hosts=($(
|
|
|
+ egrep '^Host.*' "$_ssh_configfile" |\
|
|
|
+ awk '{for (i=2; i<=NF; i++) print $i}' |\
|
|
|
+ sort |\
|
|
|
+ uniq |\
|
|
|
+ grep -v '^*' |\
|
|
|
+ sed -e 's/\.*\*$//'
|
|
|
+ ))
|
|
|
+ zstyle ':completion:*:hosts' hosts $_ssh_hosts
|
|
|
+ unset _ssh_hosts
|
|
|
fi
|
|
|
unset _ssh_configfile
|
|
|
|