mirror of
https://github.com/ohmyzsh/ohmyzsh.git
synced 2024-12-13 09:15:55 +08:00
c195189231
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
|
|
}
|