summaryrefslogtreecommitdiff
path: root/plugins/extract
diff options
context:
space:
mode:
authorAaron N. Brock <AaronNBrock@gmail.com>2019-11-22 10:40:37 -0500
committerGitHub <noreply@github.com>2019-11-22 10:40:37 -0500
commit420e9d789a26223df9dd7df7625daf032a3f5083 (patch)
tree0ccfcd55671fd4d68b61a91188c984563384ee30 /plugins/extract
parent5722677884e85ae910daab4b4624745af74540e6 (diff)
parent76d6b0256398ad1becbc304a78f51bbacfee50e5 (diff)
downloadzsh-420e9d789a26223df9dd7df7625daf032a3f5083.tar.gz
zsh-420e9d789a26223df9dd7df7625daf032a3f5083.tar.bz2
zsh-420e9d789a26223df9dd7df7625daf032a3f5083.zip
Merge branch 'master' into colorize-chroma-support
Diffstat (limited to 'plugins/extract')
-rw-r--r--plugins/extract/README.md1
-rw-r--r--plugins/extract/_extract2
-rw-r--r--plugins/extract/extract.plugin.zsh1
3 files changed, 3 insertions, 1 deletions
diff --git a/plugins/extract/README.md b/plugins/extract/README.md
index 83b878c32..41b6a61f1 100644
--- a/plugins/extract/README.md
+++ b/plugins/extract/README.md
@@ -27,6 +27,7 @@ plugins=(... extract)
| `jar` | Java Archive |
| `lzma` | LZMA archive |
| `rar` | WinRAR archive |
+| `rpm` | RPM package |
| `sublime-package` | Sublime Text package |
| `tar` | Tarball |
| `tar.bz2` | Tarball with bzip2 compression |
diff --git a/plugins/extract/_extract b/plugins/extract/_extract
index 33d49fcc5..0257ce231 100644
--- a/plugins/extract/_extract
+++ b/plugins/extract/_extract
@@ -3,5 +3,5 @@
_arguments \
'(-r --remove)'{-r,--remove}'[Remove archive.]' \
- "*::archive file:_files -g '(#i)*.(7z|Z|apk|aar|bz2|deb|gz|ipsw|jar|lzma|rar|sublime-package|tar|tar.bz2|tar.gz|tar.xz|tar.zma|tbz|tbz2|tgz|tlz|txz|war|whl|xpi|xz|zip)(-.)'" \
+ "*::archive file:_files -g '(#i)*.(7z|Z|apk|aar|bz2|deb|gz|ipsw|jar|lzma|rar|rpm|sublime-package|tar|tar.bz2|tar.gz|tar.xz|tar.zma|tbz|tbz2|tgz|tlz|txz|war|whl|xpi|xz|zip)(-.)'" \
&& return 0
diff --git a/plugins/extract/extract.plugin.zsh b/plugins/extract/extract.plugin.zsh
index d3d847daf..27b9e50f1 100644
--- a/plugins/extract/extract.plugin.zsh
+++ b/plugins/extract/extract.plugin.zsh
@@ -48,6 +48,7 @@ extract() {
(*.z) uncompress "$1" ;;
(*.zip|*.war|*.jar|*.sublime-package|*.ipsw|*.xpi|*.apk|*.aar|*.whl) unzip "$1" -d $extract_dir ;;
(*.rar) unrar x -ad "$1" ;;
+ (*.rpm) mkdir "$extract_dir" && cd "$extract_dir" && rpm2cpio "../$1" | cpio --quiet -id && cd .. ;;
(*.7z) 7za x "$1" ;;
(*.deb)
mkdir -p "$extract_dir/control"