diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | Functions/Prompts/prompt_elite2_setup | 59 |
2 files changed, 54 insertions, 10 deletions
diff --git a/ChangeLog b/ChangeLog index b61cf897f..ad8510c51 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2004-11-24 Clint Adams <clint@zsh.org> + + * 20578: Functions/Prompts/prompt_elite2_setup: + handle ttys with slashes in them. + 2004-11-23 Peter Stephenson <pws@csr.com> * 20576: Src/signals.c: 20572 caused core dump when diff --git a/Functions/Prompts/prompt_elite2_setup b/Functions/Prompts/prompt_elite2_setup index c6bb0b076..7e7748ec7 100644 --- a/Functions/Prompts/prompt_elite2_setup +++ b/Functions/Prompts/prompt_elite2_setup @@ -1,17 +1,56 @@ -# Converted to zsh prompt theme by bash2zshprompt, written by <adam@spiers.net> # Created by icetrey <trey@imagin.net> # Added by Spidey 08/06 +# Converted to zsh prompt theme by <adam@spiers.net> + +prompt_elite2_help () { + cat <<EOH +This prompt is color-scheme-able. You can invoke it thus: + + prompt elite2 [<text-color> [<parentheses-color>]] + +The default colors are both cyan. This theme works best with a dark +background. + +Recommended fonts for this theme: nexus or vga or similar. If you +don't have any of these, the 8-bit characters will probably look stupid. +EOH +} + prompt_elite2_setup () { - local GRAD1=`tty|cut -d/ -f3` - local COLOR1="%{$reset_color$fg_cyan%}" - local COLOR2="%{$bold_color$fg_cyan%}" - local COLOR3="%{$bold_color$fg_grey%}" - local COLOR4="%{$reset_color%}" - PS1="$COLOR3レ$COLOR1ト$COLOR2($COLOR1%n$COLOR3@$COLOR1%m$COLOR2)$COLOR1ト$COLOR2($COLOR1%!$COLOR3/$COLOR1$GRAD1$COLOR2)$COLOR1ト$COLOR2($COLOR1%D{%I:%M%P}$COLOR3:$COLOR1%D{%m/%d/%y}$COLOR2)$COLOR1ト$COLOR3-$COLOR4$prompt_newline$COLOR3タ$COLOR1ト$COLOR2($COLOR1%#$COLOR3:$COLOR1%~$COLOR2)$COLOR1ト$COLOR3-$COLOR4 " - PS2="$COLOR2ト$COLOR1ト$COLOR3-$COLOR4 " - - precmd () { } + local text_col=${1:-'cyan'} + local parens_col=${2:-$text_col} + + for code in 332 304 304 371 371 371 372 300 304 304 371 372; do + local varname=char_$code + : ${(P)varname=$(echo -n "\\0$code")} + done + + local text="%{$fg_no_bold[$text_col]%}" + local parens="%{$fg_bold[$parens_col]%}" + local punctuation_color="%{$fg_bold[grey]%}" + local reset="%{$reset_color%}" + + PS1="$punctuation_colorレ$textト$parens($text%n$punctuation_color@$text%m$parens)$textト$parens($text%!$punctuation_color/$text%y$parens)$textト$parens($text%D{%I:%M%P}$punctuation_color:$text%D{%m/%d/%y}$parens)$textト$punctuation_color-$reset$prompt_newline$punctuation_colorタ$textト$parens($text%#$punctuation_color:$text%~$parens)$textト$punctuation_color-$reset " + + PS2="$parensト$textト$punctuation_color-$reset " + + precmd () { setopt promptsubst } preexec () { } } +prompt_elite2_preview () { + local color colors + colors=(red yellow green blue magenta) + + if (( ! $#* )); then + for (( i = 1; i <= $#colors; i++ )); do + color=$colors[$i] + prompt_preview_theme elite2 $color + (( i < $#colors )) && print + done + else + prompt_preview_theme elite2 "$@" + fi +} + prompt_elite2_setup "$@" |