summaryrefslogtreecommitdiff
path: root/plugins/extract
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/extract')
-rw-r--r--plugins/extract/README.md97
-rw-r--r--plugins/extract/_extract3
-rw-r--r--plugins/extract/extract.plugin.zsh4
3 files changed, 55 insertions, 49 deletions
diff --git a/plugins/extract/README.md b/plugins/extract/README.md
index e0f571521..7bedfb1c6 100644
--- a/plugins/extract/README.md
+++ b/plugins/extract/README.md
@@ -14,53 +14,56 @@ plugins=(... extract)
## Supported file extensions
-| Extension | Description |
-| :---------------- | :----------------------------------- |
-| `7z` | 7zip file |
-| `Z` | Z archive (LZW) |
-| `apk` | Android app file |
-| `aar` | Android library file |
-| `bz2` | Bzip2 file |
-| `cab` | Microsoft cabinet archive |
-| `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 |
-| `jar` | Java Archive |
-| `lrz` | LRZ archive |
-| `lz4` | LZ4 archive |
-| `lzma` | LZMA archive |
-| `obscpio` | cpio archive used on OBS |
-| `rar` | WinRAR archive |
-| `rpm` | RPM package |
-| `sublime-package` | Sublime Text package |
-| `tar` | Tarball |
-| `tar.bz2` | Tarball with bzip2 compression |
-| `tar.gz` | Tarball with gzip compression |
-| `tar.lrz` | Tarball with lrzip compression |
-| `tar.lz` | Tarball with lzip compression |
-| `tar.lz4` | Tarball with lz4 compression |
-| `tar.xz` | Tarball with lzma2 compression |
-| `tar.zma` | Tarball with lzma compression |
-| `tar.zst` | Tarball with zstd compression |
-| `tbz` | Tarball with bzip compression |
-| `tbz2` | Tarball with bzip2 compression |
-| `tgz` | Tarball with gzip compression |
-| `tlz` | Tarball with lzma compression |
-| `txz` | Tarball with lzma2 compression |
-| `tzst` | Tarball with zstd compression |
-| `vsix` | VS Code extension zip file |
-| `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 |
+| Extension | Description |
+| :---------------- | :-------------------------------------- |
+| `7z` | 7zip file |
+| `apk` | Android app file |
+| `aar` | Android library file |
+| `bz2` | Bzip2 file |
+| `cab` | Microsoft cabinet archive |
+| `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 |
+| `jar` | Java Archive |
+| `lrz` | LRZ archive |
+| `lz4` | LZ4 archive |
+| `lzma` | LZMA archive |
+| `obscpio` | cpio archive used on OBS |
+| `pk3` | Renamed Zip archive used by Quake games |
+| `pk4` | Renamed Zip archive used by Quake games |
+| `pk7` | Renamed 7zip file used by Quake games |
+| `rar` | WinRAR archive |
+| `rpm` | RPM package |
+| `sublime-package` | Sublime Text package |
+| `tar` | Tarball |
+| `tar.bz2` | Tarball with bzip2 compression |
+| `tar.gz` | Tarball with gzip compression |
+| `tar.lrz` | Tarball with lrzip compression |
+| `tar.lz` | Tarball with lzip compression |
+| `tar.lz4` | Tarball with lz4 compression |
+| `tar.xz` | Tarball with lzma2 compression |
+| `tar.zma` | Tarball with lzma compression |
+| `tar.zst` | Tarball with zstd compression |
+| `tbz` | Tarball with bzip compression |
+| `tbz2` | Tarball with bzip2 compression |
+| `tgz` | Tarball with gzip compression |
+| `tlz` | Tarball with lzma compression |
+| `txz` | Tarball with lzma2 compression |
+| `tzst` | Tarball with zstd compression |
+| `vsix` | VS Code extension zip file |
+| `war` | Web Application archive (Java-based) |
+| `whl` | Python wheel file |
+| `xpi` | Mozilla XPI module file |
+| `xz` | LZMA2 archive |
+| `Z` | Z archive (LZW) |
+| `zip` | Zip archive |
+| `zlib` | zlib archive |
+| `zst` | Zstandard file (zstd) |
+| `zpaq` | Zpaq file |
See [list of archive formats](https://en.wikipedia.org/wiki/List_of_archive_formats) for more information
regarding archive formats.
diff --git a/plugins/extract/_extract b/plugins/extract/_extract
index 0b43e86bc..6641443d3 100644
--- a/plugins/extract/_extract
+++ b/plugins/extract/_extract
@@ -19,6 +19,9 @@ local -a exts=(
lz4
lzma
obscpio
+ pk3
+ pk4
+ pk7
rar
rpm
sublime-package
diff --git a/plugins/extract/extract.plugin.zsh b/plugins/extract/extract.plugin.zsh
index aa3fd00e6..d8cbc8b94 100644
--- a/plugins/extract/extract.plugin.zsh
+++ b/plugins/extract/extract.plugin.zsh
@@ -76,11 +76,11 @@ EOF
(*.lz4) lz4 -d "$full_path" ;;
(*.lzma) unlzma "$full_path" ;;
(*.z) uncompress "$full_path" ;;
- (*.zip|*.war|*.jar|*.ear|*.sublime-package|*.ipa|*.ipsw|*.xpi|*.apk|*.aar|*.whl|*.vsix|*.crx) unzip "$full_path" ;;
+ (*.zip|*.war|*.jar|*.ear|*.sublime-package|*.ipa|*.ipsw|*.xpi|*.apk|*.aar|*.whl|*.vsix|*.crx|*.pk3|*.pk4) unzip "$full_path" ;;
(*.rar) unrar x -ad "$full_path" ;;
(*.rpm)
rpm2cpio "$full_path" | cpio --quiet -id ;;
- (*.7z | *.7z.[0-9]*) 7za x "$full_path" ;;
+ (*.7z | *.7z.[0-9]* | *.pk7) 7za x "$full_path" ;;
(*.deb)
command mkdir -p "control" "data"
ar vx "$full_path" > /dev/null