diff options
author | Junegunn Choi <junegunn.c@gmail.com> | 2013-11-29 18:08:22 +0900 |
---|---|---|
committer | Junegunn Choi <junegunn.c@gmail.com> | 2013-11-29 18:08:22 +0900 |
commit | faff17b2a94697fe5c4568cdee5458cf780b87fa (patch) | |
tree | 09b81e4c58e2ff68ba896fa7bdaab1278c2df974 /fzf-completion.bash | |
parent | 9a3cddc92e6ff711b81fe71e8cd99e1166669423 (diff) |
Hostname completion for ssh and telnet commands
Diffstat (limited to 'fzf-completion.bash')
-rw-r--r-- | fzf-completion.bash | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/fzf-completion.bash b/fzf-completion.bash index 383122df..2ffe7338 100644 --- a/fzf-completion.bash +++ b/fzf-completion.bash @@ -95,6 +95,22 @@ _fzf_kill_completion() { fi } +_fzf_host_completion() { + if [ "${COMP_WORDS[COMP_CWORD-1]}" = '-l' ]; then + return 1 + fi + + local selected + tput sc + selected=$(grep -v '^\s*\(#\|$\)' /etc/hosts | awk '{print $2}' | sort -u | fzf $FZF_COMPLETION_OPTS) + tput rc + + if [ -n "$selected" ]; then + COMPREPLY=( "$selected" ) + return 0 + fi +} + complete -F _fzf_opts_completion fzf # Directory @@ -123,3 +139,8 @@ done # Kill completion complete -F _fzf_kill_completion -o nospace -o default -o bashdefault kill +# Host completion +for cmd in "ssh telnet"; do + complete -F _fzf_host_completion -o default -o bashdefault $cmd +done + |