summaryrefslogtreecommitdiff
path: root/12_Prompts.zsh
diff options
context:
space:
mode:
authorHugues Hiegel <hugues.hiegel@qosmos.com>2012-03-09 10:55:26 +0100
committerHugues Hiegel <hugues.hiegel@qosmos.com>2012-03-09 11:27:26 +0100
commitb15c129a1fccf04927b6b4eb4a9573ce46b80c31 (patch)
treeee8fa55564b5524953fb495d542bb6f3f69d4e25 /12_Prompts.zsh
parent0e11bf5a4724abde44795545f09419d4bc4247be (diff)
[Prompt] I finally corrected this fucking precmd managment !!!
Diffstat (limited to '12_Prompts.zsh')
-rw-r--r--12_Prompts.zsh13
1 files changed, 6 insertions, 7 deletions
diff --git a/12_Prompts.zsh b/12_Prompts.zsh
index 6fece37..9e372b1 100644
--- a/12_Prompts.zsh
+++ b/12_Prompts.zsh
@@ -77,7 +77,7 @@ __hbar()
fi
}
-_preexec ()
+preexec ()
{
__term_title "$(echo $1 | tr ' \n' ' ;' | sed 's/%/%%/g;s/\\/\\\\/g;s/;$//')"
@@ -87,12 +87,11 @@ _preexec ()
__hbar
__redefine_prompt
- local lines="$(($(__expand_text "$PROMPT$1" | sed "s/\\(.\{0,$COLUMNS\}\\)/\\1\\n/g" | wc -l)))"
- for i in {1..$lines} ; print -Pn "\e[1A\e[2K"
- print -Pn "\r$PROMPT"
- print -Pn "$C_$color[cyan]$_C"
- print "${(q)1}" | sed "s/'$//;s/^'//"
-
+ local lines="$(($( (__expand_text "$PROMPT";__expand_text "$1") | sed "s/\\(.\{0,$COLUMNS\}\\)/\\1\\n/g" | wc -l)))"
+ tput sc
+ for i in {1..$lines} ; tput cuu1
+ print -Pn "$PROMPT"
+ tput rc
print -Pn "$C_$_prompt_colors[exec]$_C"
}