about summary refs log tree commit diff
path: root/Completion/Unix
diff options
context:
space:
mode:
authorOliver Kiddle <opk@zsh.org>2020-08-21 17:41:08 +0200
committerOliver Kiddle <opk@zsh.org>2020-08-21 17:41:08 +0200
commitedb5459d618257c44d33cd02901b46bbbfa100f4 (patch)
treed27a952bc688cbbdda6f8b8026d08e1bcac487de /Completion/Unix
parente14e899ab96c4171544a244ddc39991512ec41c8 (diff)
downloadzsh-edb5459d618257c44d33cd02901b46bbbfa100f4.tar.gz
zsh-edb5459d618257c44d33cd02901b46bbbfa100f4.tar.xz
zsh-edb5459d618257c44d33cd02901b46bbbfa100f4.zip
47322: allow prefix with ssh cipher completion and add matching control for options
Diffstat (limited to 'Completion/Unix')
-rw-r--r--Completion/Unix/Command/_ssh6
1 files changed, 3 insertions, 3 deletions
diff --git a/Completion/Unix/Command/_ssh b/Completion/Unix/Command/_ssh
index 0775590e6..642f11bcb 100644
--- a/Completion/Unix/Command/_ssh
+++ b/Completion/Unix/Command/_ssh
@@ -269,8 +269,8 @@ _ssh () {
       if compset -P 1 '*='; then
         case "${IPREFIX#-o}" in
           (#i)(ciphers|macs|kexalgorithms|hostkeyalgorithms|pubkeyacceptedkeytypes|hostbasedkeytypes)=)
-          if ! compset -P +; then
-            _wanted append expl 'append to default' compadd + && ret=0
+          if ! compset -P '[+-]'; then
+            _wanted prefix expl 'relative to default' compadd - + - && ret=0
           fi
           ;;
         esac
@@ -475,7 +475,7 @@ _ssh () {
       else
         # old options are after the empty "\"-line
         _wanted values expl 'configure file option' \
-            compadd -M 'm:{a-z}={A-Z}' -q -S '=' - \
+            compadd -M 'm:{a-z}={A-Z} r:[^A-Z]||[A-Z]=* r:|=*' -q -S '=' - \
                 AddKeysToAgent \
                 AddressFamily \
                 BatchMode \