aboutsummaryrefslogtreecommitdiff
path: root/completion/bash-completion.sh
blob: 26e1134268c6974fda3fad74281e5f2ea0ee35ef (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# bash completion for ponysay            -*- shell-script -*-

_ponysay()
{
    local cur prev words cword
    _init_completion -n = || return
    
    options='-v -h -l -f -W -q'
    COMPREPLY=( $( compgen -W "$options" -- "$cur" ) )
    
    if [ $prev = "-f"  ]; then
	COMPREPLY=()
	
	sysponies=/usr/share/ponysay/ponies/
	usrponies=~/.local/share/ponysay/ponies/
	if [[ $TERM = "linux" ]]; then
	    sysponies=/usr/share/ponysay/ttyponies/
	    usrponies=~/.local/share/ponysay/ttyponies/
	fi
	
	[ -d $sysponies ] &&  COMPREPLY+=( $( compgen -W "$(ls --color=no $sysponies | sed -e 's/.pony//g')" -- "$cur" ) )
	[ -d $usrponies ] &&  COMPREPLY+=( $( compgen -W "$(ls --color=no $usrponies | sed -e 's/.pony//g')" -- "$cur" ) )

    elif [ $prev = "-W" ]; then
	cols=$(( `stty size | cut -d ' ' -f 2` - 10 ))
	COMPREPLY=( $cols  $(( $cols / 2 ))  100  60 )

    elif [ $prev = "-q" ]; then
	qcmd=/usr/lib/ponysay/pq4ps
	quoters=$($qcmd -l)
	COMPREPLY=( $( compgen -W "$quoters" -- "$cur" ) )

    fi
}

complete -o default -F _ponysay ponysay