浏览代码

refactor(bzr): simplify and improve code (#12716)

mnv 1 月之前
父节点
当前提交
00b9b62385
共有 1 个文件被更改,包括 12 次插入8 次删除
  1. 12 8
      lib/bzr.zsh

+ 12 - 8
lib/bzr.zsh

@@ -1,10 +1,14 @@
 ## Bazaar integration
-## Just works with the GIT integration just add $(bzr_prompt_info) to the PROMPT
+## Just works with the GIT integration. Add $(bzr_prompt_info) to the PROMPT
 function bzr_prompt_info() {
-	BZR_CB=`bzr nick 2> /dev/null | grep -v "ERROR" | cut -d ":" -f2 | awk -F / '{print "bzr::"$1}'`
-	if [ -n "$BZR_CB" ]; then
-		BZR_DIRTY=""
-		[[ -n `bzr status` ]] && BZR_DIRTY=" %{$fg[red]%} * %{$fg[green]%}"
-		echo "$ZSH_THEME_SCM_PROMPT_PREFIX$BZR_CB$BZR_DIRTY$ZSH_THEME_GIT_PROMPT_SUFFIX"
-	fi
-}
+    local bzr_branch
+    bzr_branch=$(bzr nick 2>/dev/null) || return
+
+    if [[ -n "$bzr_branch" ]]; then
+        local bzr_dirty=""
+        if [[ -n $(bzr status 2>/dev/null) ]]; then
+            bzr_dirty=" %{$fg[red]%}*%{$reset_color%}"
+        fi
+        printf "%s%s%s%s" "$ZSH_THEME_SCM_PROMPT_PREFIX" "bzr::${bzr_branch##*:}" "$bzr_dirty" "$ZSH_THEME_GIT_PROMPT_SUFFIX"
+    fi
+}