[Bash-completion-commits] ./current r1243: Add lzma completion (Guillaume Rousse, myself).

Ville Skyttä ville.skytta at iki.fi
Tue Jan 13 18:45:07 UTC 2009


------------------------------------------------------------
revno: 1243
committer: Ville Skyttä <ville.skytta at iki.fi>
branch nick: current
timestamp: Tue 2009-01-13 20:45:07 +0200
message:
  Add lzma completion (Guillaume Rousse, myself).
added:
  contrib/lzma
modified:
  bash_completion*
  debian/changelog
-------------- next part --------------
=== modified file 'bash_completion' (properties changed: -x to +x)
--- a/bash_completion	2009-01-12 19:16:51 +0000
+++ b/bash_completion	2009-01-13 18:45:07 +0000
@@ -2085,7 +2085,7 @@
 		elif [[ ${COMP_WORDS[1]} == -b* ]]; then
 			_filedir 'spec'
 		else
-			_filedir '@(tgz|tar.@(gz|bz2))'
+			_filedir '@(tgz|tar.@(gz|bz2|lzma))'
 		fi
 		;;
 	--re@(build|compile))
@@ -2097,7 +2097,7 @@
 		fi
 		;;
 	--tarbuild)
-		_filedir '@(tgz|tar.@(gz|bz2))'
+		_filedir '@(tgz|tar.@(gz|bz2|lzma))'
 		;;
 	--@(re|add)sign)
 		_filedir 'rpm'
@@ -2902,9 +2902,9 @@
 		_filedir
 		return 0
 		;;
-	+([^IZzjy])f)
-		ext='t@(ar?(.@(Z|gz|bz?(2)))|gz|bz?(2))'
-		regex='t\(ar\(\.\(Z\|gz\|bz2\?\)\)\?\|gz\|bz2\?\)'
+	+([^IZzJjy])f)
+		ext='t@(ar?(.@(Z|gz|bz?(2)|lz?(ma)))|gz|bz?(2)|lz?(ma))'
+		regex='t\(ar\(\.\(Z\|gz\|bz2\?\|lzma\)\)\?\|gz\|bz2\?\|lzma\)'
 		;;
 	*[Zz]*f)
 		ext='t?(ar.)@(gz|Z)'
@@ -2914,6 +2914,10 @@
 		ext='t?(ar.)bz?(2)'
 		regex='t\(ar\.\)\?bz2\?'
 		;;
+	*[J]*f)
+		ext='t?(ar.)lz?(ma)'
+		regex='t\(ar\.\)\?lzma\?'
+		;;
 	*)
 		_filedir
 		return 0
@@ -7344,7 +7348,7 @@
 		fi;
 	done
 	# strip suffix from info pages
-	COMPREPLY=( ${COMPREPLY[@]%.@(gz|bz2)} )
+	COMPREPLY=( ${COMPREPLY[@]%.@(gz|bz2|lzma)} )
 	COMPREPLY=( $( compgen -W '${COMPREPLY[@]%.*}' -- "${cur//\\\\/}" ) )
 
 	return 0

=== added file 'contrib/lzma'
--- a/contrib/lzma	1970-01-01 00:00:00 +0000
+++ b/contrib/lzma	2009-01-13 18:45:07 +0000
@@ -0,0 +1,39 @@
+# lzma(1) completion
+#
+have lzma &&
+_lzma()
+{
+	local cur prev xspec
+
+	COMPREPLY=()
+	cur=`_get_cword`
+	prev=${COMP_WORDS[COMP_CWORD-1]}
+
+	if [[ "$cur" == -* ]]; then
+		COMPREPLY=( $( compgen -W '-c -d -f -h -k -L -q -s \
+			-v -V -z -1 -2 -3 -4 -5 -6 -7 -8 -9 \
+			--help --decompress --compress --keep --force \
+			--test --stdout --quiet --verbose --license \
+			--version --small --fast --best --text' -- $cur ) )
+		return 0
+	fi
+
+	local IFS=$'\t\n'
+
+	xspec="*.lzma"
+	if [[ "$prev" == --* ]]; then
+		[[ "$prev" == --decompress || \
+			"$prev" == --list || \
+			"$prev" == --test ]] && xspec="!"$xspec
+		[[ "$prev" == --compress ]] && xspec=
+	elif [[ "$prev" == -* ]]; then
+		[[ "$prev" == -*[dt]* ]] && xspec="!"$xspec
+		[[ "$prev" == -*z* ]] && xspec=
+	fi
+
+	_expand || return 0
+
+	COMPREPLY=( $( compgen -f -X "$xspec" -- $cur ) \
+		$( compgen -d -- $cur ) )
+} &&
+complete -F _lzma $filenames lzma

=== modified file 'debian/changelog'
--- a/debian/changelog	2009-01-12 19:27:36 +0000
+++ b/debian/changelog	2009-01-13 18:45:07 +0000
@@ -66,6 +66,7 @@
   * Improved getent completion (Ville Skyttä, Guillaume Rousse).
   * (Re)fix gzip and bzip2 options completion (Ville Skyttä).
   * Improved svn filename completion (RHBZ: #430059) (Ville Skyttä).
+  * Add lzma completion (Guillaume Rousse, Ville Skyttä).
   * Merge from Gentoo:
     - fix 'find' completion so that it properly completes on -?(i)whilename.
       Patch by Ciaran McCreesh.



More information about the Bash-completion-commits mailing list