summaryrefslogtreecommitdiff
path: root/shell/completion.zsh
diff options
context:
space:
mode:
authorAndrey Chernih <andrey.chernih@gmail.com>2017-10-19 06:04:32 -0700
committerJunegunn Choi <junegunn.c@gmail.com>2017-10-19 22:04:32 +0900
commit80a21f7a75d4b95a36c5743624c2ee25d329b2d9 (patch)
tree3159b10be1ac764296ef5741da27f3724606b0bc /shell/completion.zsh
parent0b33dc6ce19357f7b32857dbb1fecd181fb899e8 (diff)
downloadfzf-80a21f7a75d4b95a36c5743624c2ee25d329b2d9.tar.gz
[completion] Fix known_hosts completion for custom port number (#1092)
Handles records like "[20.20.7.168]:9722 ssh-rsa ..." This is a standard format for servers running on custom port according to http://man.openbsd.org/sshd.8#SSH_KNOWN_HOSTS_FILE_FORMAT A hostname or address may optionally be enclosed within ‘[’ and ‘]’ brackets then followed by ‘:’ and a non-standard port number.
Diffstat (limited to 'shell/completion.zsh')
-rw-r--r--shell/completion.zsh2
1 files changed, 1 insertions, 1 deletions
diff --git a/shell/completion.zsh b/shell/completion.zsh
index d3e64d89..e2ed0b17 100644
--- a/shell/completion.zsh
+++ b/shell/completion.zsh
@@ -117,7 +117,7 @@ _fzf_complete_telnet() {
_fzf_complete_ssh() {
_fzf_complete '+m' "$@" < <(
command cat <(cat ~/.ssh/config /etc/ssh/ssh_config 2> /dev/null | command grep -i '^host' | command grep -v '*' | awk '{for (i = 2; i <= NF; i++) print $1 " " $i}') \
- <(command grep -oE '^[a-z0-9.,:-]+' ~/.ssh/known_hosts | tr ',' '\n' | awk '{ print $1 " " $1 }') \
+ <(command grep -oE '^[[a-z0-9.,:-]+' ~/.ssh/known_hosts | tr ',' '\n' | tr -d '[' | awk '{ print $1 " " $1 }') \
<(command grep -v '^\s*\(#\|$\)' /etc/hosts | command grep -Fv '0.0.0.0') |
awk '{if (length($2) > 0) {print $2}}' | sort -u
)