ps1 730 B

12345678910111213141516171819202122232425
  1. RESET="\[\033[0m\]"
  2. RED="\[\033[0;31m\]"
  3. GREEN="\[\033[01;32m\]"
  4. BLUE="\[\033[01;34m\]"
  5. YELLOW="\[\033[0;33m\]"
  6. PS_LINE=``
  7. function parse_git_branch {
  8. PS_BRANCH=''
  9. PS_FILL=${PS_LINE:0:$COLUMNS}
  10. if [ -d .svn ]; then
  11. PS_BRANCH="(svn r$(svn info|awk '/Revision/{print $2}'))"
  12. return
  13. elif [ -f _FOSSIL_ -o -f .fslckout ]; then
  14. PS_BRANCH="(fossil $(fossil status|awk '/tags/{print $2}')) "
  15. return
  16. fi
  17. ref=$(git symbolic-ref HEAD 2> /dev/null) || return
  18. PS_BRANCH="(git ${ref#refs/heads/}) "
  19. }
  20. PROMPT_COMMAND=parse_git_branch
  21. PS_INFO="$GREEN\u@\h$RESET:$BLUE\w"
  22. PS_GIT="$YELLOW\$PS_BRANCH"
  23. PS_TIME="\[\033[\$((COLUMNS-10))G\] $RED[\t]"
  24. export PS1="\${PS_FILL}\[\033[0G\]${PS_INFO} ${PS_GIT}\n${RESET}\$ "