diff options
author | Gabriel F. T. Gomes <gabriel@inconstante.eti.br> | 2017-09-25 23:46:54 -0300 |
---|---|---|
committer | Gabriel F. T. Gomes <gabriel@inconstante.eti.br> | 2017-09-25 23:46:54 -0300 |
commit | 6d88f1055806932d9291f96847d2b691cccda2cd (patch) | |
tree | 0ff79eedaa8a239331256048981deedbd0721965 /completions/wtf | |
parent | 059a87a5936cfebfd2d71ab8057002cafb2ea051 (diff) | |
download | bash-completion-6d88f1055806932d9291f96847d2b691cccda2cd.tar.gz |
New upstream version 2.7upstream/2.7
Diffstat (limited to 'completions/wtf')
-rw-r--r-- | completions/wtf | 25 |
1 files changed, 19 insertions, 6 deletions
diff --git a/completions/wtf b/completions/wtf index cc8352f4..26a0d4b8 100644 --- a/completions/wtf +++ b/completions/wtf @@ -3,11 +3,15 @@ _wtf() { - local cur prev words cword + local cur prev words cword addf _init_completion || return - [[ $prev == -f ]] && _filedir && return 0 - [[ $cur == -* ]] && COMPREPLY=( -f ) && return 0 + [[ $prev == -f ]] && _filedir && return + [[ ${words[@]} == *\ -f* ]] && addf= || addf=-f + if [[ $cur == -* ]]; then + COMPREPLY=( $addf ) + return + fi local db @@ -18,10 +22,19 @@ _wtf() fi shift done - [[ -z $db ]] && db=${ACRONYMDB:-/usr/share/misc/acronyms*} - COMPREPLY=( $( compgen -W "$( cut -f 1 -s $db ) -f" -- "${cur^^}" ) ) + if [[ -z "$db" ]]; then + local f + for f in "$ACRONYMDB" /usr/share/misc/acronyms \ + /usr/share/games/bsdgames/acronyms; do + [[ -f "$f" ]] && db="$f" && break + done + [[ -z "$db" ]] && return + fi + + COMPREPLY=( $( compgen -W "$( cut -f 1 -s $db* 2>/dev/null ) $addf" \ + -- "${cur^^}" ) ) } && complete -F _wtf wtf -# ex: ts=4 sw=4 et filetype=sh +# ex: filetype=sh |