mirror of
				https://github.com/ohmyzsh/ohmyzsh.git
				synced 2025-11-04 05:01:17 +08:00 
			
		
		
		
	Added a possibility to display the remote branch and the number of commits you are ahead or behind
This commit is contained in:
		
							parent
							
								
									41104f8af8
								
							
						
					
					
						commit
						70c4a27fd6
					
				
							
								
								
									
										20
									
								
								lib/git.zsh
									
									
									
									
									
								
							
							
						
						
									
										20
									
								
								lib/git.zsh
									
									
									
									
									
								
							@ -36,16 +36,26 @@ git_remote_status() {
 | 
			
		||||
        ahead=$(command git rev-list ${hook_com[branch]}@{upstream}..HEAD 2>/dev/null | wc -l)
 | 
			
		||||
        behind=$(command git rev-list HEAD..${hook_com[branch]}@{upstream} 2>/dev/null | wc -l)
 | 
			
		||||
 | 
			
		||||
        if [ $ahead -eq 0 ] && [ $behind -gt 0 ]
 | 
			
		||||
        if [ $ahead -gt 0 ] && [ $behind -eq 0 ]
 | 
			
		||||
        then
 | 
			
		||||
            echo "$ZSH_THEME_GIT_PROMPT_BEHIND_REMOTE"
 | 
			
		||||
        elif [ $ahead -gt 0 ] && [ $behind -eq 0 ]
 | 
			
		||||
            git_remote_status="$ZSH_THEME_GIT_PROMPT_AHEAD_REMOTE"
 | 
			
		||||
            git_remote_status_detailed="$ZSH_THEME_GIT_PROMPT_AHEAD_REMOTE_COLOR$ZSH_THEME_GIT_PROMPT_AHEAD_REMOTE$((ahead))%{$reset_color%}"
 | 
			
		||||
        elif [ $behind -gt 0 ] && [ $ahead -eq 0 ] 
 | 
			
		||||
        then
 | 
			
		||||
            echo "$ZSH_THEME_GIT_PROMPT_AHEAD_REMOTE"
 | 
			
		||||
            git_remote_status="$ZSH_THEME_GIT_PROMPT_BEHIND_REMOTE"
 | 
			
		||||
            git_remote_status_detailed="$ZSH_THEME_GIT_PROMPT_BEHIND_REMOTE_COLOR$ZSH_THEME_GIT_PROMPT_BEHIND_REMOTE$((behind))%{$reset_color%}"
 | 
			
		||||
        elif [ $ahead -gt 0 ] && [ $behind -gt 0 ]
 | 
			
		||||
        then
 | 
			
		||||
            echo "$ZSH_THEME_GIT_PROMPT_DIVERGED_REMOTE"
 | 
			
		||||
            git_remote_status="$ZSH_THEME_GIT_PROMPT_DIVERGED_REMOTE"
 | 
			
		||||
            git_remote_status_detailed="$ZSH_THEME_GIT_PROMPT_AHEAD_REMOTE_COLOR$ZSH_THEME_GIT_PROMPT_AHEAD_REMOTE$((ahead))%{$reset_color%}$ZSH_THEME_GIT_PROMPT_BEHIND_REMOTE_COLOR$ZSH_THEME_GIT_PROMPT_BEHIND_REMOTE$((behind))%{$reset_color%}"
 | 
			
		||||
        fi
 | 
			
		||||
 | 
			
		||||
        if [ $ZSH_THEME_GIT_PROMPT_REMOTE_STATUS_DETAILED ]
 | 
			
		||||
        then
 | 
			
		||||
            git_remote_status="$ZSH_THEME_GIT_PROMPT_REMOTE_STATUS_PREFIX$remote$git_remote_status_detailed$ZSH_THEME_GIT_PROMPT_REMOTE_STATUS_SUFFIX"
 | 
			
		||||
        fi
 | 
			
		||||
 | 
			
		||||
        echo $git_remote_status
 | 
			
		||||
    fi
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										25
									
								
								themes/strug.zsh-theme
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										25
									
								
								themes/strug.zsh-theme
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,25 @@
 | 
			
		||||
# terminal coloring
 | 
			
		||||
export CLICOLOR=1
 | 
			
		||||
export LSCOLORS=dxFxCxDxBxegedabagacad
 | 
			
		||||
 | 
			
		||||
local git_branch='$(git_prompt_info)%{$reset_color%}$(git_remote_status)'
 | 
			
		||||
 | 
			
		||||
PROMPT="%{$fg[green]%}╭─%n@%m %{$reset_color%}%{$fg[yellow]%}in %~ %{$reset_color%}${git_branch}
 | 
			
		||||
%{$fg[green]%}╰\$ %{$reset_color%}"
 | 
			
		||||
 | 
			
		||||
ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg_bold[yellow]%}on "
 | 
			
		||||
ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}"
 | 
			
		||||
 | 
			
		||||
ZSH_THEME_GIT_PROMPT_DIRTY="%{$reset_color%}%{$fg[red]%} ✘ %{$reset_color%}"
 | 
			
		||||
ZSH_THEME_GIT_PROMPT_CLEAN="%{$fg[green]%} ✔ %{$reset_color%}"
 | 
			
		||||
 | 
			
		||||
ZSH_THEME_GIT_PROMPT_REMOTE_STATUS_DETAILED=true
 | 
			
		||||
ZSH_THEME_GIT_PROMPT_REMOTE_STATUS_PREFIX="%{$fg[yellow]%}("
 | 
			
		||||
ZSH_THEME_GIT_PROMPT_REMOTE_STATUS_SUFFIX="%{$fg[yellow]%})%{$reset_color%}"
 | 
			
		||||
 | 
			
		||||
ZSH_THEME_GIT_PROMPT_AHEAD_REMOTE=" +"
 | 
			
		||||
ZSH_THEME_GIT_PROMPT_AHEAD_REMOTE_COLOR=%{$fg[green]%}
 | 
			
		||||
 | 
			
		||||
ZSH_THEME_GIT_PROMPT_BEHIND_REMOTE=" -"
 | 
			
		||||
ZSH_THEME_GIT_PROMPT_BEHIND_REMOTE_COLOR=%{$fg[red]%}
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user