about summary refs log tree commit diff
diff options
context:
space:
mode:
authorAlex Xu (Hello71) <alex_y_xu@yahoo.ca>2021-09-24 12:43:00 -0400
committerOliver Kiddle <opk@zsh.org>2021-09-28 23:57:41 +0200
commit6459544417df9999299ed29f97cdde6b43bbddef (patch)
tree9378b67ffa5ba09425987de307cccc1bbdfc5611
parent1e9013941e7a830827acf6cffcbd1c407358ecfe (diff)
downloadzsh-6459544417df9999299ed29f97cdde6b43bbddef.tar.gz
zsh-6459544417df9999299ed29f97cdde6b43bbddef.tar.xz
zsh-6459544417df9999299ed29f97cdde6b43bbddef.zip
49444: libarchive tar can actually extract much more formats
-rw-r--r--ChangeLog3
-rw-r--r--Completion/Unix/Type/_tar_archive2
2 files changed, 4 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 5ae9f2fd1..79d7708f1 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
 2021-09-28  Oliver Kiddle  <opk@zsh.org>
 
+	* Alex Xu: 49444: Completion/Unix/Type/_tar_archive:
+	libarchive tar can actually extract much more formats
+
 	* Marlon Richert: 49423: Completion/Unix/Command/_gradle:
 	Add support for multi-project builds
 
diff --git a/Completion/Unix/Type/_tar_archive b/Completion/Unix/Type/_tar_archive
index 00555156b..bc49c4a3a 100644
--- a/Completion/Unix/Type/_tar_archive
+++ b/Completion/Unix/Type/_tar_archive
@@ -23,7 +23,7 @@ if [[ "$1" = *[urtx]* ]]; then
   elif [[ "$_cmd_variant[$service]" == gnu ]]; then
     _files "$expl[@]" -g '*.((tar|TAR)(.gz|.GZ|.Z|.bz2|.lzma|.xz|.zst|lzo|)|(tbz|tgz|txz|tzst|taz|taZ|tz2|tbz2|tlz))(-.)'
   elif [[ "$_cmd_variant[$service]" == libarchive ]]; then
-    _files "$expl[@]" -g '*.((tar|TAR)(.gz|.GZ|.Z|.bz2|.lzma|.xz|.zst|lzo|)|(tbz|tgz|txz|zip|tzst|tzo|taz|tbz2|tz2|tlz|tZ))(-.)'
+    _files "$expl[@]" -g '*.((tar|TAR|cpio)(.gz|.GZ|.Z|.bz2|.lzma|.xz|.zst|lzo|)|(tbz|tgz|txz|tzst|tzo|taz|tbz2|tz2|tlz|tZ|7z|ar|iso|deb|cab|lha|mtree|rar|warc|xar|zip))(-.)'
   else
     _files "$expl[@]" -g '*.(tar|TAR)(-.)'
   fi