a5c383258b760ad1c34d550edb86d7d63e8f5877

Author
Sorin Ionescu <sorin.ionescu@gmail.com>
Committer
Sorin Ionescu <sorin.ionescu@gmail.com>
Date

Message

Handle tar.xz and tar.lzma better (credit: @gwjo).

Diff

 1diff --git a/plugins/extract/extract.plugin.zsh b/plugins/extract/extract.plugin.zsh
 2index c58692fbfd66b794b90069aae18d14b6e19f93bb..8cc17f7d4be725da84afaf018cb8343e3048ad5d 100644
 3--- a/plugins/extract/extract.plugin.zsh
 4+++ b/plugins/extract/extract.plugin.zsh
 5@@ -2,7 +2,7 @@
 6 #          FILE:  extract.plugin.zsh
 7 #   DESCRIPTION:  oh-my-zsh plugin file.
 8 #        AUTHOR:  Sorin Ionescu (sorin.ionescu@gmail.com)
 9-#       VERSION:  1.0.0
10+#       VERSION:  1.0.1
11 # ------------------------------------------------------------------------------
12 
13 
14@@ -40,10 +40,12 @@ function extract() {
15     case "$1" in
16       (*.tar.gz|*.tgz) tar xvzf "$1" ;;
17       (*.tar.bz2|*.tbz|*.tbz2) tar xvjf "$1" ;;
18-      (*.tar.xz|*.txz) tar xvJf "$1" ;;
19-      # (*.tar.xz|*.txz) xzcat "$1" | tar xvf - ;;
20-      (*.tar.lzma|*.tlz) tar --lzma -xvf "$1" ;;
21-      # (*.tar.lzma|*.tlz) lzcat "$1" | tar xvf - ;;
22+      (*.tar.xz|*.txz) tar --xz --help &> /dev/null \
23+        && tar --xz -xvf "$1" \
24+        || xzcat "$1" | tar xvf - ;;
25+      (*.tar.zma|*.tlz) tar --lzma --help &> /dev/null \
26+        && tar --lzma -xvf "$1" \
27+        || lzcat "$1" | tar xvf - ;;
28       (*.tar) tar xvf "$1" ;;
29       (*.gz) gunzip "$1" ;;
30       (*.bz2) bunzip2 "$1" ;;