mirror of
https://github.com/ohmyzsh/ohmyzsh.git
synced 2024-11-20 04:40:08 +00:00
extract: add zstd support (#8469)
This commit is contained in:
parent
664664f6cd
commit
1761685d3e
3 changed files with 9 additions and 1 deletions
|
@ -34,15 +34,18 @@ plugins=(... extract)
|
||||||
| `tar.gz` | Tarball with gzip compression |
|
| `tar.gz` | Tarball with gzip compression |
|
||||||
| `tar.xz` | Tarball with lzma2 compression |
|
| `tar.xz` | Tarball with lzma2 compression |
|
||||||
| `tar.zma` | Tarball with lzma compression |
|
| `tar.zma` | Tarball with lzma compression |
|
||||||
|
| `tar.zst` | Tarball with zstd compression |
|
||||||
| `tbz` | Tarball with bzip compression |
|
| `tbz` | Tarball with bzip compression |
|
||||||
| `tbz2` | Tarball with bzip2 compression |
|
| `tbz2` | Tarball with bzip2 compression |
|
||||||
| `tgz` | Tarball with gzip compression |
|
| `tgz` | Tarball with gzip compression |
|
||||||
| `tlz` | Tarball with lzma compression |
|
| `tlz` | Tarball with lzma compression |
|
||||||
| `txz` | Tarball with lzma2 compression |
|
| `txz` | Tarball with lzma2 compression |
|
||||||
|
| `tzst` | Tarball with zstd compression |
|
||||||
| `war` | Web Application archive (Java-based) |
|
| `war` | Web Application archive (Java-based) |
|
||||||
| `xpi` | Mozilla XPI module file |
|
| `xpi` | Mozilla XPI module file |
|
||||||
| `xz` | LZMA2 archive |
|
| `xz` | LZMA2 archive |
|
||||||
| `zip` | Zip archive |
|
| `zip` | Zip archive |
|
||||||
|
| `zst` | Zstandard file (zstd) |
|
||||||
|
|
||||||
See [list of archive formats](https://en.wikipedia.org/wiki/List_of_archive_formats) for
|
See [list of archive formats](https://en.wikipedia.org/wiki/List_of_archive_formats) for
|
||||||
more information regarding archive formats.
|
more information regarding archive formats.
|
||||||
|
|
|
@ -3,5 +3,5 @@
|
||||||
|
|
||||||
_arguments \
|
_arguments \
|
||||||
'(-r --remove)'{-r,--remove}'[Remove archive.]' \
|
'(-r --remove)'{-r,--remove}'[Remove archive.]' \
|
||||||
"*::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)(-.)'" \
|
"*::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|tar.zst|tbz|tbz2|tgz|tlz|txz|tzst|war|whl|xpi|xz|zip|zst)(-.)'" \
|
||||||
&& return 0
|
&& return 0
|
||||||
|
|
|
@ -40,6 +40,10 @@ extract() {
|
||||||
tar --lzma --help &> /dev/null \
|
tar --lzma --help &> /dev/null \
|
||||||
&& tar --lzma -xvf "$1" \
|
&& tar --lzma -xvf "$1" \
|
||||||
|| lzcat "$1" | tar xvf - ;;
|
|| lzcat "$1" | tar xvf - ;;
|
||||||
|
(*.tar.zst|*.tzst)
|
||||||
|
tar --zstd --help &> /dev/null \
|
||||||
|
&& tar --zstd -xvf "$1" \
|
||||||
|
|| zstdcat "$1" | tar xvf - ;;
|
||||||
(*.tar) tar xvf "$1" ;;
|
(*.tar) tar xvf "$1" ;;
|
||||||
(*.gz) (( $+commands[pigz] )) && pigz -dk "$1" || gunzip -k "$1" ;;
|
(*.gz) (( $+commands[pigz] )) && pigz -dk "$1" || gunzip -k "$1" ;;
|
||||||
(*.bz2) bunzip2 "$1" ;;
|
(*.bz2) bunzip2 "$1" ;;
|
||||||
|
@ -59,6 +63,7 @@ extract() {
|
||||||
cd ..; rm *.tar.* debian-binary
|
cd ..; rm *.tar.* debian-binary
|
||||||
cd ..
|
cd ..
|
||||||
;;
|
;;
|
||||||
|
(*.zst) unzstd "$1" ;;
|
||||||
(*)
|
(*)
|
||||||
echo "extract: '$1' cannot be extracted" >&2
|
echo "extract: '$1' cannot be extracted" >&2
|
||||||
success=1
|
success=1
|
||||||
|
|
Loading…
Reference in a new issue