Mercurial > dotfiles
view .shell.d/99.prompt.zsh @ 351:bef29d49d19f
safe-paste: adds support for bracketed paste mode to zsh
Since I don't use oh-my-zsh, just import their code directly with a
reference. Based on the site where I learned about this [0], it's
originally from [1], and I downloaded it from [2].
0: https://cirw.in/blog/bracketed-paste
1: http://www.zsh.org/mla/users/2011/msg00367.html
2: https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/plugins/safe-paste/safe-paste.plugin.zsh
author | Augie Fackler <raf@durin42.com> |
---|---|
date | Mon, 10 Nov 2014 09:26:04 -0500 |
parents | 02b635053e8f |
children | 0ceb8554801e |
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-256color 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 if [[ $TERM == "dumb" ]]; then # in emacs # for tramp to not hang, need the following. cf: # http://www.emacswiki.org/emacs/TrampMode unsetopt zle unsetopt prompt_cr unsetopt prompt_subst unfunction precmd unfunction preexec fi #nonfancy no-frills prompt - disabled (same as the "non-fancy" one above) #prompt='[%m:%3~] %n%# ' #RPS1=$'[%W %t]'