initial checkin
[zsh-lovers.git] / zsh_people / thomas_koehler / klammer.zsh
1
2 ### put all of this in .zshrc or try ". ~/zsh/klammer.zsh" in .zshrc
3
4 COLORX="\e[0;31;47m"
5 COLOR0="\e[0m"
6 COLOR1="\e[0;30;41m"
7 COLOR2="\e[0;30;42m"
8 COLOR3="\e[0;30;43m"
9 COLOR4="\e[0;30;44m"
10 COLOR5="\e[0;30;45m"
11 COLOR6="\e[0;30;46m"
12 COLOR7="\e[0;30;47m"
13 COLOR8="\e[0;34;41m"
14 COLOR9="\e[0;34;43m"
15 COLOR10="\e[0;37;44m"
16 COLOROFF="\e[0m"
17
18
19 highlight() {
20    line=$*
21    i=0
22    j=0
23    strlen=$#line
24    while [ $i -le $strlen ] ; do
25       i=$[i+1]
26       x=$line[$i]
27       case $x in
28          (\{) j=$[j+1] ; eval print -n $"COLOR$j"$"x"$"COLOROFF" ;;
29          (\})  eval print -n $"COLOR$j"$"x"$"COLOROFF" ; j=$[j-1] ;;
30          (*) print -n $x ;;
31       esac
32    done
33    print $COLOROFF
34 }
35
36 screenclearx () {
37    print -n '\e7'
38    print 
39    local MYLINE="$LBUFFER$RBUFFER"
40    highlight $MYLINE
41    print -n '\e8'
42 #   print "${COLORX}Hit Enter to continue${COLOROFF}"
43 #   read -k
44 }
45 zle -N screenclearx
46 bindkey "^Xl" screenclearx