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
 | |
| }
 |