Improve git prompt function

This commit is contained in:
ItsDrike 2021-01-29 00:39:51 +01:00
parent 60920444f0
commit ba0bdefa6f
No known key found for this signature in database
GPG key ID: 252D306F545351FC

View file

@ -10,22 +10,20 @@ PURPLE="%F{105}"
RESET="%f" RESET="%f"
git_prompt() { git_prompt() {
branch=$(git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/*\(.*\)/\1/') ref=$(command git symbolic-ref HEAD 2> /dev/null) || ref=$(command git rev-parse --short HEAD 2> /dev/null) || return 0
echo -n "$ORANGE${ref#refs/heads/}"
if [ ! -z $branch ]; then
echo -n "$ORANGE$branch"
if [ ! -z "$(git status --short)" ]; then if [ ! -z "$(git status --short)" ]; then
echo "$RED+" echo "$RED+"
fi fi
fi
} }
setopt PROMPT_SUBST setopt PROMPT_SUBST
# Primary Prompt # Primary Prompt
[ "$EUID" -eq 0 ] && PS1="$RED%n@%m$RESET" || PS1="$GRAY%n@%m$RESET" # user@machine [ "$EUID" -eq 0 ] && PS1="$RED%n@%m$RESET" || PS1="$GRAY%n@%m$RESET" # user@machine
PS1+=" $BLUE%~" # Working directory PS1+=" $BLUE%~" # Working directory
PS1+="\$(git_prompt)" PS1+=" \$(git_prompt)"
PS1+=" $PURPLE%(!.#.»)$RESET " # Final symbol (# or ») PS1+=" $PURPLE%(!.#.»)$RESET " # Final symbol (# or »)
# Next line prompt # Next line prompt