summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--Functions/Prompts/prompt_elite2_setup59
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 "$@"