浏览代码

fix(git-commit): avoid conflict with `aliases` var

Closes #11876
Carlo Sala 8 月之前
父节点
当前提交
8e8ec1348b
共有 1 个文件被更改,包括 10 次插入6 次删除
  1. 10 6
      plugins/git-commit/git-commit.plugin.zsh

+ 10 - 6
plugins/git-commit/git-commit.plugin.zsh

@@ -1,10 +1,11 @@
-_register() {
-  if ! git config --global --get-all alias.$1 &>/dev/null; then
+function _git_commit_register {
+  if ! git config --global --get-all alias.$1 >/dev/null 2>&1; 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=(
+local -a _git_commit_aliases
+_git_commit_aliases=(
   'build'
   'chore'
   'ci'
@@ -18,6 +19,9 @@ aliases=(
   'test'
 )
 
-for alias in "${aliases[@]}"; do
-  _register $alias
-done
+for _alias in "${_git_commit_aliases[@]}"; do
+  _git_commit_register $_alias
+done
+
+unfunction _git_commit_register
+unset _alias