diff --git a/completions/dd b/completions/dd index ed9c5d1c..cf11a1f9 100644 --- a/completions/dd +++ b/completions/dd @@ -4,10 +4,8 @@ have dd || return _dd() { - local cur - - COMPREPLY=() - _get_comp_words_by_ref -n = cur + local cur prev words cword + _init_completion -n = || return case $cur in if=*|of=*) diff --git a/completions/dhclient b/completions/dhclient index 4645a13c..add77e87 100644 --- a/completions/dhclient +++ b/completions/dhclient @@ -4,10 +4,8 @@ have dhclient || return _dhclient() { - local cur prev - - COMPREPLY=() - _get_comp_words_by_ref cur prev + local cur prev words cword + _init_completion || return case $prev in -cf|-lf|-pf|-sf) diff --git a/completions/dict b/completions/dict index 26e2ecf3..bbce1ec2 100644 --- a/completions/dict +++ b/completions/dict @@ -10,26 +10,25 @@ _dictdata() _dict() { - local cur prev host port db dictfile + local cur prev words cword + _init_completion || return - COMPREPLY=() - _get_comp_words_by_ref cur prev - dictfile=/usr/share/dict/words + local host port db i - for (( i=1; i < COMP_CWORD; i++ )); do - case ${COMP_WORDS[i]} in + for (( i=1; i < cword; i++ )); do + case ${words[i]} in -h|--host) - host=${COMP_WORDS[i+1]} + host=${words[i+1]} [ -n "$host" ] && host="-h $host" i=$((++i)) ;; -p|--port) - port=${COMP_WORDS[i+1]} + port=${words[i+1]} [ -n "$port" ] && port="-p $port" i=$((++i)) ;; -d|--database) - db=${COMP_WORDS[i+1]} + db=${words[i+1]} [ -n "$db" ] && host="-d $db" i=$((++i)) ;; @@ -63,6 +62,7 @@ _dict() ;; esac + local dictfile=/usr/share/dict/words [ -r $dictfile ] && \ COMPREPLY=( $( compgen -W '$( cat $dictfile )' -- "$cur" ) ) } && diff --git a/completions/dpkg b/completions/dpkg index 8bb862ab..7dd8b0bf 100644 --- a/completions/dpkg +++ b/completions/dpkg @@ -20,21 +20,20 @@ _comp_dpkg_installed_packages() # _dpkg() { - local cur prev i - - COMPREPLY=() - _get_comp_words_by_ref cur prev - i=$COMP_CWORD + local cur prev words cword + _init_completion || return _expand || return 0 _split_longopt + local i=$cword + # find the last option flag if [[ $cur != -* ]]; then while [[ $prev != -* && $i -ne 1 ]]; do i=$((i-1)) - prev=${COMP_WORDS[i-1]} + prev=${words[i-1]} done fi @@ -100,10 +99,10 @@ complete -F _dpkg dpkg dpkg-deb have dpkg-reconfigure && _dpkg_reconfigure() { - local cur prev opt + local cur prev words cword + _init_completion || return - COMPREPLY=() - _get_comp_words_by_ref cur prev + local opt case $prev in -f|--frontend) @@ -133,7 +132,10 @@ complete -F _dpkg_reconfigure -o default dpkg-reconfigure have dpkg-source && _dpkg_source() { - local cur prev options work i action packopts unpackopts fields + local cur prev words cword + _init_completion || return + + local options work i action packopts unpackopts fields packopts="-c -l -F -V -T -D -U -W -E -sa -i -I -sk -sr -ss -sA -sK -sP \ -sU -sR" @@ -142,16 +144,13 @@ _dpkg_source() fields="Format Source Version Binary Maintainer Uploader Architecture \ Standards-Version Build-Depends Files" - COMPREPLY=() - _get_comp_words_by_ref cur prev - action="options" - for (( i=0; i < ${#COMP_WORDS[@]}-1; i++ )); do - if [[ ${COMP_WORDS[$i]} == "-x" ]]; then + for (( i=0; i < ${#words[@]}-1; i++ )); do + if [[ ${words[$i]} == "-x" ]]; then action=unpack - elif [[ ${COMP_WORDS[$i]} == "-b" ]]; then + elif [[ ${words[$i]} == "-b" ]]; then action=pack - elif [[ ${COMP_WORDS[$i]} == "-h" ]]; then + elif [[ ${words[$i]} == "-h" ]]; then action=help fi done diff --git a/completions/dselect b/completions/dselect index 9e0c1ff3..2923414c 100644 --- a/completions/dselect +++ b/completions/dselect @@ -4,10 +4,8 @@ have dselect || return _dselect() { - local cur prev - - COMPREPLY=() - _get_comp_words_by_ref cur prev + local cur prev words cword + _init_completion || return case $prev in --admindir) diff --git a/completions/dsniff b/completions/dsniff index 1d3b303b..6eb5801a 100644 --- a/completions/dsniff +++ b/completions/dsniff @@ -3,10 +3,8 @@ have arpspoof && _arpspoof() { - local cur prev - - COMPREPLY=() - _get_comp_words_by_ref cur prev + local cur prev words cword + _init_completion || return case $prev in -i) @@ -31,10 +29,8 @@ complete -F _arpspoof arpspoof have dnsspoof && _dnsspoof() { - local cur prev - - COMPREPLY=() - _get_comp_words_by_ref cur prev + local cur prev words cword + _init_completion || return case $prev in -i) @@ -57,10 +53,8 @@ complete -F _dnsspoof dnsspoof have dsniff && _dsniff() { - local cur prev - - COMPREPLY=() - _get_comp_words_by_ref cur prev + local cur prev words cword + _init_completion || return case $prev in -r|-w|-f) @@ -83,10 +77,8 @@ complete -F _dsniff dsniff have filesnarf || have mailsnarf || have msgsnarf && _snarf() { - local cur prev - - COMPREPLY=() - _get_comp_words_by_ref cur prev + local cur prev words cword + _init_completion || return case $prev in -i) @@ -105,10 +97,8 @@ complete -F _snarf filesnarf mailsnarf msgsnarf have macof && _macof() { - local cur prev - - COMPREPLY=() - _get_comp_words_by_ref cur prev + local cur prev words cword + _init_completion || return case $prev in -i) @@ -128,10 +118,8 @@ complete -F _macof macof have sshmitm && _sshmitm() { - local cur - - COMPREPLY=() - _get_comp_words_by_ref cur + local cur prev words cword + _init_completion || return if [[ "$cur" == -* ]]; then COMPREPLY=( $( compgen -W '-d -I -p' -- "$cur" ) ) @@ -145,10 +133,8 @@ complete -F _sshmitm sshmitm have sshow && _sshow() { - local cur prev - - COMPREPLY=() - _get_comp_words_by_ref cur prev + local cur prev words cword + _init_completion || return case $prev in -i) @@ -167,10 +153,8 @@ complete -F _sshow sshow have tcpkill && _tcpkill() { - local cur prev - - COMPREPLY=() - _get_comp_words_by_ref cur prev + local cur prev words cword + _init_completion || return case $prev in -i) @@ -189,10 +173,8 @@ complete -F _tcpkill tcpkill have tcpnice && _tcpnice() { - local cur prev - - COMPREPLY=() - _get_comp_words_by_ref cur prev + local cur prev words cword + _init_completion || return case $prev in -i) @@ -211,10 +193,8 @@ complete -F _tcpnice tcpnice have urlsnarf && _urlsnarf() { - local cur prev - - COMPREPLY=() - _get_comp_words_by_ref cur prev + local cur prev words cword + _init_completion || return case $prev in -i) @@ -233,10 +213,8 @@ complete -F _urlsnarf urlsnarf have webmitm && _webmitm() { - local cur - - COMPREPLY=() - _get_comp_words_by_ref cur + local cur prev words cword + _init_completion || return if [[ "$cur" == -* ]]; then COMPREPLY=( $( compgen -W '-d' -- "$cur" ) ) diff --git a/completions/dvd+rw-tools b/completions/dvd+rw-tools index 66aa18d5..1a0aec3e 100644 --- a/completions/dvd+rw-tools +++ b/completions/dvd+rw-tools @@ -4,9 +4,8 @@ have growisofs || return _growisofs() { - COMPREPLY=() - local cur prev - _get_comp_words_by_ref cur prev + local cur prev words cword + _init_completion || return case $prev in -version|-speed)