75 lines
		
	
	
	
		
			1.8 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
			
		
		
	
	
			75 lines
		
	
	
	
		
			1.8 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
| #!/bin/zsh
 | |
| 
 | |
| autoload -U colors && colors
 | |
| 
 | |
| . $MPATH/spectrum
 | |
| reset="%{${reset_color}%}"
 | |
| 
 | |
| #
 | |
| # 256-color-term or rxvt with wrong tput output
 | |
| #
 | |
| if [[ "`tput colors`" == "256" ]] || [[ "`tput colors`" == "88" ]] ; then
 | |
| 	pathcolor="%{${FG[27]}%}"
 | |
| 	ropathcolor="%{${FG[92]}%}"
 | |
| 
 | |
| 	gitdirty="%{${FX[bold]}${FG[160]}%}"
 | |
| 	gitstaged="%{${FX[bold]}${FG[34]}%}"
 | |
| 	gitclean="%{${FG[240]}%}"
 | |
| 	stycolor="%{${FG[240]}%}"
 | |
| 	exitcolor=$gitdirty
 | |
| 	rpscolor="%{${FG[238]}%}"
 | |
| 	gituntracked="%{$FX[bold]$FG[253]%}●%{$reset$rpscolor%}"
 | |
| 
 | |
| 	local usercolor_base
 | |
| 	if [ "$EUID" = "0" ] || [ "$USER" = "root" ] ; then
 | |
| 		usercolor_base=196
 | |
| 		usercolor_mod=30
 | |
| 	else
 | |
| 		usercolor_base=47
 | |
| 		usercolor_mod=28
 | |
| 
 | |
| 	fi
 | |
| 	if [ ! -z $SSH_CLIENT ] || [ ! -z $SSH_CONNECTION ]; then
 | |
| 		usercolor_base=$((usercolor_base + usercolor_mod))
 | |
| 		hostcolor="%{${FG[226]}%}"
 | |
| 	else
 | |
| 		hostcolor=$gitclean
 | |
| 	fi
 | |
| 	usercolor="%{${FX[bold]}${FG[$usercolor_base]}%}"
 | |
| 	# 8-color-term
 | |
| 	if [ -e /etc/DIR_COLORS.256 ] ; then
 | |
| 		eval "$(dircolors /etc/DIR_COLORS.256)"
 | |
| 	elif [ -e /etc/DIR_COLORS ]; then
 | |
| 		eval "$(dircolors /etc/DIR_COLORS)"
 | |
| 	fi
 | |
| else
 | |
| 	pathcolor="%{$fg_bold[blue]}%}"
 | |
| 
 | |
| 	gitdirty="%{${fg[yellow]}%}"
 | |
| 	gitstaged="%{${fg[green]}%}"
 | |
| 	gitclean="%{${fg[white]}%}"
 | |
| 	vcs_revision="%{${fg_bold[black]}%}"
 | |
| 
 | |
| 	exitcolor="$gitdirty"
 | |
| 	rpscolor="%{$fg_bold[black]}%}"
 | |
| 
 | |
| 	if [ "$EUID" = "0" ] || [ "$USER" = "root" ] ; then
 | |
| 		if [ ! -z $SSH_CLIENT ]; then
 | |
| 			usercolor="%{${fg_bold[yellow]}%}"
 | |
| 			hostcolor="%{${fg_no_bold[blue]}%}"
 | |
| 		else
 | |
| 			usercolor="%{${fg_bold[red]}%}"
 | |
| 			hostcolor="%{${fg_bold[black]}%}"
 | |
| 		fi
 | |
| 	else
 | |
| 		if [ ! -z $SSH_CLIENT ]; then
 | |
| 			usercolor="%{${fg_bold[blue]}%}"
 | |
| 			hostcolor="%{${fg_no_bold[blue]}%}"
 | |
| 		else
 | |
| 			usercolor="%{${fg_bold[green]}%}"
 | |
| 			hostcolor="%{${fg_bold[black]}%}"
 | |
| 		fi
 | |
| 	fi
 | |
| 
 | |
| 	[ -e /etc/DIR_COLORS ] && eval "$(dircolors /etc/DIR_COLORS)"
 | |
| fi
 | 
