Browse Source

feat(extract): add `pbzip2` and `pixz` (#11435)

xiagw 1 year ago
parent
commit
4b5076b5ec
1 changed files with 6 additions and 3 deletions
  1. 6 3
      plugins/extract/extract.plugin.zsh

+ 6 - 3
plugins/extract/extract.plugin.zsh

@@ -30,12 +30,15 @@ EOF
     local extract_dir="${1:t:r}"
     local file="$1" full_path="${1:A}"
     case "${file:l}" in
-      (*.tar.gz|*.tgz) (( $+commands[pigz] )) && { pigz -dc "$file" | tar xv } || tar zxvf "$file" ;;
-      (*.tar.bz2|*.tbz|*.tbz2) tar xvjf "$file" ;;
+      (*.tar.gz|*.tgz)
+        (( $+commands[pigz] )) && { tar -I pigz -xvf "$file" } || tar zxvf "$file" ;;
+      (*.tar.bz2|*.tbz|*.tbz2)
+        (( $+commands[pbzip2] )) && { tar -I pbzip2 -xvf "$file" } || tar xvjf "$file" ;;
       (*.tar.xz|*.txz)
+        (( $+commands[pixz] )) && { tar -I pixz -xvf "$file" } || {
         tar --xz --help &> /dev/null \
         && tar --xz -xvf "$file" \
-        || xzcat "$file" | tar xvf - ;;
+        || xzcat "$file" | tar xvf - } ;;
       (*.tar.zma|*.tlz)
         tar --lzma --help &> /dev/null \
         && tar --lzma -xvf "$file" \