summaryrefslogtreecommitdiff
path: root/12_Prompts.zsh
diff options
context:
space:
mode:
authorHugues Hiegel <hugues@hiegel.fr>2009-12-23 16:02:44 +0100
committerHugues Hiegel <hugues@hiegel.fr>2009-12-23 16:02:44 +0100
commitbca8cc9445bb13e7cec973028a2e624350f475fb (patch)
tree5d68513de72f177341c4c5fa41900842085e8753 /12_Prompts.zsh
parent8194bbd084f2f991f3201012cf1bcb43ea7f6033 (diff)
[Prompts] preexec: better multiline managment, cleanups command to allow direct copy
Diffstat (limited to '12_Prompts.zsh')
-rw-r--r--12_Prompts.zsh12
1 files changed, 7 insertions, 5 deletions
diff --git a/12_Prompts.zsh b/12_Prompts.zsh
index 3b34d78..c1f4eb5 100644
--- a/12_Prompts.zsh
+++ b/12_Prompts.zsh
@@ -37,11 +37,11 @@ expand_text()
preexec ()
{
term_title "$(echo $1 | tr ' \n' ' ;' | sed 's/%/%%/g;s/\\/\\\\/g;s/;$//')"
- print -Pn "$C_$prompt_colors[exec]$_C"
local lines="$(expand_text "$PROMPT$1" | sed "s/\\(.\{$COLUMNS\}\\)/\\1\\n/g" | wc -l)"
prompt_colors[date]=$date_colors[exec]
set_prompt_date
+ prompt_colors[date]=$date_colors[normal]
spaceleft=$(($COLUMNS - $AGENTSSIZE - $MAILSTATSIZE - $DATESIZE - $BATTERYSIZE))
unset HBAR
@@ -52,11 +52,13 @@ preexec ()
redisplay_prompt
local string="$(expand_text "$PROMPT$1")"
- local lines=$(( (${#string} - 1) / $COLUMNS))
- for i in {0..$lines} ; print -Pn "\e[1A"
+ local lines=$(( (${#string} - 1) / $COLUMNS + $(echo ${string} | wc -l) - 2 ))
+ for i in {0..$lines} ; print -Pn "\e[1A\e[2K"
print -Pn "\r$PROMPT"
- print "${(q)1}"
- prompt_colors[date]=$date_colors[normal]
+ print -Pn "$C_$color[cyan]$_C"
+ print "${1}"
+
+ print -Pn "$C_$prompt_colors[exec]$_C"
}
new_precmd()