Browse Source

feat(extract): add support for `.zlib` and `.exe` files (#11085)

Fixes #11085
Marc Cornellà 11 months ago
parent
commit
b06663df23
2 changed files with 5 additions and 1 deletions
  1. 3 0
      plugins/extract/README.md
  2. 2 1
      plugins/extract/extract.plugin.zsh

+ 3 - 0
plugins/extract/README.md

@@ -25,6 +25,7 @@ plugins=(... extract)
 | `cpio`            | Cpio archive                         |
 | `deb`             | Debian package                       |
 | `ear`             | Enterprise Application aRchive       |
+| `exe`             | Windows executable file              |
 | `gz`              | Gzip file                            |
 | `ipa`             | iOS app package                      |
 | `ipsw`            | iOS firmware file                    |
@@ -52,9 +53,11 @@ plugins=(... extract)
 | `txz`             | Tarball with lzma2 compression       |
 | `tzst`            | Tarball with zstd compression        |
 | `war`             | Web Application archive (Java-based) |
+| `whl`             | Python wheel file                    |
 | `xpi`             | Mozilla XPI module file              |
 | `xz`              | LZMA2 archive                        |
 | `zip`             | Zip archive                          |
+| `zlib`            | zlib archive                         |
 | `zst`             | Zstandard file (zstd)                |
 | `zpaq`            | Zpaq file                            |
 

+ 2 - 1
plugins/extract/extract.plugin.zsh

@@ -83,9 +83,10 @@ EOF
         builtin cd -q ../data; extract ../data.tar.*
         builtin cd -q ..; command rm *.tar.* debian-binary ;;
       (*.zst) unzstd "$full_path" ;;
-      (*.cab) cabextract "$full_path" ;;
+      (*.cab|*.exe) cabextract "$full_path" ;;
       (*.cpio|*.obscpio) cpio -idmvF "$full_path" ;;
       (*.zpaq) zpaq x "$full_path" ;;
+      (*.zlib) zlib-flate -uncompress < "$full_path" > "${file:r}" ;;
       (*)
         echo "extract: '$file' cannot be extracted" >&2
         success=1 ;;