#!/bin/bash set -o pipefail [[ "$TERM" = *-color ]] && mitFarbe=true || mitFarbe=false [ -z "$PS1save" ] && PS1save="$PS1" if echo "$PS1save" | grep -q "\S" then PS1Ende="$(echo "$PS1save" | sed "s|^.*[^\\]\(\\\\\?\S\s*\)\$|\1|")" PS1="$(echo "$PS1save" | sed "s|\\\\\?\S\s*\$||")" else PS1Ende="" PS1="$PS1save" fi if branch=$(git branch 2>/dev/null | grep '\*' | cut -d' ' -f2) then PS1="$PS1 " git status --porcelain | grep -q "^.\S" && wtClean=false || wtClean=true git status --porcelain | grep -q "^\S" && idxClean=false || idxClean=true if $mitFarbe then if ! $wtClean then PS1="$PS1\[\033[01;31m\]" elif ! $idxClean then PS1="$PS1\[\033[01;33m\]" else PS1="$PS1\[\033[01;32m\]" fi fi PS1="$PS1$branch" if $mitFarbe then PS1="$PS1\[\033[00m\]" else if ! $wtClean then PS1="$PS1!" elif ! $idxClean then PS1="$PS1+" fi fi fi PS1="$PS1$PS1Ende"