The following commit has been merged in the master branch:
commit 90387f2355ae83968ab12aa32ba3b73fac152fd4
Author: Ville Skyttä <[email protected]>
Date:   Tue May 26 21:26:47 2009 +0300

    Use _split_longopt in quota and friends.

diff --git a/CHANGES b/CHANGES
index 6009413..d685f93 100644
--- a/CHANGES
+++ b/CHANGES
@@ -39,7 +39,8 @@ bash-completion (1.x)
     take arguments in both "--foo bar" and "--foo=bar" formats.
   * Use _split_longopt to improve and clean up aspell, chgrp, chown, chkconfig,
     cpio, iptables, make, mc, mii-diag, mii-tool, mkinitrd, postgresql,
-    samba, smartctl, and generic long option completion (Alioth: #311398).
+    quota, samba, smartctl, and generic long option completion
+    (Alioth: #311398).
   * Add chown --from and --reference value completions.
   * Add chgrp --reference value completion.
   * Do not assume all --foo= options take filenames in generic long option
diff --git a/contrib/quota-tools b/contrib/quota-tools
index f61d6cd..d3eb273 100644
--- a/contrib/quota-tools
+++ b/contrib/quota-tools
@@ -35,32 +35,25 @@ _filesystems()
 
 _quota()
 {
-       local cur prev
+       local cur prev split=false
 
        COMPREPLY=()
        cur=`_get_cword`
        prev=${COMP_WORDS[COMP_CWORD-1]}
 
+       _split_longopt && split=true
+
        case $prev in
-               -F)
+               -F|--format)
                        _quota_formats
                        return 0
                        ;;
        esac
-       
-       if [[ "$cur" == *=* ]]; then
-               prev=${cur/=*/}
-               cur=${cur/*=/}
-               case $prev in
-                       --format)
-                               _quota_formats
-                               return 0
-                               ;;
-               esac
-       fi
+
+       $split && return 0
 
        if [[ "$cur" == -* ]]; then
-               COMPREPLY=( $( compgen -W '-F --format= -g --group -u --user -v 
--verbose \
+               COMPREPLY=( $( compgen -W '-F --format -g --group -u --user -v 
--verbose \
                        -s --human-readable -p --raw-grace -i --no-autofs -l 
--local-only \
                        -A --all-nfs -m --no-mixed-pathnames -q --quiet -Q 
--quiet-refuse \
                        -w --no-wrap' -- $cur ) )
@@ -72,33 +65,26 @@ complete -F _quota $default quota
 
 _setquota()
 {
-       local cur prev
+       local cur prev split=false
 
        COMPREPLY=()
        cur=`_get_cword`
        prev=${COMP_WORDS[COMP_CWORD-1]}
 
+       _split_longopt && split=true
+
        case $prev in
-               -F)
+               -F|--format)
                        _quota_formats
                        return 0
                        ;;
        esac
 
-       if [[ "$cur" == *=* ]]; then
-               prev=${cur/=*/}
-               cur=${cur/*=/}
-               case $prev in
-                       --format)
-                               _quota_formats
-                               return 0
-                               ;;
-               esac
-       fi
+       $split && return 0
 
        if [[ "$cur" == -* ]]; then
                COMPREPLY=( $( compgen -W '-r --remote -m --no-mixed-pathnames \
-                       -F --format= -g --group -u --user -p --prototype= -b 
--batch \
+                       -F --format -g --group -u --user -p --prototype -b 
--batch \
                        -c --continue-batch -t --edit-period -T --edit-times -a 
--all' -- $cur ) )
        else
                _count_args
@@ -118,14 +104,16 @@ complete -F _setquota $default setquota
 
 _edquota()
 {
-       local cur prev
+       local cur prev split=false
 
        COMPREPLY=()
        cur=`_get_cword`
        prev=${COMP_WORDS[COMP_CWORD-1]}
 
+       _split_longopt && split=true
+
        case $prev in
-               -F)
+               -F|--format)
                        _quota_formats
                        return 0
                        ;;
@@ -135,20 +123,11 @@ _edquota()
                        ;;
        esac
 
-       if [[ "$cur" == *=* ]]; then
-               prev=${cur/=*/}
-               cur=${cur/*=/}
-               case $prev in
-                       --format)
-                               _quota_formats
-                               return 0
-                               ;;
-               esac
-       fi
+       $split && return 0
 
        if [[ "$cur" == -* ]]; then
                COMPREPLY=( $( compgen -W '-r --remote -m --no-mixed-pathnames \
-                       -g --group -u --user -p --prototype= -F --format= -f 
--filesystem \
+                       -g --group -u --user -p --prototype -F --format -f 
--filesystem \
                        -t --edit-period -T --edit-times' -- $cur ) )
        else
                _user_or_group
@@ -158,35 +137,28 @@ complete -F _edquota $default edquota
 
 _quotacheck()
 {
-       local cur prev
+       local cur prev split=false
 
        COMPREPLY=()
        cur=`_get_cword`
        prev=${COMP_WORDS[COMP_CWORD-1]}
 
+       _split_longopt && split=true
+
        case $prev in
-               -F)
+               -F|--format)
                        _quota_formats
                        return 0
                        ;;
        esac
 
-       if [[ "$cur" == *=* ]]; then
-               prev=${cur/=*/}
-               cur=${cur/*=/}
-               case $prev in
-                       --format)
-                               _quota_formats
-                               return 0
-                               ;;
-               esac
-       fi
+       $split && return 0
 
        if [[ "$cur" == -* ]]; then
                COMPREPLY=( $( compgen -W '-b --backup -v --verbose -d --debug \
                        -g --group -u --user -c --create-files -f --force -i \
                        --interactive -n --use-first-dquot -M --try-remount -m \
-                       --no-remount -R --exclude-root -F --format= -a --all' \
+                       --no-remount -R --exclude-root -F --format -a --all' \
                        -- $cur ) )
        else
                _filesystems
@@ -196,35 +168,28 @@ complete -F _quotacheck $default quotacheck
 
 _repquota()
 {
-       local cur prev
+       local cur prev split=false
 
        COMPREPLY=()
        cur=`_get_cword`
        prev=${COMP_WORDS[COMP_CWORD-1]}
 
+       _split_longopt && split=true
+
        case $prev in
-               -F)
+               -F|--format)
                        _quota_formats
                        return 0
                        ;;
        esac
 
-       if [[ "$cur" == *=* ]]; then
-               prev=${cur/=*/}
-               cur=${cur/*=/}
-               case $prev in
-                       --format)
-                               _quota_formats
-                               return 0
-                               ;;
-               esac
-       fi
+       $split && return 0
 
        if [[ "$cur" == -* ]]; then
                COMPREPLY=( $( compgen -W '-a --all -v --verbose -s 
--human-readable \
                        -c --batch-translation -C --no-batch-translation -t \
                        --truncate-names -n --no-names -p --raw-grace -i 
--no-autofs \
-                       -u --user -g --group -F --format=' -- $cur ) )
+                       -u --user -g --group -F --format' -- $cur ) )
        else
                _filesystems
        fi
@@ -233,33 +198,26 @@ complete -F _repquota $default repquota
 
 _quotaon()
 {
-       local cur prev
+       local cur prev split=false
 
        COMPREPLY=()
        cur=`_get_cword`
        prev=${COMP_WORDS[COMP_CWORD-1]}
 
+       _split_longopt && split=true
+
        case $prev in
-               -F)
+               -F|--format)
                        _quota_formats
                        return 0
                        ;;
        esac
 
-       if [[ "$cur" == *=* ]]; then
-               prev=${cur/=*/}
-               cur=${cur/*=/}
-               case $prev in
-                       --format)
-                               _quota_formats
-                               return 0
-                               ;;
-               esac
-       fi
+       $split && return 0
 
        if [[ "$cur" == -* ]]; then
                COMPREPLY=( $( compgen -W '-a --all -v --verbose -u --user \
-                       -g --group -f --off -p --print-state -F --format=' -- 
$cur ) )
+                       -g --group -f --off -p --print-state -F --format' -- 
$cur ) )
        else
                _filesystems
        fi
@@ -268,14 +226,16 @@ complete -F _quotaon $default quotaon
 
 _quotaoff()
 {
-       local cur prev
+       local cur prev split=false
 
        COMPREPLY=()
        cur=`_get_cword`
        prev=${COMP_WORDS[COMP_CWORD-1]}
 
+       _split_longopt && split=true
+
        case $prev in
-               -F)
+               -F|--format)
                        _quota_formats
                        return 0
                        ;;
@@ -285,20 +245,11 @@ _quotaoff()
                        ;;
        esac
 
-       if [[ "$cur" == *=* ]]; then
-               prev=${cur/=*/}
-               cur=${cur/*=/}
-               case $prev in
-                       --format)
-                               _quota_formats
-                               return 0
-                               ;;
-               esac
-       fi
+       $split && return 0
 
        if [[ "$cur" == -* ]]; then
                COMPREPLY=( $( compgen -W '-a --all -v --verbose -u --user \
-                       -g --group -p --print-state -x --xfs-command -F 
--format=' \
+                       -g --group -p --print-state -x --xfs-command -F 
--format' \
                        -- $cur ) )
        else
                _filesystems

-- 
bash-completion

_______________________________________________
Bash-completion-commits mailing list
[email protected]
http://lists.alioth.debian.org/mailman/listinfo/bash-completion-commits

Reply via email to