@ -1,3 +1,8 @@
if git config --global --get-all alias.$_alias >/dev/null 2>& 1 \
&& ! git config --global --get-all oh-my-zsh.git-commit-alias >/dev/null 2>& 1; then
return
fi
local -a _git_commit_aliases
_git_commit_aliases = (
'build'
@ -14,19 +19,18 @@ _git_commit_aliases=(
'wip'
)
local alias type
for type in " ${ _git_commit_aliases [@] } " ; do
local _alias _ type
for _type in " ${ _git_commit_aliases [@] } " ; do
# an alias can't be named "revert" because the git command takes precedence
# https://stackoverflow.com/a/3538791
case " $type " in
revert) alias = rev ; ;
*) alias = $type ; ;
case " $_ type " in
revert) _ alias= rev ; ;
*) _ alias= $_ type ; ;
esac
local func = '!a() { if [ "$1" = "-s" ] || [ "$1" = "--scope" ]; then local scope="$2"; shift 2; git commit -m "' $type '(${scope}): ${@}"; else git commit -m "' $type ': ${@}"; fi }; a'
if ! git config --global --get-all alias.${ alias } >/dev/null 2>& 1; then
git config --global alias.${ alias } " $func "
fi
local _func = '!a() { if [ "$1" = "-s" ] || [ "$1" = "--scope" ]; then local scope="$2"; shift 2; git commit -m "' $type '(${scope}): ${@}"; else git commit -m "' $type ': ${@}"; fi }; a'
git config --global alias.$_alias " $_func "
done
unset _git_commit_aliases alias type func
git config --global oh-my-zsh.git-commit-alias "true"