summaryrefslogtreecommitdiff
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.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