summaryrefslogtreecommitdiff
path: root/plugins/universalarchive/universalarchive.plugin.zsh
diff options
context:
space:
mode:
authorMarc Cornellà <hello@mcornella.com>2021-01-10 17:22:52 +0100
committerMarc Cornellà <hello@mcornella.com>2021-01-10 18:34:18 +0100
commit3635d7cf7e300b5ba746c384fc3e87a35561e62d (patch)
tree06b6ac76ed8e2a78aee9233114b6ffde2554b03d /plugins/universalarchive/universalarchive.plugin.zsh
parentc9bf8b4a84d4ae392cf1bdd6a4a7c7c4f7710b92 (diff)
downloadzsh-3635d7cf7e300b5ba746c384fc3e87a35561e62d.tar.gz
zsh-3635d7cf7e300b5ba746c384fc3e87a35561e62d.tar.bz2
zsh-3635d7cf7e300b5ba746c384fc3e87a35561e62d.zip
fix(universalarchive): make plugin zsh-only to fix `realpath` not found error
Fixes #9586
Diffstat (limited to 'plugins/universalarchive/universalarchive.plugin.zsh')
-rw-r--r--plugins/universalarchive/universalarchive.plugin.zsh16
1 files changed, 8 insertions, 8 deletions
diff --git a/plugins/universalarchive/universalarchive.plugin.zsh b/plugins/universalarchive/universalarchive.plugin.zsh
index 5a661a5b0..b287c22b2 100644
--- a/plugins/universalarchive/universalarchive.plugin.zsh
+++ b/plugins/universalarchive/universalarchive.plugin.zsh
@@ -10,28 +10,28 @@ Supported archive formats are:
tlz (tar.lzma), txz (tar.xz), tZ (tar.Z), xz, Z, zip, and zst."
if [[ $# -lt 2 ]]; then
- echo >&2 "$usage"
+ print -u2 -- "$usage"
return 1
fi
local ext="$1"
- local input="$(realpath "$2")"
+ local input="${2:a}"
shift
if [[ ! -e "$input" ]]; then
- echo >&2 "$input not found"
+ print -u2 -- "$input not found"
return 1
fi
# generate output file name
local output
if [[ $# -gt 1 ]]; then
- output="$(basename "${input%/*}")"
+ output="${input:h:t}"
elif [[ -f "$input" ]]; then
- output="$(basename "${input%.[^.]*}")"
+ output="${input:r:t}"
elif [[ -d "$input" ]]; then
- output="$(basename "${input}")"
+ output="${input:t}"
fi
# if output file exists, generate a random name
@@ -44,7 +44,7 @@ tlz (tar.lzma), txz (tar.xz), tZ (tar.Z), xz, Z, zip, and zst."
# safety check
if [[ -f "$output" ]]; then
- echo >&2 "output file '$output' already exists. Aborting"
+ print -u2 -- "output file '$output' already exists. Aborting"
return 1
fi
@@ -65,6 +65,6 @@ tlz (tar.lzma), txz (tar.xz), tZ (tar.Z), xz, Z, zip, and zst."
Z) compress -vcf "${@}" > "${output}" ;;
zip) zip -rull "${output}" "${@}" ;;
zst) zstd -c -T0 "${@}" > "${output}" ;;
- *) echo >&2 "$usage"; return 1 ;;
+ *) print -u2 -- "$usage"; return 1 ;;
esac
}