summaryrefslogtreecommitdiff
path: root/Completion/Unix
diff options
context:
space:
mode:
authorAxel Beckert <abe@deuxchevaux.org>2022-05-08 05:47:24 +0200
committerAxel Beckert <abe@deuxchevaux.org>2022-05-08 05:47:24 +0200
commit5615b53bbf3578a91bab8658b38d0352433510e7 (patch)
treebdf29751a810afd43ab7497d47229ba64d5707e8 /Completion/Unix
parent514524ee7be382a740e53e2a7c0247f2d68d7730 (diff)
parent9529af723604dfe1c8152db11e1d216621c898d5 (diff)
downloadzsh-5615b53bbf3578a91bab8658b38d0352433510e7.tar.gz
zsh-5615b53bbf3578a91bab8658b38d0352433510e7.zip
Update upstream source from tag 'upstream/5.8.1.3-test'
Update to upstream version '5.8.1.3-test' with Debian dir db59cf6a81e7a92e349f815dc21759ccb7ed689a
Diffstat (limited to 'Completion/Unix')
-rw-r--r--Completion/Unix/Command/_getopt7
-rw-r--r--Completion/Unix/Type/_path_files2
-rw-r--r--Completion/Unix/Type/_time_zone3
3 files changed, 7 insertions, 5 deletions
diff --git a/Completion/Unix/Command/_getopt b/Completion/Unix/Command/_getopt
index 3359818b5..a8b0f6fc9 100644
--- a/Completion/Unix/Command/_getopt
+++ b/Completion/Unix/Command/_getopt
@@ -2,9 +2,10 @@
local -a args aopts
-# Note: BusyBox getopt is borrowed straight from util-linux, so they're
-# basically identical
-if _pick_variant busybox=BusyBox util-linux='getopt*enhanced' unix --version; then
+# @todo BusyBox getopt is borrowed straight from util-linux, so they're nearly
+# identical, but not quite: BusyBox doesn't have -h and -V and often doesn't
+# support long options. So possibly this could be more accurate
+if _pick_variant busybox=BusyBox util-linux='(enhanced|util-linux)' unix --version; then
args=(
'(-a --alternative)'{-a,--alternative}'[allow long options with single -]'
'(: -)'{-h,--help}'[display help information]'
diff --git a/Completion/Unix/Type/_path_files b/Completion/Unix/Type/_path_files
index 06d9d8d51..d46dcbe5a 100644
--- a/Completion/Unix/Type/_path_files
+++ b/Completion/Unix/Type/_path_files
@@ -734,7 +734,7 @@ for prepath in "$prepaths[@]"; do
compadd "$tmp4[@]" -s "${Uopt:+$ISUFFIX}" $listopts - "$tmpdisp"
done
else
- [[ -n "$compstate[pattern_match]" ]] && SUFFIX="${SUFFIX:s./.*/}*"
+ [[ -n "$compstate[pattern_match]" ]] && SUFFIX="${SUFFIX:gs./.*/}*"
for i in "$tmp1[@]"; do
_list_files i "$prepath$realpath$testpath"
diff --git a/Completion/Unix/Type/_time_zone b/Completion/Unix/Type/_time_zone
index c437252a8..a7b63adcd 100644
--- a/Completion/Unix/Type/_time_zone
+++ b/Completion/Unix/Type/_time_zone
@@ -6,4 +6,5 @@ if (( ! $+_zoneinfo_dirs )); then
_zoneinfo_dirs=( /usr/{share,lib,share/lib}/{zoneinfo*,locale/TZ}(/) )
fi
-_wanted time-zones expl 'time zone' _files -g '[A-Z]*' -W _zoneinfo_dirs "$@" -
+_wanted time-zones expl 'time zone' \
+ _files -g '[A-Z]*' -M 'm:{a-z}={A-Z}' -W _zoneinfo_dirs "$@" -