Você pode usar __git_complete
(definido em git-autocompletion.bash
) para instalar sua própria função e fazer com que sua função retorne à função original. Possivelmente assim:
function _ptid_git_complete_()
{
local line="${COMP_LINE}" # the entire line that is being completed
# check that the commit option was passed to git
if [[ "$line" == "git commit " ]]; then
# get the PivotalTracker Id from the branch name
ptid='git branch | grep -e "^\*" | sed 's/^\* //g' | sed 's/\-/ /g' | awk '{ print $(NF) }''
nodigits=$(echo $ptid | sed 's/[[:digit:]]//g')
if [ ! -z $nodigits ]; then
: # do nothing
else
COMPREPLY=("-m \"[#$ptid]")
fi
else
__git_main
fi
}
__git_complete git _ptid_git_complete_