summaryrefslogtreecommitdiff
path: root/lib/completion.zsh
diff options
context:
space:
mode:
authorMax Masnick <max@masnick.me>2012-02-25 16:15:40 -0500
committerMax Masnick <max@masnick.me>2012-02-25 16:15:40 -0500
commit7441438afa9f96ff1d39a6cd0d8692c2b9044bf2 (patch)
tree508d195705e63c5baff4ed9ead765744feec323f /lib/completion.zsh
parent9e3776f1ecbaa29d646cdfe8fc204597ca98746c (diff)
parent1120f973054836eeb53750f57d69fbec41a340dc (diff)
downloadzsh-7441438afa9f96ff1d39a6cd0d8692c2b9044bf2.tar.gz
zsh-7441438afa9f96ff1d39a6cd0d8692c2b9044bf2.tar.bz2
zsh-7441438afa9f96ff1d39a6cd0d8692c2b9044bf2.zip
merge changes from offical repo
Diffstat (limited to 'lib/completion.zsh')
-rw-r--r--lib/completion.zsh4
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/completion.zsh b/lib/completion.zsh
index b3cc91822..b964595ed 100644
--- a/lib/completion.zsh
+++ b/lib/completion.zsh
@@ -32,12 +32,14 @@ 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`
+ "$HOST"
localhost
)
zstyle ':completion:*:hosts' hosts $hosts