The following commit has been merged in the master branch:
commit 8a24a283a40dd927f721d59d4e078ca15957597d
Author: Ville Skyttä <[email protected]>
Date:   Sat Apr 18 22:34:07 2009 +0300

    Use _split_longopt in mkinitrd.

diff --git a/CHANGES b/CHANGES
index 3db1435..9872f50 100644
--- a/CHANGES
+++ b/CHANGES
@@ -35,7 +35,7 @@ bash-completion (1.x)
   * Add _split_longopt() helper for improved handling of long options that
     take arguments in both "--foo bar" and "--foo=bar" formats.
   * Use _split_longopt to improve and clean up aspell, chgrp, chown, chkconfig,
-    iptables, make, smartctl, and generic long option completion.
+    iptables, make, mkinitrd, smartctl, and generic long option completion.
   * 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/mkinitrd b/contrib/mkinitrd
index e50d1c6..5125115 100644
--- a/contrib/mkinitrd
+++ b/contrib/mkinitrd
@@ -6,48 +6,38 @@
 have mkinitrd &&
 _mkinitrd()
 {
-       local cur prev args
+       local cur prev args split=false
 
        COMPREPLY=()
        cur=`_get_cword`
        prev=${COMP_WORDS[COMP_CWORD-1]}
 
-       # --name value style option
+       _split_longopt && split=true
+
        case "$prev" in
-               --preload)
+               --@(preload|with|builtin))
                        _modules
                        return 0
                        ;;
+               --@(fstab|dsdt))
+                       _filedir
+                       return 0
+                       ;;
+               --net-dev)
+                       _available_interfaces
+                       return 0
+                       ;;
        esac
 
-       # --name=value style option
-       if [[ "$cur" == *=* ]]; then
-               prev=${cur/=*/}
-               cur=${cur/*=/}
-               case "$prev" in
-                       --@(with|builtin))
-                               _modules
-                               return 0
-                               ;;
-                       --@(fstab|dsdt))
-                               _filedir
-                               return 0
-                               ;;
-                       --net-dev)
-                               _available_interfaces
-                               return 0
-                               ;;
-               esac
-       fi
-
+       $split && return 0
 
        if [[ "$cur" == -* ]]; then
                COMPREPLY=( $( compgen -W '--version --help -v -f --preload \
                        --force-scsi-probe --omit-scsi-modules \
                        --omit-ide-modules --image-version --force-raid-probe \
-                       --omit-raid-modules --with= --force-lvm-probe \
-                       --omit-lvm-modules --builtin= --omit-dmraid --net-dev= \
-                       --fstab= --nocompress --dsdt= --bootchart' -- $cur ) )
+                       --omit-raid-modules --with --force-lvm-probe \
+                       --omit-lvm-modules --builtin --omit-dmraid --net-dev \
+                       --fstab --nocompress --dsdt --bootchart' -- $cur ) )
        else
                _count_args
 

-- 
bash-completion

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

Reply via email to