Mercurial > dotfiles
view .shell.d/99.prompt.zsh @ 178:da329720ff18
zsh prompt: add urxvt to whitelisted terms, use a loop instead of many ifs
author | Augie Fackler <durin42@gmail.com> |
---|---|
date | Wed, 13 Jan 2010 10:28:44 -0600 |
parents | 62bfb554ab85 |
children | ebbbf3567a0e |
line wrap: on
line source
# Magic prompt with colors # username in blue if not root # username in red if root - time in pink w/ # DANGER replacing the date # failed jobs print exit status in the RPS1 with yellow text setopt prompt_subst preexec () { currJob="`echo $3 | cut -d ' ' -f 1 | head -n 1`" if [[ "$TERM" == "screen" ]]; then hostUser="%10<...<%~%<<" print -Pn "\ek[$hostUser $currJob]\e\\" else if [[ "$FANCYTYPE" == "YES" ]]; then hostUser="%n@%m: %2~" print -Pn "\e]0;$hostUser [$currJob]\a" fi fi } function right_side_prompt() { branch=`vcs_current_branch` if [ $? = 0 ] ; then echo -n $branch else date '+%D %H:%M' fi } function precmd () { rps_branch=`right_side_prompt` } if [ "x`whoami`" = "xroot" ] ; then PS1=$'%{\e];%n@%m: %2~ [zsh]\a%}[%m:%3~] %{\e[31m%}%n%{\e[0m%}%# ' if [[ "$TERM" == "screen" ]] ; then PS1=$'%{\ek[%2~ zsh]\e\\%}[%m:%3~] %{\e[31m%}%n%{\e[0m%}%# ' fi RPS1=$'%{\e[1;35m%}[DANGER %t]%{\e[0m%}%(?..%{\e[1;33m%} %?%{\e[1;0m%})' else PS1=$'%{\e];%n@%m: %2~ [zsh]\a%}[%m:%3~] %{\e[34m%}%n%{\e[0m%}%# ' if [[ "$TERM" == "screen" ]]; then PS1=$'%{\ek[%2~ zsh]\e\\%}[%m:%3~] %{\e[34m%}%n%{\e[0m%}%# ' fi RPS1=$'[$rps_branch]%(?..%{\e[1;33m%} %?%{\e[0m%})' fi export FANCYTYPE="NO" for ok in rxvt rxvt-unicode xterm xterm-color screen ; do if [ "$TERM" = "$ok" ] ; then export FANCYTYPE="YES" fi done if [ $FANCYTYPE = "NO" ] ; then prompt='[%m:%3~] %n%# ' RPS1=$'[%W %t]' fi #nonfancy no-frills prompt - disabled (same as the "non-fancy" one above) #prompt='[%m:%3~] %n%# ' #RPS1=$'[%W %t]'