summaryrefslogtreecommitdiff
path: root/plugins/git-commit/git-commit.plugin.zsh
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/git-commit/git-commit.plugin.zsh')
-rw-r--r--plugins/git-commit/git-commit.plugin.zsh23
1 files changed, 23 insertions, 0 deletions
diff --git a/plugins/git-commit/git-commit.plugin.zsh b/plugins/git-commit/git-commit.plugin.zsh
new file mode 100644
index 000000000..70d541f21
--- /dev/null
+++ b/plugins/git-commit/git-commit.plugin.zsh
@@ -0,0 +1,23 @@
+_register() {
+ if ! git config --global --get-all alias.$1 &>/dev/null; then
+ git config --global alias.$1 '!a() { if [[ "$1" == "-s" || "$1" == "--scope" ]]; then git commit -m "'$1'(${2}): ${@:3}"; else git commit -m "'$1': ${@}"; fi }; a'
+ fi
+}
+
+aliases=(
+ 'build'
+ 'chore'
+ 'ci'
+ 'docs'
+ 'feat'
+ 'fix'
+ 'perf'
+ 'refactor'
+ 'revert'
+ 'style'
+ 'test'
+)
+
+for alias in "${aliases[@]}"; do
+ _register $alias
+done \ No newline at end of file