#!/usr/bin/env zsh # Color definition GRAY="%F{237}" RED="%F{196}" ORANGE="%F{214}" BLUE="%F{032}" LBLUE="%F{075}" PURPLE="%F{105}" RESET="%f" git_prompt() { branch=$(git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/*\(.*\)/\1/') if [ ! -z $branch ]; then echo -n "$ORANGE$branch" if [ ! -z "$(git status --short)" ]; then echo "$RED+" fi fi } setopt PROMPT_SUBST # Primary Prompt [ "$EUID" -eq 0 ] && PS1="$RED%n@%m$RESET" || PS1="$GRAY%n@%m$RESET" # user@machine PS1+=" $BLUE%~" # Working directory PS1+="\$(git_prompt)" PS1+=" $PURPLE%(!.#.»)$RESET " # Final symbol (# or ») # Next line prompt PS2="$RED\ $RESET" # Right side prompt (on error) RPS1="%(?..$RED%? ↵$RESET)"