[PATCH v7 44/49] completion: zsh: add correct removable suffix
- From
Felipe Contreras <felipe.contreras@gmail.com>
- Date
- Apr 1, 2023, 08:46 UTC
- Message-ID
- <20230401084626.304356-45-felipe.contreras@gmail.com>
- In-Reply-To
- <20230401084626.304356-1-felipe.contreras@gmail.com>
Zsh has a nice feature that allows a suffix to be automatically removed if followed by a space.
For example:
git log --prety=
If a space is typed, the suffix '=' is removed.
But we have to set the correct prefix first.
Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com> --- contrib/completion/git-completion.zsh | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/contrib/completion/git-completion.zsh b/contrib/completion/git-completion.zsh index 522b59cf5b..31bf88c1c5 100644 --- a/contrib/completion/git-completion.zsh +++ b/contrib/completion/git-completion.zsh @@ -52,7 +52,7 @@ functions[complete]="$old_complete" __gitcompadd () { - compadd -p "${2-}" -S "${3- }" -- ${=1} && _ret=0 + compadd -p "${2-}" -S "${3- }" -q -- ${=1} && _ret=0 } __gitcomp () @@ -80,7 +80,8 @@ __gitcomp_opts () if [[ -z "${4+set}" ]]; then case $c in - *=|*.) sfx="" ;; + *=) c="${c%=}"; sfx="=" ;; + *.) sfx="" ;; *) sfx=" " ;; esac else
-- 2.33.0