bash: support pretty format aliases
Users can have their own pretty format aliases since 8028184
(pretty:
add aliases for pretty formats, 2010-05-02), so let's offer those
after '--pretty=' and '--format=' for 'log' and 'show', too.
Similar to the completion of aliases, this will invoke 'git config'
each time pretty aliases needs to be completed, so changes in pretty.*
configuration will be reflected immediately.
Signed-off-by: SZEDER Gábor <szeder@ira.uka.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:

committed by
Junio C Hamano

parent
2a5da75579
commit
c3898111ac
@ -750,6 +750,19 @@ __git_compute_porcelain_commands ()
|
|||||||
: ${__git_porcelain_commands:=$(__git_list_porcelain_commands)}
|
: ${__git_porcelain_commands:=$(__git_list_porcelain_commands)}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
__git_pretty_aliases ()
|
||||||
|
{
|
||||||
|
local i IFS=$'\n'
|
||||||
|
for i in $(git --git-dir="$(__gitdir)" config --get-regexp "pretty\..*" 2>/dev/null); do
|
||||||
|
case "$i" in
|
||||||
|
pretty.*)
|
||||||
|
i="${i#pretty.}"
|
||||||
|
echo "${i/ */}"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
__git_aliases ()
|
__git_aliases ()
|
||||||
{
|
{
|
||||||
local i IFS=$'\n'
|
local i IFS=$'\n'
|
||||||
@ -1372,12 +1385,12 @@ _git_log ()
|
|||||||
fi
|
fi
|
||||||
case "$cur" in
|
case "$cur" in
|
||||||
--pretty=*)
|
--pretty=*)
|
||||||
__gitcomp "$__git_log_pretty_formats
|
__gitcomp "$__git_log_pretty_formats $(__git_pretty_aliases)
|
||||||
" "" "${cur##--pretty=}"
|
" "" "${cur##--pretty=}"
|
||||||
return
|
return
|
||||||
;;
|
;;
|
||||||
--format=*)
|
--format=*)
|
||||||
__gitcomp "$__git_log_pretty_formats
|
__gitcomp "$__git_log_pretty_formats $(__git_pretty_aliases)
|
||||||
" "" "${cur##--format=}"
|
" "" "${cur##--format=}"
|
||||||
return
|
return
|
||||||
;;
|
;;
|
||||||
@ -2136,12 +2149,12 @@ _git_show ()
|
|||||||
local cur="${COMP_WORDS[COMP_CWORD]}"
|
local cur="${COMP_WORDS[COMP_CWORD]}"
|
||||||
case "$cur" in
|
case "$cur" in
|
||||||
--pretty=*)
|
--pretty=*)
|
||||||
__gitcomp "$__git_log_pretty_formats
|
__gitcomp "$__git_log_pretty_formats $(__git_pretty_aliases)
|
||||||
" "" "${cur##--pretty=}"
|
" "" "${cur##--pretty=}"
|
||||||
return
|
return
|
||||||
;;
|
;;
|
||||||
--format=*)
|
--format=*)
|
||||||
__gitcomp "$__git_log_pretty_formats
|
__gitcomp "$__git_log_pretty_formats $(__git_pretty_aliases)
|
||||||
" "" "${cur##--format=}"
|
" "" "${cur##--format=}"
|
||||||
return
|
return
|
||||||
;;
|
;;
|
||||||
|
Reference in New Issue
Block a user