wip universal prompt renderer, using Powerline symbols

This commit is contained in:
Martinez 2015-04-06 22:21:30 +02:00
parent 63d4b8c1fd
commit 0703ad5399
5 changed files with 382 additions and 2 deletions

View file

@ -12,11 +12,11 @@ function strlen {
local PLAIN
PLAIN="$(echo $1 | sed -r "s/\x1B\[([0-9]{1,2}(;[0-9]{1,2})?)?[m|K]//g")"
echo $#PLAIN
echo ${#PLAIN}
}
function precmd {
local OVER_OPTS RAW_DATA LOGIN_PART STATS_PART DATA TOP_LEFT TOP_RIGHT PADDING PADDING_SIZE GIT_BRANCH COLOR
local CUT OVER_OPTS RAW_DATA LOGIN_PART STATS_PART DATA TOP_LEFT TOP_RIGHT PADDING PADDING_SIZE GIT_BRANCH COLOR
set -A OVER_OPTS ${(s. .)OVER_PROMPT_OPTS}
PS1="$(print "%(?.%{\e[1;36m%}.%{\e[1;31m%}%?%{\e[0m%}:%{\e[1;31m%})%(\!.#.$)%{\e[0m%} ")"
@ -51,6 +51,12 @@ function precmd {
TOP_LEFT=$(print -P "%(\!.\e[1;31m.\e[1;32m)%n\e[0m@$LOGIN_PART")
TOP_RIGHT=$(print -P "[ \e[1;36m%T\e[0m | $STATS_PART")
PADDING_SIZE=$(($COLUMNS - $(strlen "$TOP_LEFT") - $(strlen "$TOP_RIGHT")))
# if [[ $PADDING_SIZE -lt 0 ]]; then
# CUT=$((0 - $PADDING_SIZE))
# TOP_LEFT="${TOP_LEFT[$CUT,-1]}"
# fi
PADDING=$(printf " "%.0s {1..$PADDING_SIZE})
print "$TOP_LEFT$PADDING$TOP_RIGHT"