From 81b080e2a6e6c24a3bab9348c187fb308c25ffe8 Mon Sep 17 00:00:00 2001 From: Panayiotis Kkolos Date: Sat, 8 Mar 2014 08:08:47 +0200 Subject: [PATCH] Fix LP_OLD_PROMPT_COMMAND to work with zsh --- liquidprompt | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/liquidprompt b/liquidprompt index af07a41..6c2acfe 100755 --- a/liquidprompt +++ b/liquidprompt @@ -1539,7 +1539,11 @@ _lp_set_prompt() local IFS="$_LP_IFS" # execute the old prompt - eval "$LP_OLD_PROMPT_COMMAND" + if $_LP_SHELL_bash; then + eval "$LP_OLD_PROMPT_COMMAND" + else # zsh + eval "${${LP_OLD_PROMPT_COMMAND#*$'\n'}%$'\n'*}" + fi # left of main prompt: space at right LP_JOBS="$(_lp_sr "$(_lp_jobcount_color)")" @@ -1708,7 +1712,7 @@ prompt_on() if $_LP_SHELL_bash; then LP_OLD_PROMPT_COMMAND="$PROMPT_COMMAND" else # zsh - LP_OLD_PROMPT_COMMAND="$precmd" + LP_OLD_PROMPT_COMMAND="$(whence -f precmd)" fi fi if $_LP_SHELL_bash; then @@ -1740,7 +1744,8 @@ prompt_off() if $_LP_SHELL_bash; then PROMPT_COMMAND="$LP_OLD_PROMPT_COMMAND" else # zsh - precmd="$LP_OLD_PROMPT_COMMAND" + precmd() { : ; } + eval "$LP_OLD_PROMPT_COMMAND" fi } @@ -1751,7 +1756,8 @@ prompt_OFF() if $_LP_SHELL_bash; then PROMPT_COMMAND="$LP_OLD_PROMPT_COMMAND" else # zsh - precmd="$LP_OLD_PROMPT_COMMAND" + precmd() { : ; } + eval "$LP_OLD_PROMPT_COMMAND" fi }