From c7ea4166927b694cf4b4b71a40917ffcc2711b59 Mon Sep 17 00:00:00 2001 From: Diki Andriansyah Date: Sun, 18 Dec 2016 14:14:53 +0700 Subject: [PATCH] Add archive.plugin.zsh --- plugins/archive/archive.plugin.zsh | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 plugins/archive/archive.plugin.zsh diff --git a/plugins/archive/archive.plugin.zsh b/plugins/archive/archive.plugin.zsh new file mode 100644 index 000000000..dabcd4e33 --- /dev/null +++ b/plugins/archive/archive.plugin.zsh @@ -0,0 +1,28 @@ +alias a=archive + +archive() { + if (( $# == 0 )); then + cat <<-'EOF' >&2 + Usage: archive [file ...] + EOF + fi + + while (( $# > 0 )); do + if [[ ! -f "$1" ]]; then + echo "archive: '$1' is not a valid file" >&2 + shift + continue + fi + + case "$1" in + (*.7z) 7z l "$1" ;; + (*.rar) unrar l "$1" ;; + (*.tar|*.tar.bz2|*.tar.gz|*.tar.lzma|*.tar.xz) tar tf "$1" ;; + (*.zip) unzip -l "$1" ;; + (*) + echo "archive: '$1' cannot be listed" >&2 + ;; + esac + shift + done +}