1
0
mirror of https://github.com/ohmyzsh/ohmyzsh.git synced 2024-12-13 00:54:01 +08:00
ohmyzsh/plugins/branch/branch.plugin.zsh

36 lines
859 B
Bash
Raw Normal View History

2015-10-03 10:16:56 +08:00
# Branch: displays the current Git or Mercurial branch fast.
# Victor Torres <vpaivatorres@gmail.com>
# Oct 2, 2015
function branch_prompt_info() {
# Start checking in current working directory
local branch="" dir="$PWD"
while [[ "$dir" != '/' ]]; do
# Found .git directory
if [[ -d "${dir}/.git" ]]; then
branch="${"$(<"${dir}/.git/HEAD")"##*/}"
echo '±' "${branch:gs/%/%%}"
return
2015-10-03 10:16:56 +08:00
fi
# Found .hg directory
if [[ -d "${dir}/.hg" ]]; then
if [[ -f "${dir}/.hg/branch" ]]; then
branch="$(<"${dir}/.hg/branch")"
else
branch="default"
fi
if [[ -f "${dir}/.hg/bookmarks.current" ]]; then
branch="${branch}/$(<"${dir}/.hg/bookmarks.current")"
fi
echo '☿' "${branch:gs/%/%%}"
return
2015-10-03 10:16:56 +08:00
fi
# Check parent directory
dir="${dir:h}"
2015-10-03 10:16:56 +08:00
done
}