diff options
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 + |