git/contrib/completion
Jonatan Holmgren edd8ad18a6 completion: fix zsh alias listing for subsection aliases
The zsh completion function __git_zsh_cmd_alias() uses 'git config
--get-regexp' to enumerate aliases and then strips the "alias." prefix
from each key. For subsection-style aliases (alias.name.command), this
leaves "name.command" as the completion candidate instead of just
"name".

The bash completion does not have this problem because it goes through
'git --list-cmds=alias', which calls list_aliases() in C and already
handles both alias syntaxes correctly. However, zsh needs both the
alias name and its value for descriptive completion, which
--list-cmds=alias does not provide.

Add a hidden --aliases-for-completion option to 'git help', following
the existing --config-for-completion pattern. It outputs NUL-separated
"name\nvalue" pairs using list_aliases(), which correctly resolves both
the traditional (alias.name) and subsection (alias.name.command)
formats. Update __git_zsh_cmd_alias() to use it.

Signed-off-by: Jonatan Holmgren <jonatan@jontes.page>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2026-02-19 10:13:20 -08:00
..
.gitattributes
…
git-completion.bash completion: clarify support for short options and arguments 2025-12-07 10:05:49 +09:00
git-completion.tcsh
…
git-completion.zsh completion: fix zsh alias listing for subsection aliases 2026-02-19 10:13:20 -08:00
git-prompt.sh git-prompt: support custom 0-width PS1 markers 2024-08-20 08:28:19 -07:00
meson.build contrib/completion: install Bash completion 2025-04-22 08:26:12 -07:00