diff --git a/completions/mailman b/completions/mailman index b239cbbf..62f5cb42 100644 --- a/completions/mailman +++ b/completions/mailman @@ -25,11 +25,10 @@ complete -F _list_lists list_lists have add_members && _add_members() { - local cur prev split=false - - COMPREPLY=() - _get_comp_words_by_ref cur prev + local cur prev words cword + _init_completion || return + local split=false _split_longopt && split=true case $prev in @@ -59,11 +58,10 @@ complete -F _add_members add_members have remove_members && _remove_members() { - local cur prev split=false - - COMPREPLY=() - _get_comp_words_by_ref cur prev + local cur prev words cword + _init_completion || return + local split=false _split_longopt && split=true case $prev in @@ -88,11 +86,10 @@ complete -F _remove_members remove_members have find_member && _find_member() { - local cur prev split=false - - COMPREPLY=() - _get_comp_words_by_ref cur prev + local cur prev words cword + _init_completion || return + local split=false _split_longopt && split=true case $prev in @@ -115,11 +112,10 @@ complete -F _find_member find_member have clone_member && _clone_member() { - local cur prev split=false - - COMPREPLY=() - _get_comp_words_by_ref cur prev + local cur prev words cword + _init_completion || return + local split=false _split_longopt && split=true case $prev in @@ -142,11 +138,10 @@ complete -F _clone_member clone_member have sync_members && _sync_members() { - local cur prev split=false - - COMPREPLY=() - _get_comp_words_by_ref cur prev + local cur prev words cword + _init_completion || return + local split=false _split_longopt && split=true case $prev in @@ -175,10 +170,8 @@ complete -F _sync_members sync_members have unshunt && _unshunt() { - local cur - - COMPREPLY=() - _get_comp_words_by_ref cur + local cur prev words cword + _init_completion || return if [[ "$cur" == -* ]]; then COMPREPLY=( $( compgen -W '--help' -- "$cur" ) ) @@ -192,10 +185,8 @@ complete -F _unshunt unshunt have list_admins && _list_admins() { - local cur - - COMPREPLY=() - _get_comp_words_by_ref cur + local cur prev words cword + _init_completion || return if [[ "$cur" == -* ]]; then COMPREPLY=( $( compgen -W '--all-vhost --all --help' -- "$cur" ) ) @@ -209,10 +200,8 @@ complete -F _list_admins list_admins have list_owners && _list_owners() { - local cur - - COMPREPLY=() - _get_comp_words_by_ref cur + local cur prev words cword + _init_completion || return if [[ "$cur" == -* ]]; then COMPREPLY=( $( compgen -W '--with-listnames --moderators \ @@ -227,11 +216,10 @@ complete -F _list_owners list_owners have list_members && _list_members() { - local cur prev split=false - - COMPREPLY=() - _get_comp_words_by_ref cur prev + local cur prev words cword + _init_completion || return + local split=false _split_longopt && split=true case $prev in @@ -265,11 +253,10 @@ complete -F _list_members list_members have change_pw && _change_pw() { - local cur prev split=false - - COMPREPLY=() - _get_comp_words_by_ref cur prev + local cur prev words cword + _init_completion || return + local split=false _split_longopt && split=true case $prev in @@ -292,10 +279,8 @@ complete -F _change_pw change_pw have withlist && _withlist() { - local cur - - COMPREPLY=() - _get_comp_words_by_ref cur + local cur prev words cword + _init_completion || return if [[ "$cur" == -* ]]; then COMPREPLY=( $( compgen -W '--lock --interactive \ @@ -310,10 +295,8 @@ complete -F _withlist withlist have newlist && _newlist() { - local cur - - COMPREPLY=() - _get_comp_words_by_ref cur + local cur prev words cword + _init_completion || return if [[ "$cur" == -* ]]; then COMPREPLY=( $( compgen -W '--language --quiet --help' -- "$cur" ) ) @@ -327,10 +310,8 @@ complete -F _newlist newlist have rmlist && _rmlist() { - local cur - - COMPREPLY=() - _get_comp_words_by_ref cur + local cur prev words cword + _init_completion || return if [[ "$cur" == -* ]]; then COMPREPLY=( $( compgen -W '--archives --help' -- "$cur" ) ) @@ -344,11 +325,10 @@ complete -F _rmlist rmlist have config_list && _config_list() { - local cur prev split=false - - COMPREPLY=() - _get_comp_words_by_ref cur prev + local cur prev words cword + _init_completion || return + local split=false _split_longopt && split=true case $prev in @@ -375,9 +355,10 @@ complete -F _config_list config_list have arch && have mailmanctl && _arch() { - local cur prev split=false + local cur prev words cword + _init_completion || return - COMPREPLY=() + local split=false _get_comp_words_by_ref cur prev _split_longopt && split=true @@ -399,9 +380,9 @@ _arch() COMPREPLY=( $( compgen -W '--wipe --start --end --quiet \ --help' -- "$cur" ) ) else - args=$COMP_CWORD - for (( i=1; i < COMP_CWORD; i++ )); do - if [[ "${COMP_WORDS[i]}" == -* ]]; then + local args=$cword + for (( i=1; i < cword; i++ )); do + if [[ "${words[i]}" == -* ]]; then args=$(($args-1)) fi done @@ -421,10 +402,8 @@ complete -F _arch arch have cleanarch && _cleanarch() { - local cur - - COMPREPLY=() - _get_comp_words_by_ref cur + local cur prev words cword + _init_completion || return if [[ "$cur" == -* ]]; then COMPREPLY=( $( compgen -W '--status --dry-run --quiet \ @@ -437,11 +416,10 @@ complete -F _cleanarch cleanarch have inject && _inject() { - local cur prev split=false - - COMPREPLY=() - _get_comp_words_by_ref cur prev + local cur prev words cword + _init_completion || return + local split=false _split_longopt && split=true case $prev in @@ -465,10 +443,8 @@ complete -F _inject inject have dumpdb && _dumpdb() { - local cur - - COMPREPLY=() - _get_comp_words_by_ref cur + local cur prev words cword + _init_completion || return if [[ "$cur" == -* ]]; then COMPREPLY=( $( compgen -W '--marshal --pickle --noprint \ @@ -483,10 +459,8 @@ complete -F _dumpdb dumpdb have check_db && _check_db() { - local cur - - COMPREPLY=() - _get_comp_words_by_ref cur + local cur prev words cword + _init_completion || return if [[ "$cur" == -* ]]; then COMPREPLY=( $( compgen -W '--all --verbose --help' -- "$cur" ) ) @@ -500,10 +474,8 @@ complete -F _check_db check_db have check_perms && _check_perms() { - local cur - - COMPREPLY=() - _get_comp_words_by_ref cur + local cur prev words cword + _init_completion || return if [[ "$cur" == -* ]]; then COMPREPLY=( $( compgen -W '-f -v -h' -- "$cur" ) ) @@ -515,10 +487,8 @@ complete -F _check_perms check_perms have genaliases && _genaliases() { - local cur - - COMPREPLY=() - _get_comp_words_by_ref cur + local cur prev words cword + _init_completion || return if [[ "$cur" == -* ]]; then COMPREPLY=( $( compgen -W '--quiet --help' -- "$cur" ) ) @@ -530,10 +500,8 @@ complete -F _genaliases genaliases have mmsitepass && _mmsitepass() { - local cur - - COMPREPLY=() - _get_comp_words_by_ref cur + local cur prev words cword + _init_completion || return if [[ "$cur" == -* ]]; then COMPREPLY=( $( compgen -W '--listcreator --help' -- "$cur" ) ) @@ -545,10 +513,8 @@ complete -F _mmsitepass mmsitepass have qrunner && _qrunner() { - local cur prev - - COMPREPLY=() - _get_comp_words_by_ref cur prev + local cur prev words cword + _init_completion || return _split_longopt && return 0 @@ -563,10 +529,8 @@ complete -F _qrunner qrunner have mailmanctl && _mailmanctl() { - local cur - - COMPREPLY=() - _get_comp_words_by_ref cur + local cur prev words cword + _init_completion || return if [[ "$cur" == -* ]]; then COMPREPLY=( $( compgen -W '--no-restart --run-as-user \ diff --git a/completions/make b/completions/make index de75d5b3..e06aa989 100644 --- a/completions/make +++ b/completions/make @@ -4,10 +4,10 @@ have make || have gmake || have gnumake || have pmake || return _make() { - local file makef makef_dir="." makef_inc cur prev i split=false + local cur prev words cword + _init_completion || return - COMPREPLY=() - _get_comp_words_by_ref cur prev + local file makef makef_dir="." makef_inc i split=false _split_longopt && split=true @@ -40,20 +40,20 @@ _make() else # before we check for makefiles, see if a path was specified # with -C/--directory - for (( i=0; i < ${#COMP_WORDS[@]}; i++ )); do - if [[ ${COMP_WORDS[i]} == -@(C|-directory) ]]; then + for (( i=0; i < ${#words[@]}; i++ )); do + if [[ ${words[i]} == -@(C|-directory) ]]; then # eval for tilde expansion - eval makef_dir=${COMP_WORDS[i+1]} + eval makef_dir=${words[i+1]} break fi done # before we scan for targets, see if a Makefile name was # specified with -f/--file/--makefile - for (( i=0; i < ${#COMP_WORDS[@]}; i++ )); do - if [[ ${COMP_WORDS[i]} == -@(f|-?(make)file) ]]; then + for (( i=0; i < ${#words[@]}; i++ )); do + if [[ ${words[i]} == -@(f|-?(make)file) ]]; then # eval for tilde expansion - eval makef=${COMP_WORDS[i+1]} + eval makef=${words[i+1]} break fi done diff --git a/completions/man b/completions/man index 8fd5fd6d..c29cf093 100644 --- a/completions/man +++ b/completions/man @@ -4,14 +4,14 @@ $UNAME == SunOS || $UNAME == Cygwin || $UNAME == OpenBSD ]] && _man() { - local cur i prev sect manpath manext mansect uname + local cur prev words cword + _init_completion -n : || return + + local i sect manpath manext mansect uname manext="@([0-9lnp]|[0-9][px]|man|3pm)?(.@([gx]z|bz2|lzma|Z))" mansect="@([0-9lnp]|[0-9][px]|3pm)" - COMPREPLY=() - _get_comp_words_by_ref -n : cur prev - if [[ "$prev" == -l ]]; then _filedir $manext return 0 diff --git a/completions/mc b/completions/mc index 968139f0..e7b57624 100644 --- a/completions/mc +++ b/completions/mc @@ -4,11 +4,10 @@ have mc || return _mc() { - local cur prev split=false - - COMPREPLY=() - _get_comp_words_by_ref cur prev + local cur prev words cword + _init_completion || return + local split=false _split_longopt && split=true case $prev in diff --git a/completions/mcrypt b/completions/mcrypt index a6c21ced..c2d6dbb6 100644 --- a/completions/mcrypt +++ b/completions/mcrypt @@ -4,10 +4,8 @@ have mcrypt || have mdecrypt || return _mcrypt() { - local cur prev i decrypt - - COMPREPLY=() - _get_comp_words_by_ref cur prev + local cur prev words cword + _init_completion || return case $prev in -g|--openpgp-z) @@ -58,12 +56,12 @@ _mcrypt() --force --echo --random --list --list-keymodes \ --list-hash --verbose --quiet --help \ --version --license' -- "$cur" ) ) - elif [[ ${COMP_WORDS[0]} == mdecrypt ]]; then + elif [[ ${words[0]} == mdecrypt ]]; then _filedir nc else - decrypt=0 - for (( i=1; i < ${#COMP_WORDS[@]}-1; i++ )); do - if [[ ${COMP_WORDS[i]} == -@(d|-decrypt) ]]; then + local i decrypt=0 + for (( i=1; i < ${#words[@]}-1; i++ )); do + if [[ ${words[i]} == -@(d|-decrypt) ]]; then _filedir nc decrypt=1 break diff --git a/completions/mdadm b/completions/mdadm index fe03ebae..22324682 100644 --- a/completions/mdadm +++ b/completions/mdadm @@ -6,8 +6,8 @@ _mdadm_raid_level() { local mode - for (( i=1; i < COMP_CWORD; i++ )); do - case ${COMP_WORDS[i]} in + for (( i=1; i < cword; i++ )); do + case ${words[i]} in -C|--create) mode=create break @@ -35,9 +35,9 @@ _mdadm_raid_level() _mdadm_raid_layout() { local level - for (( i=1; i < COMP_CWORD; i++ )); do - if [[ "${COMP_WORDS[i]}" == -@(l|-level) ]]; then - level=${COMP_WORDS[i+1]} + for (( i=1; i < cword; i++ )); do + if [[ "${words[i]}" == -@(l|-level) ]]; then + level=${words[i+1]} break fi done @@ -72,11 +72,10 @@ _mdadm_update_flag() _mdadm() { - local cur prev mode options split=false - - COMPREPLY=() - _get_comp_words_by_ref cur prev + local cur prev words cword + _init_completion || return + local split=false _split_longopt && split=true case $prev in @@ -104,15 +103,16 @@ _mdadm() $split && return 0 + local options options='--help --help-options --version --verbose --quiet \ --brief --force --config --scan --metadata --homehost' if [[ "$cur" == -* ]]; then - if [[ $COMP_CWORD -eq 1 ]] ; then + if [[ $cword -eq 1 ]] ; then COMPREPLY=( $( compgen -W "$options --assemble --build \ --create --monitor --grow" -- "$cur" ) ) else - case ${COMP_WORDS[COMP_CWORD-1]} in + case ${words[cword-1]} in -A|--assemble) COMPREPLY=( $( compgen -W "$options --uuid \ --super-minor --name --force --run \ diff --git a/completions/medusa b/completions/medusa index 5aa13f64..d60abcd0 100644 --- a/completions/medusa +++ b/completions/medusa @@ -4,11 +4,8 @@ have medusa || return _medusa() { - local cur prev - - COMPREPLY=() - cur=`_get_cword` - prev=`_get_pword` + local cur prev words cword + _init_completion || return case $prev in -h) diff --git a/completions/minicom b/completions/minicom index 6a5e8644..2daaf00b 100644 --- a/completions/minicom +++ b/completions/minicom @@ -4,10 +4,8 @@ have minicom || return _minicom() { - local cur prev confdir - - COMPREPLY=() - _get_comp_words_by_ref cur prev + local cur prev words cword + _init_completion || return case $prev in -a|-c) @@ -32,6 +30,7 @@ _minicom() -c -S -d -p -C -T -7 -8' -- "$cur" ) ) return 0 else + local confdir [ -n "$( command ls /etc/minirc.* 2>/dev/null)" ] \ && confdir=/etc [ -n "$( command ls /etc/minicom/minirc.* 2>/dev/null)" ] \ diff --git a/completions/mkinitrd b/completions/mkinitrd index d8626d64..d5cc025a 100644 --- a/completions/mkinitrd +++ b/completions/mkinitrd @@ -4,11 +4,10 @@ have mkinitrd || return _mkinitrd() { - local cur prev args split=false - - COMPREPLY=() - _get_comp_words_by_ref cur prev + local cur prev words cword + _init_completion || return + local split=false _split_longopt && split=true case $prev in @@ -36,6 +35,7 @@ _mkinitrd() --omit-lvm-modules --builtin --omit-dmraid --net-dev \ --fstab --nocompress --dsdt --bootchart' -- "$cur" ) ) else + local args _count_args case $args in diff --git a/completions/module-init-tools b/completions/module-init-tools index bf2d24d1..fcef11c0 100644 --- a/completions/module-init-tools +++ b/completions/module-init-tools @@ -6,10 +6,8 @@ have rmmod && _rmmod() { - local cur - - COMPREPLY=() - _get_comp_words_by_ref cur + local cur prev words cword + _init_completion || return _installed_modules "$cur" return 0 @@ -23,13 +21,11 @@ complete -F _rmmod rmmod have insmod || have modprobe || have modinfo && _insmod() { - local cur prev modpath - - COMPREPLY=() - _get_comp_words_by_ref cur prev + local cur prev words cword + _init_completion || return # behave like lsmod for modprobe -r - if [[ ${1##*/} == modprobe && "${COMP_WORDS[1]}" == -r ]]; then + if [[ ${1##*/} == modprobe && "${words[1]}" == -r ]]; then _installed_modules "$cur" return 0 fi @@ -40,9 +36,9 @@ _insmod() return 0 fi - if [[ $COMP_CWORD -gt 1 && "${COMP_WORDS[COMP_CWORD-1]}" != -* ]]; then + if [[ $cword -gt 1 && "${words[cword-1]}" != -* ]]; then # do module parameter completion - COMPREPLY=( $( compgen -W "$( /sbin/modinfo -p ${COMP_WORDS[1]} | \ + COMPREPLY=( $( compgen -W "$( /sbin/modinfo -p ${words[1]} | \ cut -d: -f1 )" -- "$cur" ) ) else _modules $(uname -r) diff --git a/completions/monodevelop b/completions/monodevelop index 69b23445..b53f3caa 100644 --- a/completions/monodevelop +++ b/completions/monodevelop @@ -3,8 +3,8 @@ have monodevelop && _monodevelop() { - local cur - _get_comp_words_by_ref cur + local cur prev words cword + _init_completion || return if [[ "$cur" == -* ]]; then COMPREPLY=( $( compgen -W '-? -help -help2 -ipc-tcp -newwindow -nologo \ @@ -19,15 +19,14 @@ complete -F _monodevelop monodevelop have mdtool && _mdtool() { - local cur prev command i + local cur prev words cword + _init_completion || return - COMPREPLY=() + local command i - _get_comp_words_by_ref cur prev - - for (( i=0; i < ${#COMP_WORDS[@]}-1; i++ )); do - if [[ ${COMP_WORDS[i]} == @(build|generate-makefiles|setup) ]]; then - command=${COMP_WORDS[i]} + for (( i=0; i < ${#words[@]}-1; i++ )); do + if [[ ${words[i]} == @(build|generate-makefiles|setup) ]]; then + command=${words[i]} fi done diff --git a/completions/mount b/completions/mount index 65ca8ea5..ccff0187 100644 --- a/completions/mount +++ b/completions/mount @@ -76,10 +76,10 @@ _linux_fstab() _mount() { - local cur sm host prev + local cur prev words cword + _init_completion -n : || return - COMPREPLY=() - _get_comp_words_by_ref -n : cur prev + local sm host case $prev in -t|--types) @@ -136,9 +136,8 @@ complete -F _mount -o default -o dirnames mount have umount && _umount() { - local cur - _get_comp_words_by_ref cur - COMPREPLY=() + local cur prev words cword + _init_completion || return if [[ $OSTYPE == *linux* && -r /proc/mounts ]]; then # Linux /proc/mounts is properly quoted. This is important when diff --git a/completions/mplayer b/completions/mplayer index eafb16de..21e0fd91 100644 --- a/completions/mplayer +++ b/completions/mplayer @@ -12,11 +12,10 @@ _mplayer_options_list() _mplayer() { - local cmd cur prev i j k=0 + local cur prev words cword + _init_completion || return - COMPREPLY=() - cmd=${COMP_WORDS[0]} - _get_comp_words_by_ref cur prev + local cmd=${words[0]} i j k=0 case $prev in -[av][cfo]|-[av]fm|-vop|-fstype|-demuxer|-o[av]c|-of|-profile| \ diff --git a/completions/msynctool b/completions/msynctool index 21b4dd8a..3afab814 100644 --- a/completions/msynctool +++ b/completions/msynctool @@ -4,12 +4,10 @@ have msynctool || return _msynctool() { - local cur prev anteprev + local cur prev words cword + _init_completion || return - COMPREPLY=() - _get_comp_words_by_ref cur prev anteprev - - case $anteprev in + case $words in --configure) COMPREPLY=( $( compgen -W "$(msynctool --showgroup \ $prev | awk '/^Member/ {print $2}' | sed \ diff --git a/completions/mtx b/completions/mtx index 8cfa4938..e119b80c 100644 --- a/completions/mtx +++ b/completions/mtx @@ -4,10 +4,10 @@ have mtx || return _mtx() { - local cur prev options tapes drives + local cur prev words cword + _init_completion || return - COMPREPLY=() - _get_comp_words_by_ref cur prev + local options tapes drives options="-f nobarcode invert noattach --version inquiry noattach \ inventory status load unload eepos first last next" @@ -21,7 +21,7 @@ _mtx() drives=${drives//:Full} drives=${drives//:Empty} - if [ $COMP_CWORD -gt 1 ]; then + if [ $cword -gt 1 ]; then case $prev in load) COMPREPLY=( $( compgen -W "$tapes" -- "$cur" ) ) diff --git a/completions/munin-node b/completions/munin-node index abf2b0f6..9c50c4c9 100644 --- a/completions/munin-node +++ b/completions/munin-node @@ -3,10 +3,8 @@ have munin-run && _munin_run() { - local cur prev - - COMPREPLY=() - _get_comp_words_by_ref cur prev + local cur prev words cword + _init_completion || return case $prev in --config|--sconffile) @@ -32,10 +30,8 @@ complete -F _munin_run munin-run have munindoc && _munindoc() { - local cur prev - - COMPREPLY=() - _get_comp_words_by_ref cur prev + local cur prev words cword + _init_completion || return COMPREPLY=( $( compgen -W '$( command ls /usr/share/munin/plugins )' \ -- "$cur" ) ) @@ -45,10 +41,8 @@ complete -F _munindoc munindoc have munin-update && _munin_update() { - local cur prev - - COMPREPLY=() - _get_comp_words_by_ref cur prev + local cur prev words cword + _init_completion || return case $prev in --config) @@ -72,10 +66,8 @@ complete -F _munin_update munin-update have munin-node-configure && _munin_node_configure() { - local cur prev - - COMPREPLY=() - _get_comp_words_by_ref cur prev + local cur prev words cword + _init_completion || return case $prev in --config) diff --git a/completions/mutt b/completions/mutt index 92e90adb..8925d5a6 100644 --- a/completions/mutt +++ b/completions/mutt @@ -22,7 +22,7 @@ _muttaddr() _muttrc() { # Search COMP_WORDS for '-F muttrc' or '-Fmuttrc' argument - set -- "${COMP_WORDS[@]}" + set -- "${words[@]}" while [ $# -gt 0 ]; do if [ "${1:0:2}" = -F ]; then if [ ${#1} -gt 2 ]; then @@ -76,7 +76,7 @@ _muttconffiles() # @param $1 (cur) Current word to complete _muttaliases() { - local cur=$1 muttrc muttcmd=${COMP_WORDS[0]} + local cur=$1 muttrc muttcmd=${words[0]} local -a conffiles aliases muttrc=$(_muttrc) @@ -94,7 +94,7 @@ _muttaliases() # @param $1 (cur) Current word to complete _muttquery() { - local cur=$1 querycmd muttcmd=${COMP_WORDS[0]} + local cur=$1 querycmd muttcmd=${words[0]} local -a queryresults querycmd="$( $muttcmd -Q query_command | sed -e 's|^query_command=\"\(.*\)\"$|\1|' -e 's|%s|'$cur'|' )" @@ -114,7 +114,7 @@ _muttquery() # @param $1 (cur) Current word to complete _muttfiledir() { - local cur=$1 folder muttrc spoolfile muttcmd=${COMP_WORDS[0]} + local cur=$1 folder muttrc spoolfile muttcmd=${words[0]} muttrc=$(_muttrc) if [[ $cur == [=+]* ]]; then @@ -140,12 +140,8 @@ _muttfiledir() _mutt() { - local cur prev - _get_comp_words_by_ref -n =+! cur prev - #cur=`_get_cword =+!` - #prev=`_get_pword =+!` - - COMPREPLY=() + local cur prev words cword + _init_completion -n =+! || return case $cur in -*) diff --git a/completions/mysqladmin b/completions/mysqladmin index 1b6ce4d0..1e861172 100644 --- a/completions/mysqladmin +++ b/completions/mysqladmin @@ -4,11 +4,10 @@ have mysqladmin || return _mysqladmin() { - local cur prev split=false - - COMPREPLY=() - _get_comp_words_by_ref cur prev + local cur prev words cword + _init_completion || return + local split=false _split_longopt && split=true case $prev in