Mercurial > dotfiles
view .shell.d/99.prompt.zsh @ 77:45d7441d0cf2
Modularize .emacs
author | Augie Fackler <durin42@gmail.com> |
---|---|
date | Thu, 09 Apr 2009 13:39:20 -0500 |
parents | 62bfb554ab85 |
children | da329720ff18 |
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 if [ "$TERM" = "rxvt" ] || [ "$TERM" = "xterm" ] \ || [ "$TERM" = "xterm-color" ] || [ "$TERM" = "screen" ]; then export FANCYTYPE="YES" else export FANCYTYPE="NO" 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]'