X-Git-Url: https://git.madduck.net/etc/ssh.git/blobdiff_plain/0041b2d765f7006c79a787bc5eb847c68fa624c4..1878383b9cceef2c8260c0b4769704eca6afef01:/.zsh/zshrc/parts.d/50-ssh?ds=sidebyside

diff --git a/.zsh/zshrc/parts.d/50-ssh b/.zsh/zshrc/parts.d/50-ssh
index c734343..04b9358 100644
--- a/.zsh/zshrc/parts.d/50-ssh
+++ b/.zsh/zshrc/parts.d/50-ssh
@@ -11,8 +11,15 @@
 # populate hosts completion with SSH's known_hosts
 if [ -r $HOME/.ssh/known_hosts ]; then
   local _myhosts
-  _myhosts=(${${${${(f)"$(cat $HOME/.ssh/known_hosts)"}:#[0-9]*}%%\ *}%%,*})
-  zstyle ':completion:*' hosts $_myhosts
+  _myhosts=$(while read host rest; do
+    host="${(f)host%%,*}"
+    case "$host" in
+      ([[:alnum:]]*) echo "$host";;
+      (\[[[:alnum:]]*) echo "${${host#\[}%\]*}";;
+    esac
+  done < ~/.ssh/known_hosts)
+  #_myhosts=(${${${${(f)"$(<$HOME/.ssh/known_hosts)"}:#[0-9]*}%%\ *}%%,*})
+  #zstyle ':completion:*' hosts $_myhosts
   unset _myhosts
 fi