[Bash-completion-commits] [SCM] bash-completion branch, master, updated. 1.3-35-gf973eb0
Ville Skyttä
ville.skytta at iki.fi
Sun Mar 20 16:43:23 UTC 2011
The following commit has been merged in the master branch:
commit f973eb043ced563230eb3e3f8634aa2d42ba0258
Author: Ville Skyttä <ville.skytta at iki.fi>
Date: Sun Mar 20 18:43:12 2011 +0200
More tar *[cr]*f completion improvements.
diff --git a/completions/tar b/completions/tar
index 1dd1031..bb57cef 100644
--- a/completions/tar
+++ b/completions/tar
@@ -3,12 +3,12 @@
have tar && {
_tar()
{
- local cur prev words ext regex tar untar
+ local cur prev words cword ext regex tar untar
COMPREPLY=()
- _get_comp_words_by_ref cur prev words
+ _get_comp_words_by_ref cur prev words cword
- if [ $COMP_CWORD -eq 1 ]; then
+ if [ $cword -eq 1 ]; then
COMPREPLY=( $( compgen -W 'c t x u r d A' -- "$cur" ) )
return 0
fi
@@ -19,15 +19,19 @@ _tar()
--*)
;;
?(-)*[cr]*f)
- ext='@(tar|gem|spkg)'
- case ${words[1]} in
- *a*) ext="$tars" ;;
- *z*) ext='t?(ar.)gz' ;;
- *Z*) ext='tar.Z' ;;
- *[jy]*) ext='t?(ar.)bz?(2)' ;;
- *J*) ext='t?(ar.)xz' ;;
- esac
- _filedir $ext
+ if [[ $cword -eq 2 ]]; then
+ ext='@(tar|gem|spkg)'
+ case ${words[1]} in
+ *a*) ext="$tars" ;;
+ *z*) ext='t?(ar.)gz' ;;
+ *Z*) ext='tar.Z' ;;
+ *[jy]*) ext='t?(ar.)bz?(2)' ;;
+ *J*) ext='t?(ar.)xz' ;;
+ esac
+ _filedir $ext
+ else
+ _filedir
+ fi
return 0
;;
+([^IZzJjy])f)
--
bash-completion
More information about the Bash-completion-commits
mailing list