[PATCH v2 40/45] completion: zsh: add correct removable suffix
- From
Felipe Contreras <felipe.contreras@gmail.com>
- Date
- Jun 18, 2021, 18:25 UTC
- Message-ID
- <20210618182518.697912-41-felipe.contreras@gmail.com>
- In-Reply-To
- <20210618182518.697912-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 0f2f0e5eb0..d425ff1d81 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.32.0