Blob Blame History Raw
diff -up bash_completion/bash_completion~ bash_completion/bash_completion
--- bash_completion/bash_completion~	2006-03-01 18:20:18.000000000 +0200
+++ bash_completion/bash_completion	2008-09-10 19:02:25.000000000 +0300
@@ -796,7 +796,7 @@ _man()
 	# weed out directory path names and paths to man pages
 	COMPREPLY=( ${COMPREPLY[@]##*/?(:)} )
 	# strip suffix from man pages
-	COMPREPLY=( ${COMPREPLY[@]%.@(gz|bz2)} )
+	COMPREPLY=( ${COMPREPLY[@]%.@(gz|bz2|lzma)} )
 	COMPREPLY=( $( compgen -W '${COMPREPLY[@]%.*}' -- "${cur//\\\\/}" ) )
 
 	[[ "$prev" != [0-9ln] ]] && _filedir '[0-9ln]'
@@ -1971,7 +1971,7 @@ _rpm()
 		elif [[ ${COMP_WORDS[1]} == -b* ]]; then
 			_filedir 'spec'
 		else
-			_filedir '@(tgz|tar.@(gz|bz2))'
+			_filedir '@(tgz|tar.@(gz|bz2|lzma))'
 		fi
 		;;
 	--re@(build|compile))
@@ -1983,7 +1983,7 @@ _rpm()
 		fi
 		;;
 	--tarbuild)
-		_filedir '@(tgz|tar.@(gz|bz2))'
+		_filedir '@(tgz|tar.@(gz|bz2|lzma))'
 		;;
 	--@(re|add)sign)
 		_filedir 'rpm'
@@ -3356,6 +3356,44 @@ _bzip2()
 } &&
 complete -F _bzip2 $filenames bzip2
 
+# lzma(1) completion
+#
+have lzma &&
+_lzma()
+{
+	local cur prev xspec
+
+	COMPREPLY=()
+	cur=${COMP_WORDS[COMP_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
+
+	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
+
 # openssl(1) completion
 #
 have openssl && {
@@ -6968,7 +7006,7 @@ _info()
 		fi;
 	done  
 	# strip suffix from info pages
-	COMPREPLY=( ${COMPREPLY[@]%.@(gz|bz2)} )
+	COMPREPLY=( ${COMPREPLY[@]%.@(gz|bz2|lzma)} )
 	COMPREPLY=( $( compgen -W '${COMPREPLY[@]%.*}' -- "${cur//\\\\/}" ) )
 
 	return 0