From ea1cf305feeda976c446d080fad5c453abb884b6 Mon Sep 17 00:00:00 2001 From: Jocelyn Mallon Date: Wed, 5 Oct 2011 23:07:06 -0700 Subject: [PATCH] added a couple new color variations on my new prompt theme. also switched to proper 'unset' syntax in zshmarks, instead of destroying variable by setting to null string --- plugins/zshmarks/zshmarks.plugin.zsh | 7 +- themes/jocelyn_new.zsh-theme | 22 +++--- themes/jocelyn_new2.zsh-theme | 107 +++++++++++++++++++++++++++ themes/jocelyn_new3.zsh-theme | 107 +++++++++++++++++++++++++++ 4 files changed, 226 insertions(+), 17 deletions(-) create mode 100644 themes/jocelyn_new2.zsh-theme create mode 100644 themes/jocelyn_new3.zsh-theme diff --git a/plugins/zshmarks/zshmarks.plugin.zsh b/plugins/zshmarks/zshmarks.plugin.zsh index 45b9d1061..80e419169 100644 --- a/plugins/zshmarks/zshmarks.plugin.zsh +++ b/plugins/zshmarks/zshmarks.plugin.zsh @@ -40,16 +40,11 @@ function go() { else dir="${bookmark%%|*}" cd "${dir}" - dir="" + unset dir fi } # Show a list of the bookmarks function showmarks() { cat ~/.bookmarks | awk '{ printf "%-40s%-40s%s\n",$1,$2,$3}' FS=\| -} - -# manually edit bookmarks -function editmarks() { - $EDITOR $bookmarks_file } \ No newline at end of file diff --git a/themes/jocelyn_new.zsh-theme b/themes/jocelyn_new.zsh-theme index b47b919d4..612bca944 100644 --- a/themes/jocelyn_new.zsh-theme +++ b/themes/jocelyn_new.zsh-theme @@ -4,7 +4,7 @@ function precmd { # Truncate the path if it's too long. PR_FILLBAR="" PR_PWDLEN="" - local promptsize=${#${(%):---(%n@%m:%l)---()--}} + local promptsize=${#${(%):--(%n@%m)-()-(%D{%H:%M:%})-}} local rubyprompt=`rvm_prompt_info` local rubypromptsize=${#${rubyprompt}} local pwdsize=${#${(%):-%~}} @@ -41,16 +41,16 @@ setprompt () { PR_NO_COLOUR="%{$terminfo[sgr0]%}" # Modify Git prompt - ZSH_THEME_GIT_PROMPT_PREFIX="$PR_MAGENTA($PR_BLUE% git:$PR_YELLOW" + ZSH_THEME_GIT_PROMPT_PREFIX="$PR_MAGENTA($PR_BLUE% git$PR_WHITE:$PR_YELLOW" ZSH_THEME_GIT_PROMPT_SUFFIX="$PR_MAGENTA)" ZSH_THEME_GIT_PROMPT_DIRTY="" ZSH_THEME_GIT_PROMPT_CLEAN="" - ZSH_THEME_GIT_PROMPT_ADDED="($PR_GREEN✚$PR_MAGENTA)" - ZSH_THEME_GIT_PROMPT_MODIFIED="($PR_BLUE✹$PR_MAGENTA)" - ZSH_THEME_GIT_PROMPT_DELETED="($PR_RED✖$PR_MAGENTA)" - ZSH_THEME_GIT_PROMPT_RENAMED="($PR_MAGENTA➜$PR_MAGENTA)" - ZSH_THEME_GIT_PROMPT_UNMERGED="($PR_YELLOW═$PR_MAGENTA)" - ZSH_THEME_GIT_PROMPT_UNTRACKED="($PR_CYAN✭$PR_MAGENTA)" + ZSH_THEME_GIT_PROMPT_ADDED="$PR_MAGENTA($PR_GREEN✚$PR_MAGENTA)" + ZSH_THEME_GIT_PROMPT_MODIFIED="$PR_MAGENTA($PR_BLUE✹$PR_MAGENTA)" + ZSH_THEME_GIT_PROMPT_DELETED="$PR_MAGENTA($PR_RED✖$PR_MAGENTA)" + ZSH_THEME_GIT_PROMPT_RENAMED="$PR_MAGENTA($PR_MAGENTA➜$PR_MAGENTA)" + ZSH_THEME_GIT_PROMPT_UNMERGED="$PR_MAGENTA($PR_YELLOW═$PR_MAGENTA)" + ZSH_THEME_GIT_PROMPT_UNTRACKED="$PR_MAGENTA($PR_CYAN✭$PR_MAGENTA)" # See if we can use extended characters to look nicer. typeset -A altchar @@ -88,11 +88,11 @@ return_code="%(?..$PR_MAGENTA($PR_RED%? ↵ $PR_MAGENTA%))" PROMPT='$PR_SET_CHARSET\ $PR_MAGENTA$PR_SHIFT_IN$PR_ULCORNER$PR_HBAR$PR_SHIFT_OUT(\ -$PR_BLUE%n$PR_MAGENTA@$PR_GREEN%m$PR_MAGENTA)\ -$PR_SHIFT_IN${(e)PR_FILLBAR}$PR_SHIFT_OUT\ +$PR_BLUE%n$PR_WHITE@$PR_CYAN%m$PR_MAGENTA)\ +$PR_SHIFT_IN$PR_HBAR${(e)PR_FILLBAR}$PR_SHIFT_OUT\ ($PR_BLUE%$PR_PWDLEN<...<%~%<<\ $PR_MAGENTA)$PR_SHIFT_IN$PR_HBAR$PR_SHIFT_OUT\ -($PR_GREEN%D{%H:%M:%S}$PR_MAGENTA)\ +($PR_GREEN%D{%H}$PR_WHITE:$PR_GREEN%D{%M}$PR_WHITE:$PR_GREEN%D{%S}$PR_MAGENTA)\ $PR_SHIFT_IN$PR_LLCORNER$PR_HBAR$PR_SHIFT_OUT$PR_NO_COLOUR\ $return_code\ diff --git a/themes/jocelyn_new2.zsh-theme b/themes/jocelyn_new2.zsh-theme new file mode 100644 index 000000000..76a9ce4c4 --- /dev/null +++ b/themes/jocelyn_new2.zsh-theme @@ -0,0 +1,107 @@ +function precmd { + local TERMWIDTH + (( TERMWIDTH = ${COLUMNS} - 1 )) +# Truncate the path if it's too long. + PR_FILLBAR="" + PR_PWDLEN="" + local promptsize=${#${(%):--(%n@%m)-()-(%D{%H:%M:%})-}} + local rubyprompt=`rvm_prompt_info` + local rubypromptsize=${#${rubyprompt}} + local pwdsize=${#${(%):-%~}} + if [[ "$promptsize + $rubypromptsize + $pwdsize" -gt $TERMWIDTH ]]; then + ((PR_PWDLEN=$TERMWIDTH - $promptsize)) + else + PR_FILLBAR="\${(l.(($TERMWIDTH - ($promptsize + $rubypromptsize + $pwdsize)))..${PR_HBAR}.)}" + fi +} + +setopt extended_glob +preexec () { + if [[ "$TERM" == "screen" ]]; then + local CMD=${1[(wr)^(*=*|sudo|-*)]} + echo -n "\ek$CMD\e\\" + fi + echo -en $reset_color +} + +setprompt () { +# Need this so the prompt will work. + setopt prompt_subst + +# See if we can use colors. + autoload colors zsh/terminfo + if [[ "$terminfo[colors]" -ge 8 ]]; then + colors + fi + for color in RED GREEN YELLOW BLUE MAGENTA CYAN WHITE GREY; do + eval PR_$color='%{$terminfo[bold]$fg[${(L)color}]%}' + eval PR_LIGHT_$color='%{$fg[${(L)color}]%}' + (( count = $count + 1 )) + done + PR_NO_COLOUR="%{$terminfo[sgr0]%}" + +# Modify Git prompt + ZSH_THEME_GIT_PROMPT_PREFIX="$PR_WHITE($PR_BLUE% git:$PR_YELLOW" + ZSH_THEME_GIT_PROMPT_SUFFIX="$PR_WHITE)" + ZSH_THEME_GIT_PROMPT_DIRTY="" + ZSH_THEME_GIT_PROMPT_CLEAN="" + ZSH_THEME_GIT_PROMPT_ADDED="$PR_WHITE($PR_GREEN✚$PR_WHITE)" + ZSH_THEME_GIT_PROMPT_MODIFIED="$PR_WHITE($PR_BLUE✹$PR_WHITE)" + ZSH_THEME_GIT_PROMPT_DELETED="$PR_WHITE($PR_RED✖$PR_WHITE)" + ZSH_THEME_GIT_PROMPT_RENAMED="$PR_WHITE($PR_MAGENTA➜$PR_WHITE)" + ZSH_THEME_GIT_PROMPT_UNMERGED="$PR_WHITE($PR_YELLOW═$PR_WHITE)" + ZSH_THEME_GIT_PROMPT_UNTRACKED="$PR_WHITE($PR_CYAN✭$PR_WHITE)" + +# See if we can use extended characters to look nicer. + typeset -A altchar + set -A altchar ${(s..)terminfo[acsc]} + PR_SET_CHARSET="%{$terminfo[enacs]%}" + PR_SHIFT_IN="%{$terminfo[smacs]%}" + PR_SHIFT_OUT="%{$terminfo[rmacs]%}" + PR_HBAR=${altchar[q]:--} + PR_ULCORNER=${altchar[l]:--} + PR_LLCORNER=${altchar[m]:--} + PR_LRCORNER=${altchar[j]:--} + PR_URCORNER=${altchar[k]:--} + +# Decide if we need to set titlebar text. + case $TERM in + xterm*) + PR_TITLEBAR=$'%{\e]0;%(!.-=*[ROOT]*=- | .)%n@%m:%~ | ${COLUMNS}x${LINES} | %y\a%}' + ;; + screen) + PR_TITLEBAR=$'%{\e_screen \005 (\005t) | %(!.-=[ROOT]=- | .)%n@%m:%~ | ${COLUMNS}x${LINES} | %y\e\\%}' + ;; + *) + PR_TITLEBAR='' + ;; + esac + +# Decide whether to set a screen title + if [[ "$TERM" == "screen" ]]; then + PR_STITLE=$'%{\ekzsh\e\\%}' + else + PR_STITLE='' + fi + +return_code="%(?..$PR_MAGENTA($PR_RED%? ↵ $PR_MAGENTA%))" + +PROMPT='$PR_SET_CHARSET\ +$PR_WHITE$PR_SHIFT_IN$PR_ULCORNER$PR_HBAR$PR_SHIFT_OUT(\ +$PR_MAGENTA%n$PR_WHITE@$PR_BLUE%m$PR_WHITE)\ +$PR_SHIFT_IN$PR_HBAR${(e)PR_FILLBAR}$PR_SHIFT_OUT\ +($PR_BLUE%$PR_PWDLEN<...<%~%<<\ +$PR_WHITE)$PR_SHIFT_IN$PR_HBAR$PR_SHIFT_OUT\ +($PR_GREEN%D{%H}$PR_WHITE:$PR_GREEN%D{%M}$PR_WHITE:$PR_GREEN%D{%S}$PR_WHITE)\ + +$PR_SHIFT_IN$PR_LLCORNER$PR_HBAR$PR_SHIFT_OUT$PR_NO_COLOUR\ +$return_code\ +`git_prompt_info`\ +`git_prompt_status`\ +$PR_WHITE$PR_SHIFT_IN$PR_HBAR\ +$PR_GREEN❯$PR_SHIFT_OUT ' + +PS2='$PR_MAGENTA$PR_SHIFT_IN$PR_LLCORNER$PR_HBAR$PR_HBAR$PR_SHIFT_OUT$PR_GREEN\ ' +} + +setprompt \ No newline at end of file diff --git a/themes/jocelyn_new3.zsh-theme b/themes/jocelyn_new3.zsh-theme new file mode 100644 index 000000000..0ad3a88b9 --- /dev/null +++ b/themes/jocelyn_new3.zsh-theme @@ -0,0 +1,107 @@ +function precmd { + local TERMWIDTH + (( TERMWIDTH = ${COLUMNS} - 1 )) +# Truncate the path if it's too long. + PR_FILLBAR="" + PR_PWDLEN="" + local promptsize=${#${(%):--(%n@%m)-()-(%D{%H:%M:%})-}} + local rubyprompt=`rvm_prompt_info` + local rubypromptsize=${#${rubyprompt}} + local pwdsize=${#${(%):-%~}} + if [[ "$promptsize + $rubypromptsize + $pwdsize" -gt $TERMWIDTH ]]; then + ((PR_PWDLEN=$TERMWIDTH - $promptsize)) + else + PR_FILLBAR="\${(l.(($TERMWIDTH - ($promptsize + $rubypromptsize + $pwdsize)))..${PR_HBAR}.)}" + fi +} + +setopt extended_glob +preexec () { + if [[ "$TERM" == "screen" ]]; then + local CMD=${1[(wr)^(*=*|sudo|-*)]} + echo -n "\ek$CMD\e\\" + fi + echo -en $reset_color +} + +setprompt () { +# Need this so the prompt will work. + setopt prompt_subst + +# See if we can use colors. + autoload colors zsh/terminfo + if [[ "$terminfo[colors]" -ge 8 ]]; then + colors + fi + for color in RED GREEN YELLOW BLUE MAGENTA CYAN WHITE GREY; do + eval PR_$color='%{$terminfo[bold]$fg[${(L)color}]%}' + eval PR_LIGHT_$color='%{$fg[${(L)color}]%}' + (( count = $count + 1 )) + done + PR_NO_COLOUR="%{$terminfo[sgr0]%}" + +# Modify Git prompt + ZSH_THEME_GIT_PROMPT_PREFIX="$PR_BLUE($PR_MAGENTA% git$PR_WHITE:$PR_YELLOW" + ZSH_THEME_GIT_PROMPT_SUFFIX="$PR_BLUE)" + ZSH_THEME_GIT_PROMPT_DIRTY="" + ZSH_THEME_GIT_PROMPT_CLEAN="" + ZSH_THEME_GIT_PROMPT_ADDED="$PR_BLUE($PR_GREEN✚$PR_BLUE)" + ZSH_THEME_GIT_PROMPT_MODIFIED="$PR_BLUE($PR_BLUE✹$PR_BLUE)" + ZSH_THEME_GIT_PROMPT_DELETED="$PR_BLUE($PR_RED✖$PR_BLUE)" + ZSH_THEME_GIT_PROMPT_RENAMED="$PR_BLUE($PR_MAGENTA➜$PR_BLUE)" + ZSH_THEME_GIT_PROMPT_UNMERGED="$PR_BLUE($PR_YELLOW═$PR_BLUE)" + ZSH_THEME_GIT_PROMPT_UNTRACKED="$PR_BLUE($PR_CYAN✭$PR_BLUE)" + +# See if we can use extended characters to look nicer. + typeset -A altchar + set -A altchar ${(s..)terminfo[acsc]} + PR_SET_CHARSET="%{$terminfo[enacs]%}" + PR_SHIFT_IN="%{$terminfo[smacs]%}" + PR_SHIFT_OUT="%{$terminfo[rmacs]%}" + PR_HBAR=${altchar[q]:--} + PR_ULCORNER=${altchar[l]:--} + PR_LLCORNER=${altchar[m]:--} + PR_LRCORNER=${altchar[j]:--} + PR_URCORNER=${altchar[k]:--} + +# Decide if we need to set titlebar text. + case $TERM in + xterm*) + PR_TITLEBAR=$'%{\e]0;%(!.-=*[ROOT]*=- | .)%n@%m:%~ | ${COLUMNS}x${LINES} | %y\a%}' + ;; + screen) + PR_TITLEBAR=$'%{\e_screen \005 (\005t) | %(!.-=[ROOT]=- | .)%n@%m:%~ | ${COLUMNS}x${LINES} | %y\e\\%}' + ;; + *) + PR_TITLEBAR='' + ;; + esac + +# Decide whether to set a screen title + if [[ "$TERM" == "screen" ]]; then + PR_STITLE=$'%{\ekzsh\e\\%}' + else + PR_STITLE='' + fi + +return_code="%(?..$PR_BLUE($PR_RED%? ↵ $PR_BLUE%))" + +PROMPT='$PR_SET_CHARSET\ +$PR_BLUE$PR_SHIFT_IN$PR_ULCORNER$PR_HBAR$PR_SHIFT_OUT(\ +$PR_MAGENTA%n$PR_WHITE@$PR_CYAN%m$PR_BLUE)\ +$PR_SHIFT_IN$PR_HBAR${(e)PR_FILLBAR}$PR_SHIFT_OUT\ +($PR_MAGENTA%$PR_PWDLEN<...<%~%<<\ +$PR_BLUE)$PR_SHIFT_IN$PR_HBAR$PR_SHIFT_OUT\ +($PR_GREEN%D{%H}$PR_WHITE:$PR_GREEN%D{%M}$PR_WHITE:$PR_GREEN%D{%S}$PR_BLUE)\ + +$PR_SHIFT_IN$PR_LLCORNER$PR_HBAR$PR_SHIFT_OUT$PR_NO_COLOUR\ +$return_code\ +`git_prompt_info`\ +`git_prompt_status`\ +$PR_BLUE$PR_SHIFT_IN$PR_HBAR\ +$PR_GREEN❯$PR_SHIFT_OUT ' + +PS2='$PR_MAGENTA$PR_SHIFT_IN$PR_LLCORNER$PR_HBAR$PR_HBAR$PR_SHIFT_OUT$PR_GREEN\ ' +} + +setprompt \ No newline at end of file