summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobby Russell <robby@planetargon.com>2014-11-27 20:02:40 -0800
committerRobby Russell <robby@planetargon.com>2014-11-27 20:02:40 -0800
commit5acfdf5c9071a2f57acbcdbbc1a5e14d96c181fd (patch)
tree8f57e183c787b366571999d53e41404df33ac72e
parent4610add16dfb94aa865f177d12e7e8112419f256 (diff)
parentdb8eacf6fd0570c8e49e59a44c214bd927479861 (diff)
downloadzsh-5acfdf5c9071a2f57acbcdbbc1a5e14d96c181fd.tar.gz
zsh-5acfdf5c9071a2f57acbcdbbc1a5e14d96c181fd.tar.bz2
zsh-5acfdf5c9071a2f57acbcdbbc1a5e14d96c181fd.zip
Merge pull request #2871 from wrboyce/extract-pigz
use pigz if available in extract plugin
-rw-r--r--plugins/extract/extract.plugin.zsh4
1 files changed, 2 insertions, 2 deletions
diff --git a/plugins/extract/extract.plugin.zsh b/plugins/extract/extract.plugin.zsh
index a6e16ddf7..898d3d36e 100644
--- a/plugins/extract/extract.plugin.zsh
+++ b/plugins/extract/extract.plugin.zsh
@@ -38,7 +38,7 @@ function extract() {
file_name="$( basename "$1" )"
extract_dir="$( echo "$file_name" | sed "s/\.${1##*.}//g" )"
case "$1" in
- (*.tar.gz|*.tgz) tar xvzf "$1" ;;
+ (*.tar.gz|*.tgz) [ -z $commands[pigz] ] && tar zxvf "$1" || pigz -dc "$1" | tar xv ;;
(*.tar.bz2|*.tbz|*.tbz2) tar xvjf "$1" ;;
(*.tar.xz|*.txz) tar --xz --help &> /dev/null \
&& tar --xz -xvf "$1" \
@@ -47,7 +47,7 @@ function extract() {
&& tar --lzma -xvf "$1" \
|| lzcat "$1" | tar xvf - ;;
(*.tar) tar xvf "$1" ;;
- (*.gz) gunzip "$1" ;;
+ (*.gz) [ -z $commands[pigz] ] && gunzip "$1" || pigz -d "$1" ;;
(*.bz2) bunzip2 "$1" ;;
(*.xz) unxz "$1" ;;
(*.lzma) unlzma "$1" ;;