summaryrefslogtreecommitdiff
path: root/lib/completion.zsh
diff options
context:
space:
mode:
authorKyle Smith <askreet@gmail.com>2011-12-22 14:02:01 -0500
committerKyle Smith <askreet@gmail.com>2011-12-22 14:02:01 -0500
commitd8521693f4e2c140391065e7b721d7452134259f (patch)
tree3cbb95aea7e1c89b46148c1fb9259316a1f48437 /lib/completion.zsh
parent54f17588b363fa20df592366b6dd693ce3b7c820 (diff)
downloadzsh-d8521693f4e2c140391065e7b721d7452134259f.tar.gz
zsh-d8521693f4e2c140391065e7b721d7452134259f.tar.bz2
zsh-d8521693f4e2c140391065e7b721d7452134259f.zip
Added support for entries in /etc/ssh/ssh_known_hosts.
Diffstat (limited to 'lib/completion.zsh')
-rw-r--r--lib/completion.zsh2
1 files changed, 2 insertions, 0 deletions
diff --git a/lib/completion.zsh b/lib/completion.zsh
index b3cc91822..0e5d480ff 100644
--- a/lib/completion.zsh
+++ b/lib/completion.zsh
@@ -32,9 +32,11 @@ zstyle ':completion:*:cd:*' tag-order local-directories directory-stack path-dir
cdpath=(.)
# use /etc/hosts and known_hosts for hostname completion
+[ -r /etc/ssh/ssh_known_hosts ] && _global_ssh_hosts=(${${${${(f)"$(</etc/ssh/ssh_known_hosts)"}:#[\|]*}%%\ *}%%,*}) || _ssh_hosts=()
[ -r ~/.ssh/known_hosts ] && _ssh_hosts=(${${${${(f)"$(<$HOME/.ssh/known_hosts)"}:#[\|]*}%%\ *}%%,*}) || _ssh_hosts=()
[ -r /etc/hosts ] && : ${(A)_etc_hosts:=${(s: :)${(ps:\t:)${${(f)~~"$(</etc/hosts)"}%%\#*}##[:blank:]#[^[:blank:]]#}}} || _etc_hosts=()
hosts=(
+ "$_global_ssh_hosts[@]"
"$_ssh_hosts[@]"
"$_etc_hosts[@]"
`hostname`