浏览代码

extract: add RPM archive support (#8347)

Also more quiet extraction. -D for cpio was not used due to additional
output.
Richard Pöttler 4 年之前
父节点
当前提交
68c4c06283
共有 3 个文件被更改,包括 3 次插入1 次删除
  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

@@ -27,6 +27,7 @@ plugins=(... extract)
 | `jar`             | Java Archive                         |
 | `lzma`            | LZMA archive                         |
 | `rar`             | WinRAR archive                       |
+| `rpm`             | RPM package                          |
 | `sublime-package` | Sublime Text package                 |
 | `tar`             | Tarball                              |
 | `tar.bz2`         | Tarball with bzip2 compression       |

+ 1 - 1
plugins/extract/_extract

@@ -3,5 +3,5 @@
 
 _arguments \
   '(-r --remove)'{-r,--remove}'[Remove archive.]' \
-  "*::archive file:_files -g '(#i)*.(7z|Z|apk|aar|bz2|deb|gz|ipsw|jar|lzma|rar|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|tbz|tbz2|tgz|tlz|txz|war|whl|xpi|xz|zip)(-.)'" \
     && return 0

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

@@ -48,6 +48,7 @@ extract() {
 			(*.z) uncompress "$1" ;;
 			(*.zip|*.war|*.jar|*.sublime-package|*.ipsw|*.xpi|*.apk|*.aar|*.whl) unzip "$1" -d $extract_dir ;;
 			(*.rar) unrar x -ad "$1" ;;
+			(*.rpm) mkdir "$extract_dir" && cd "$extract_dir" && rpm2cpio "../$1" | cpio --quiet -id && cd .. ;;
 			(*.7z) 7za x "$1" ;;
 			(*.deb)
 				mkdir -p "$extract_dir/control"