运维开发网

zsh – 显示git branch是否有未提交的提交

运维开发网 https://www.qedev.com 2020-06-17 08:29 出处:网络
实际上我使用了我的zsh主题的略微修改版本闪烁.它显示了一个SSH语句,仅用于与本地终端的光学差异.
实际上我使用了我的zsh主题的略微修改版本闪烁.它显示了一个SSH语句,仅用于与本地终端的光学差异.

如果分支中有未提交的更改,它还会显示分支和一个小星.

是否有可能表明有未执行的承诺?也许还有一点指标.

# https://github.com/blinks zsh theme

function _prompt_char() {
  if $(git rev-parse --is-inside-work-tree >/dev/null 2>&1); then
    echo "%{%F{blue}%}±%{%f%k%b%}"
  else
    echo ' '
  fi
}

case ${SOLARIZED_THEME:-dark} in
    light) bkg=white;;
    *)     bkg=black;;
esac

ZSH_THEME_GIT_PROMPT_PREFIX=" [%{%B%F{blue}%}"
ZSH_THEME_GIT_PROMPT_SUFFIX="%{%f%k%b%K{${bkg}}%B%F{green}%}]"
ZSH_THEME_GIT_PROMPT_DIRTY=" %{%F{red}%}*%{%f%k%b%}"
ZSH_THEME_GIT_PROMPT_CLEAN=""

PROMPT='%{%f%k%b%}

%{%K{black}%B%F{green}%}%n%{%B%F{blue}%}@%{%B%F{cyan}%}%m%{%B%F{green}%} %{%B%F{red}%}!!SSH!! %{%b%F{yellow}%K{black}%}%~%{%B%F{green}%}$(git_prompt_info)%E%{%f%k%b%}
%{%K{black}%}$(_prompt_char)%{%K{black}%} %#%{%f%k%b%} '

RPROMPT='!%{%B%F{cyan}%}%!%{%f%k%b%}'

提前致谢

denym

你应该使用 vcs_info模块自带zsh.

有一个非常详细的教程告诉你如何做到这一点:http://arjanvandergaag.nl/blog/customize-zsh-prompt-with-vcs-info.html

通常,在正确加载vcs_info模块后,您只需要在$PROMPT变量中包含${vcs_info_msg_0_},但如果您不喜欢默认格式,则可以自定义提示格式.

BTW,vcs_info,顾名思义,也支持其他VCS,例如: svn,hg,cvs等

0

精彩评论

暂无评论...
验证码 换一张
取 消