@ -9,14 +9,27 @@ function __git_prompt_git() {
GIT_OPTIONAL_LOCKS = 0 command git " $@ "
}
# Outputs current branch info in prompt format
function git_prompt_info( ) {
# If we are on a folder not tracked by git, get out.
# Otherwise, check for hide-info at global and local repository level
if ! __git_prompt_git rev-parse --git-dir & > /dev/null \
|| [ [ " $( __git_prompt_git config --get oh-my-zsh.hide-info 2>/dev/null) " = = 1 ] ] ; then
return 0
fi
local ref
if [ [ " $( __git_prompt_git config --get oh-my-zsh.hide-status 2>/dev/null) " != "1" ] ] ; then
ref = $( __git_prompt_git symbolic-ref HEAD 2> /dev/null) || \
ref = $( __git_prompt_git rev-parse --short HEAD 2> /dev/null) || return 0
echo " $ZSH_THEME_GIT_PROMPT_PREFIX ${ ref #refs/heads/ } $( parse_git_dirty) $ZSH_THEME_GIT_PROMPT_SUFFIX "
ref = $( __git_prompt_git symbolic-ref --short HEAD 2> /dev/null) \
|| ref = $( __git_prompt_git rev-parse --short HEAD 2> /dev/null) \
|| return 0
# Use global ZSH_THEME_GIT_SHOW_UPSTREAM=1 for including upstream remote info
local upstream
if ( ( ${ +ZSH_THEME_GIT_SHOW_UPSTREAM } ) ) ; then
upstream = $( __git_prompt_git rev-parse --abbrev-ref --symbolic-full-name "@{upstream}" 2>/dev/null) \
&& upstream = " -> ${ upstream } "
fi
echo " ${ ZSH_THEME_GIT_PROMPT_PREFIX } ${ ref } ${ upstream } $( parse_git_dirty) ${ ZSH_THEME_GIT_PROMPT_SUFFIX } "
}
# Checks if working tree is dirty