mirror of
				https://github.com/ItsDrike/dotfiles.git
				synced 2025-11-04 01:16:35 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			37 lines
		
	
	
	
		
			907 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
			
		
		
	
	
			37 lines
		
	
	
	
		
			907 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, no autotrim
 | 
						|
PS1+=" $BLUE%(5~|%-1~/…/%3~|%4~)" # Working directory + autotrim
 | 
						|
PS1+="\$(git_prompt)"
 | 
						|
PS1+=" $PURPLE%(!.#.»)$RESET " # Final symbol (# or »)
 | 
						|
 | 
						|
# Next line prompt
 | 
						|
PS2="$RED\ $RESET"
 | 
						|
 | 
						|
# Right side prompt (on error)
 | 
						|
RPS1="%(?..$RED%? ↵$RESET)"
 |