dotfiles/home/.config/sh/theme
2021-04-19 10:47:00 +02:00

43 lines
964 B
Bash
Executable file

#!/usr/bin/env zsh
# hide EOL sign ('%')
export PROMPT_EOL_MARK=""
# Color definition
GREEN="%F{047}"
RED="%F{196}"
ORANGE="%F{214}"
BLUE="%F{027}"
LBLUE="%F{075}"
PURPLE="%F{105}"
RESET="%f"
git_prompt() {
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 "$(git status --short)" ]; then
echo "$RED+"
fi
}
setopt promptsubst # enable command substitution in prompt
# Primary Prompt
[ "$EUID" -eq 0 ] && PS1="$RED%n$RESET" || PS1="$GREEN%n$RESET" # user@machine
#PS1+=" $BLUE%~" # Working directory
PS1+=" $BLUE%(5~|%-1~/…/%3~|%4~)"
PS1+="\$(git_prompt)"
PS1+=" $PURPLE%(!.#.»)$RESET " # Final symbol (# or »)
# Next line prompt
PS2="$RED\ $RESET"
# Right side prompt (on error)
RPS1="%(?..$RED%? ↵$RESET)"
# SSH Prompt
if [ -n "$SSH_CLIENT" ] || [ -n "$SSH_TTY" ]; then
PS1="$PURPLE(ssh) $RESET${PS1}"
fi