about summary refs log tree commit diff
path: root/Functions/Prompts/prompt_special_chars
diff options
context:
space:
mode:
authorPeter Stephenson <pws@users.sourceforge.net>2008-05-17 22:42:16 +0000
committerPeter Stephenson <pws@users.sourceforge.net>2008-05-17 22:42:16 +0000
commitc894f695cc02f16af429c7506bb78354dcd9a1e3 (patch)
tree315daebee1a9ebc507790baf516863b0ff450f66 /Functions/Prompts/prompt_special_chars
parentadeceae8bfb6ed0a3fdea87cc4483c4d990f83fe (diff)
downloadzsh-c894f695cc02f16af429c7506bb78354dcd9a1e3.tar.gz
zsh-c894f695cc02f16af429c7506bb78354dcd9a1e3.tar.xz
zsh-c894f695cc02f16af429c7506bb78354dcd9a1e3.zip
25095: thorough modernization of prompt theme system
Diffstat (limited to 'Functions/Prompts/prompt_special_chars')
-rw-r--r--Functions/Prompts/prompt_special_chars19
1 files changed, 13 insertions, 6 deletions
diff --git a/Functions/Prompts/prompt_special_chars b/Functions/Prompts/prompt_special_chars
index 8be7dc1cf..3dbf481ff 100644
--- a/Functions/Prompts/prompt_special_chars
+++ b/Functions/Prompts/prompt_special_chars
@@ -6,13 +6,20 @@
 # We still provide them in that form if the current character
 # set isn't UTF-8.  We could in principle use iconv if available.
 
+typeset -gA schars
+
 if [[ ${LC_ALL:-${LC_CTYPE:-$LANG}} = *UTF-8* ]]; then
-  char_333=$'\xe2\x96\x88'
-  char_262=$'\xe2\x96\x93'
-  char_261=$'\xe2\x96\x92'
-  char_260=$'\xe2\x96\x91'
+  schars[300]=$'\xe2\x94\x94'
+  schars[304]=$'\xe2\x94\x8c'
+  schars[332]=$'\xe2\x94\x8c'
+  schars[333]=$'\xe2\x96\x88'
+  schars[371]=$'\xc2\xa8'
+  schars[372]=$'\xcb\x99'
+  schars[262]=$'\xe2\x96\x93'
+  schars[261]=$'\xe2\x96\x92'
+  schars[260]=$'\xe2\x96\x91'
 else
-  for code in 333 262 261 260; do
-    char_$code=$(echo -n "\\0$code")
+  for code in 300 304 332 333 371 372 262 261 260; do
+    eval "char[$code]=\$'\\$code'"
   done
 fi