mirror of
				https://github.com/ohmyzsh/ohmyzsh.git
				synced 2024-05-11 05:55:17 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			41 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
			
		
		
	
	
			41 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
| # get the name of the branch we are on
 | |
| function git_prompt_info() {
 | |
|   ref=$(git symbolic-ref HEAD 2> /dev/null) || return
 | |
|   echo "$ZSH_THEME_GIT_PROMPT_PREFIX${ref#refs/heads/}$(parse_git_dirty)$ZSH_THEME_GIT_PROMPT_SUFFIX"
 | |
| }
 | |
| 
 | |
| parse_git_dirty () {
 | |
|   if [[ -n $(git status -s 2> /dev/null) ]]; then
 | |
|     echo "$ZSH_THEME_GIT_PROMPT_DIRTY"
 | |
|   else
 | |
|     echo "$ZSH_THEME_GIT_PROMPT_CLEAN"
 | |
|   fi
 | |
| }
 | |
| 
 | |
| # get the status of the working tree
 | |
| git_prompt_status() {
 | |
|   INDEX=$(git status --porcelain 2> /dev/null)
 | |
|   STATUS=""
 | |
|   if $(echo "$INDEX" | grep '^?? ' &> /dev/null); then
 | |
|     STATUS="$ZSH_THEME_GIT_PROMPT_UNTRACKED$STATUS"
 | |
|   fi
 | |
|   if $(echo "$INDEX" | grep '^A  ' &> /dev/null); then
 | |
|     STATUS="$ZSH_THEME_GIT_PROMPT_ADDED$STATUS"
 | |
|   elif $(echo "$INDEX" | grep '^M  ' &> /dev/null); then
 | |
|     STATUS="$ZSH_THEME_GIT_PROMPT_ADDED$STATUS"
 | |
|   fi
 | |
|   if $(echo "$INDEX" | grep '^ M ' &> /dev/null); then
 | |
|     STATUS="$ZSH_THEME_GIT_PROMPT_MODIFIED$STATUS"
 | |
|   fi
 | |
|   if $(echo "$INDEX" | grep '^R  ' &> /dev/null); then
 | |
|     STATUS="$ZSH_THEME_GIT_PROMPT_RENAMED$STATUS"
 | |
|   fi
 | |
|   if $(echo "$INDEX" | grep '^ D ' &> /dev/null); then
 | |
|     STATUS="$ZSH_THEME_GIT_PROMPT_DELETED$STATUS"
 | |
|   fi
 | |
|   if $(echo "$INDEX" | grep '^UU ' &> /dev/null); then
 | |
|     STATUS="$ZSH_THEME_GIT_PROMPT_UNMERGED$STATUS"
 | |
|   fi
 | |
|   echo $STATUS
 | |
| }
 |