bash-completion/bash-completion-20060301-lzma.patch

85 lines
2.2 KiB
Diff
Raw Normal View History

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