Browse Source

feat(extract): add cpio support

Xeonacid 3 years ago
parent
commit
0b506fea0c
3 changed files with 3 additions and 1 deletions
  1. 1 0
      plugins/extract/README.md
  2. 1 1
      plugins/extract/_extract
  3. 1 0
      plugins/extract/extract.plugin.zsh

+ 1 - 0
plugins/extract/README.md

@@ -22,6 +22,7 @@ plugins=(... extract)
 | `aar`             | Android library file                 |
 | `aar`             | Android library file                 |
 | `bz2`             | Bzip2 file                           |
 | `bz2`             | Bzip2 file                           |
 | `cab`             | Microsoft cabinet archive            |
 | `cab`             | Microsoft cabinet archive            |
+| `cpio`            | Cpio archive                         |
 | `deb`             | Debian package                       |
 | `deb`             | Debian package                       |
 | `ear`             | Enterprise Application aRchive       |
 | `ear`             | Enterprise Application aRchive       |
 | `gz`              | Gzip file                            |
 | `gz`              | Gzip file                            |

+ 1 - 1
plugins/extract/_extract

@@ -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|cab|deb|ear|gz|ipa|ipsw|jar|lrz|lz4|lzma|rar|rpm|sublime-package|tar|tar.bz2|tar.gz|tar.lrz|tar.lz|tar.lz4|tar.xz|tar.zma|tar.zst|tbz|tbz2|tgz|tlz|txz|tzst|war|whl|xpi|xz|zip|zst)(-.)'" \
+  "*::archive file:_files -g '(#i)*.(7z|Z|apk|aar|bz2|cab|cpio|deb|ear|gz|ipa|ipsw|jar|lrz|lz4|lzma|rar|rpm|sublime-package|tar|tar.bz2|tar.gz|tar.lrz|tar.lz|tar.lz4|tar.xz|tar.zma|tar.zst|tbz|tbz2|tgz|tlz|txz|tzst|war|whl|xpi|xz|zip|zst)(-.)'" \
     && return 0
     && return 0

+ 1 - 0
plugins/extract/extract.plugin.zsh

@@ -70,6 +70,7 @@ extract() {
 			;;
 			;;
 			(*.zst) unzstd "$1" ;;
 			(*.zst) unzstd "$1" ;;
 			(*.cab) cabextract -d "$extract_dir" "$1" ;;
 			(*.cab) cabextract -d "$extract_dir" "$1" ;;
+			(*.cpio) cpio -idmvF "$1" ;;
 			(*)
 			(*)
 				echo "extract: '$1' cannot be extracted" >&2
 				echo "extract: '$1' cannot be extracted" >&2
 				success=1
 				success=1