about summary refs log tree commit diff
path: root/Completion/User
diff options
context:
space:
mode:
authorChmouel Boudjnah <chmou@users.sourceforge.net>2001-03-12 12:50:57 +0000
committerChmouel Boudjnah <chmou@users.sourceforge.net>2001-03-12 12:50:57 +0000
commit42ea0a6011a40b988eee720e4ad0f277247a7511 (patch)
treecee50eda441904fab71a770e33b0ebc0ce2c7fb5 /Completion/User
parent58322ed03c4a97e6c53459a2fcc03c6594253431 (diff)
downloadzsh-42ea0a6011a40b988eee720e4ad0f277247a7511.tar.gz
zsh-42ea0a6011a40b988eee720e4ad0f277247a7511.tar.xz
zsh-42ea0a6011a40b988eee720e4ad0f277247a7511.zip
New tar options -j.
Diffstat (limited to 'Completion/User')
-rw-r--r--Completion/User/_tar2
-rw-r--r--Completion/User/_tar_archive12
2 files changed, 11 insertions, 3 deletions
diff --git a/Completion/User/_tar b/Completion/User/_tar
index 9a71d8cef..634917233 100644
--- a/Completion/User/_tar
+++ b/Completion/User/_tar
@@ -125,6 +125,8 @@ elif [[ ( "$_tar_cmd" = *[xt]* || -n $del ) && -n "$tf" ]]; then
 
   if [[ $_tar_cmd = *z* ]]; then
     largs=-tzf
+  elif [[ $_tar_cmd = *j* ]]; then
+    largs=-tjf
   elif [[ $_tar_cmd = *y* ]]; then
     largs=-tyf
   elif [[ $_tar_cmd = *Z* ]]; then
diff --git a/Completion/User/_tar_archive b/Completion/User/_tar_archive
index 58e436c4d..e5a754e93 100644
--- a/Completion/User/_tar_archive
+++ b/Completion/User/_tar_archive
@@ -7,14 +7,20 @@
 # If your version of `tar' supports this you may want to complete
 # things like `host:file' or `user@host:file' here.
 
+local expl
+
 [[ $# -eq 0 && $+_tar_cmd -ne 0 ]] && set "$_tar_cmd"
 
+_description files expl 'archive file'
+
 if [[ "$1" = *[tx]* ]]; then
   if [[ "$1" = *[zZ]* ]]; then
-    _files -g '*.((tar|TAR).(gz|GZ|Z)|.tgz)'
+    _files "$expl[@]" -g '*.((tar|TAR).(gz|GZ|Z)|tgz)'
+  elif [[ "$1" = *[Ijy]* ]]; then
+    _files "$expl[@]" -g '*.(tar|TAR).bz2'
   else
-    _files -g '*.(tar|TAR)'
+    _files "$expl[@]" -g '*.(tar|TAR)'
   fi
 else
-  _files
+  _files "$expl[@]"
 fi