summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog4
-rw-r--r--Completion/User/_tar2
-rw-r--r--Completion/User/_tar_archive12
3 files changed, 15 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index 1799992c4..3c7b12e62 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2001-03-12 Chmouel Boudjnah <chmouel@mandrakesoft.com>
+
+ * 13605: New tar options -j.
+
2001-03-12 Oliver Kiddle <opk@zsh.org>
* unposted: Completion/User/_zip, Completion/User/_hosts: handle
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