You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
35 lines
859 B
35 lines
859 B
# 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 |
|
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 |
|
fi |
|
|
|
# Check parent directory |
|
dir="${dir:h}" |
|
done |
|
}
|
|
|