920bbb8582
Submitted-by: Raphaël Droz (modified) http://lists.alioth.debian.org/pipermail/bash-completion-devel/2013-November/004991.html
41 lines
947 B
Bash
41 lines
947 B
Bash
# wtf completion -*- shell-script -*-
|
|
# Raphael Droz, 25/09/2009
|
|
|
|
_wtf()
|
|
{
|
|
local cur prev words cword addf
|
|
_init_completion || return
|
|
|
|
[[ $prev == -f ]] && _filedir && return 0
|
|
[[ ${words[@]} == *\ -f* ]] && addf= || addf=-f
|
|
if [[ $cur == -* ]]; then
|
|
COMPREPLY=( $addf )
|
|
return 0
|
|
fi
|
|
|
|
local db
|
|
|
|
set -- "${words[@]}"
|
|
while [[ $# -gt 0 ]]; do
|
|
if [[ $1 == -f ]]; then
|
|
shift ; db=$1 ; break
|
|
fi
|
|
shift
|
|
done
|
|
|
|
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 0
|
|
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
|