summaryrefslogtreecommitdiff
path: root/Completion/Unix
diff options
context:
space:
mode:
authorAxel Beckert <abe@deuxchevaux.org>2022-05-08 05:47:08 +0200
committerAxel Beckert <abe@deuxchevaux.org>2022-05-08 05:47:08 +0200
commit9529af723604dfe1c8152db11e1d216621c898d5 (patch)
treea512727d6ea897041fca8a6b09f7d5ddd753d7f1 /Completion/Unix
parentb09f4483416c54c1782824633dfabaf2ec0265b6 (diff)
parent32100208ecc26f8b70a0dbef6298bfd2b823d8d0 (diff)
downloadzsh-9529af723604dfe1c8152db11e1d216621c898d5.tar.gz
zsh-9529af723604dfe1c8152db11e1d216621c898d5.zip
New upstream version 5.8.1.3-test
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 "$@" -