mirror of
https://github.com/ohmyzsh/ohmyzsh.git
synced 2024-11-19 21:41:07 +01:00
440b66da14
Issue: ohmyzsh/ohmyzsh#12627 This commit refactors the prior implementation which used git aliases and modified .gitconfig. This implementation uses proper git-dash commands, which are all just symlinks to one handler - omz_git_commit.
34 lines
653 B
Bash
Executable file
34 lines
653 B
Bash
Executable file
#!/usr/bin/env zsh
|
|
|
|
_omz_git_commit() {
|
|
0=${(%):-%x}
|
|
if [[ "$0" != */git-* ]]; then
|
|
echo >&2 "Expecting command named git-foo. Got '$0'."
|
|
return 1
|
|
fi
|
|
|
|
local _type="${0##*/git-}"
|
|
local _scope _attention _message
|
|
while [ $# -ne 0 ]; do
|
|
case $1 in
|
|
-s | --scope )
|
|
if [ -z $2 ]; then
|
|
echo >&2 "Missing scope!"
|
|
return 1
|
|
fi
|
|
_scope="$2"
|
|
shift 2
|
|
;;
|
|
-a | --attention )
|
|
_attention="!"
|
|
shift 1
|
|
;;
|
|
* )
|
|
_message="${_message} $1"
|
|
shift 1
|
|
;;
|
|
esac
|
|
done
|
|
git commit -m "${_type}${_scope:+(${_scope})}${_attention}:${_message}"
|
|
}
|
|
_omz_git_commit "$@"
|