mirror of
				https://github.com/ohmyzsh/ohmyzsh.git
				synced 2024-05-11 05:55:17 +00:00 
			
		
		
		
	After `hg init` command, sometimes Mercurial does not create `.hg/branch` file so we'll use 'default' as fallback, which is the master branch in Mercurial repositories. Signed-off-by: Marc Cornellà <marc.cornella@live.com>
		
			
				
	
	
		
			32 lines
		
	
	
		
			787 B
		
	
	
	
		
			Bash
		
	
	
	
	
	
			
		
		
	
	
			32 lines
		
	
	
		
			787 B
		
	
	
	
		
			Bash
		
	
	
	
	
	
# Branch: displays the current Git or Mercurial branch fast.
 | 
						|
# Victor Torres <vpaivatorres@gmail.com>
 | 
						|
# Oct 2, 2015
 | 
						|
 | 
						|
function branch_prompt_info() {
 | 
						|
  # Defines path as current directory
 | 
						|
  local current_dir=$PWD
 | 
						|
  # While current path is not root path
 | 
						|
  while [[ $current_dir != '/' ]]
 | 
						|
  do
 | 
						|
    # Git repository
 | 
						|
    if [[ -d "${current_dir}/.git" ]]
 | 
						|
    then
 | 
						|
      echo '±' ${"$(<"$current_dir/.git/HEAD")"##*/}
 | 
						|
      return;
 | 
						|
    fi
 | 
						|
    # Mercurial repository
 | 
						|
    if [[ -d "${current_dir}/.hg" ]]
 | 
						|
    then
 | 
						|
      if [[ -f "$current_dir/.hg/branch" ]]
 | 
						|
      then
 | 
						|
        echo '☿' $(<"$current_dir/.hg/branch")
 | 
						|
      else
 | 
						|
        echo '☿ default'
 | 
						|
      fi
 | 
						|
      return;
 | 
						|
    fi
 | 
						|
    # Defines path as parent directory and keeps looking for :)
 | 
						|
    current_dir="${current_dir:h}"
 | 
						|
  done
 | 
						|
}
 |