summaryrefslogtreecommitdiff
path: root/plugins
diff options
context:
space:
mode:
authorRejman <rejmans00@gmail.com>2024-03-02 01:21:30 +0100
committerCarlo Sala <carlosalag@protonmail.com>2024-03-02 01:22:01 +0100
commit3ee108ccb301dd4143080e8bfd8f9ae869957a2e (patch)
tree46d414dac0e9432d98c81b2e1bff0c359dd5517a /plugins
parente3216d15c2d2ee81716e4c2cbc999b4bed5694d9 (diff)
downloadzsh-3ee108ccb301dd4143080e8bfd8f9ae869957a2e.tar.gz
zsh-3ee108ccb301dd4143080e8bfd8f9ae869957a2e.tar.bz2
zsh-3ee108ccb301dd4143080e8bfd8f9ae869957a2e.zip
feat(git-commit): add `-a | --attention` flag
Refactor function as well to reduce flaws and increase stability Closes #12234 Co-authored-by: Carlo Sala <carlosalag@protonmail.com>
Diffstat (limited to 'plugins')
-rw-r--r--plugins/git-commit/git-commit.plugin.zsh25
1 files changed, 24 insertions, 1 deletions
diff --git a/plugins/git-commit/git-commit.plugin.zsh b/plugins/git-commit/git-commit.plugin.zsh
index 207c37e21..7ad349735 100644
--- a/plugins/git-commit/git-commit.plugin.zsh
+++ b/plugins/git-commit/git-commit.plugin.zsh
@@ -28,7 +28,30 @@ for _type in "${_git_commit_aliases[@]}"; do
*) _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'
+ local _func='!a() {
+local _scope _attention _message
+while [ $# -ne 0 ]; do
+case $1 in
+ -s | --scope )
+ if [ -z $2 ]; then
+ echo "Missing scope!"
+ return 1
+ fi
+ _scope="$2"
+ shift 2
+ ;;
+ -a | --attention )
+ _attention="!"
+ shift 1
+ ;;
+ * )
+ _message+=" $1"
+ shift 1
+ ;;
+esac
+done
+git commit -m "'$_type'${_scope:+(${_scope})}${_attention}:${_message}"
+}; a'
git config --global alias.$_alias "$_func"
done