[Bash-completion-commits] [SCM] bash-completion branch, master, updated. 8a24a283a40dd927f721d59d4e078ca15957597d

Ville Skyttä ville.skytta at iki.fi
Sat Apr 18 19:34:12 UTC 2009


The following commit has been merged in the master branch:
commit 8a24a283a40dd927f721d59d4e078ca15957597d
Author: Ville Skyttä <ville.skytta at iki.fi>
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



More information about the Bash-completion-commits mailing list