summaryrefslogtreecommitdiff
path: root/plugins
diff options
context:
space:
mode:
Diffstat (limited to 'plugins')
-rw-r--r--plugins/extract/extract.plugin.zsh10
1 files changed, 9 insertions, 1 deletions
diff --git a/plugins/extract/extract.plugin.zsh b/plugins/extract/extract.plugin.zsh
index d8cbc8b94..aed77e7d7 100644
--- a/plugins/extract/extract.plugin.zsh
+++ b/plugins/extract/extract.plugin.zsh
@@ -77,7 +77,15 @@ EOF
(*.lzma) unlzma "$full_path" ;;
(*.z) uncompress "$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" ;;
+ (*.rar)
+ if (( $+commands[unrar] )); then
+ unrar x -ad "$full_path"
+ elif (( $+commands[unar] )); then
+ unar -o . "$full_path"
+ else
+ echo "extract: cannot extract RAR files: install unrar or unar" >&2
+ success=1
+ fi ;;
(*.rpm)
rpm2cpio "$full_path" | cpio --quiet -id ;;
(*.7z | *.7z.[0-9]* | *.pk7) 7za x "$full_path" ;;