1
0
mirror of https://github.com/ohmyzsh/ohmyzsh.git synced 2024-11-27 10:59:32 +08:00
ohmyzsh/plugins/branch/branch.plugin.zsh
Victor Torres c195189231 Use default branch on recently created Mercurial repository. (#4985)
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>
2016-05-29 11:25:17 +02:00

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
}