aboutsummaryrefslogtreecommitdiff
path: root/internal/p10k.zsh
diff options
context:
space:
mode:
authorRoman Perepelitsa <roman.perepelitsa@gmail.com>2021-06-24 23:40:23 +0300
committerRoman Perepelitsa <roman.perepelitsa@gmail.com>2021-06-24 23:40:23 +0300
commitc003c253e8f4b3afde76d09c95691f77178b7cc8 (patch)
tree3ed3d392af00e442f7cf943c02b2fddf3ba651c5 /internal/p10k.zsh
parent515422c727539c39caf1f46eb8823c1454fd7fb6 (diff)
respect POWERLEVEL9K_INSTANT_PROMPT_COMMAND_LINES if it is explicitly set even when using z4h
Diffstat (limited to 'internal/p10k.zsh')
-rw-r--r--internal/p10k.zsh20
1 files changed, 12 insertions, 8 deletions
diff --git a/internal/p10k.zsh b/internal/p10k.zsh
index 913092be..935a86d9 100644
--- a/internal/p10k.zsh
+++ b/internal/p10k.zsh
@@ -5893,7 +5893,7 @@ _p9k_set_instant_prompt() {
[[ -n $RPROMPT ]] || unset RPROMPT
}
-typeset -gri __p9k_instant_prompt_version=40
+typeset -gri __p9k_instant_prompt_version=41
_p9k_dump_instant_prompt() {
local user=${(%):-%n}
@@ -5937,10 +5937,13 @@ _p9k_dump_instant_prompt() {
local PROMPT_EOL_MARK=${(q)PROMPT_EOL_MARK-%B%S%#%s%b}
[[ -n \$SSH_CLIENT || -n \$SSH_TTY || -n \$SSH_CONNECTION ]] && local ssh=1 || local ssh=0
local cr=\$'\r' lf=\$'\n' esc=\$'\e[' rs=$'\x1e' us=$'\x1f'
- local -i height=$_POWERLEVEL9K_INSTANT_PROMPT_COMMAND_LINES
+ local -i height=${_POWERLEVEL9K_INSTANT_PROMPT_COMMAND_LINES-1}
local prompt_dir=${(q)prompt_dir}"
+ if (( ! ${+_POWERLEVEL9K_INSTANT_PROMPT_COMMAND_LINES} )); then
+ >&$fd print -r -- '
+ (( _z4h_can_save_restore_screen == 1 )) && height=0'
+ fi
>&$fd print -r -- '
- (( _z4h_can_save_restore_screen == 1 )) && height=0
local real_gitstatus_header
if [[ -r $gitstatus_dir/install.info ]]; then
IFS= read -r real_gitstatus_header <$gitstatus_dir/install.info || real_gitstatus_header=borked
@@ -6138,7 +6141,8 @@ _p9k_dump_instant_prompt() {
(( __p9k_ksh_arrays )) && >&$fd print -r -- ' unsetopt ksh_arrays'
(( __p9k_sh_glob )) && >&$fd print -r -- ' unsetopt sh_glob'
>&$fd print -r -- '
- (( height += ${#${__p9k_used_instant_prompt[1]//[^$lf]}} ))
+ local -i prompt_height=${#${__p9k_used_instant_prompt[1]//[^$lf]}}
+ (( height += prompt_height ))
local _p9k__ret
function _p9k_prompt_length() {
local -i COLUMNS=1024
@@ -6180,9 +6184,9 @@ _p9k_dump_instant_prompt() {
fi
if (( _z4h_can_save_restore_screen == 1 )); then
if (( height )); then
- out+="$cr$esc${height}A$terminfo[sc]$out"
+ out+="$cr${(pl:$((height-prompt_height))::\n:)}$esc${height}A$terminfo[sc]$out"
else
- out+="$cr$terminfo[sc]$out"
+ out+="$cr${(pl:$((height-prompt_height))::\n:)}$terminfo[sc]$out"
fi
fi
typeset -g __p9k_instant_prompt_output=${TMPDIR:-/tmp}/p10k-instant-prompt-output-${(%):-%n}-$$
@@ -7129,7 +7133,7 @@ _p9k_init_params() {
_p9k_declare -b POWERLEVEL9K_TODO_HIDE_ZERO_FILTERED 0
_p9k_declare -b POWERLEVEL9K_DISABLE_HOT_RELOAD 0
_p9k_declare -F POWERLEVEL9K_NEW_TTY_MAX_AGE_SECONDS 5
- _p9k_declare -i POWERLEVEL9K_INSTANT_PROMPT_COMMAND_LINES 1
+ _p9k_declare -i POWERLEVEL9K_INSTANT_PROMPT_COMMAND_LINES
_p9k_declare -a POWERLEVEL9K_LEFT_PROMPT_ELEMENTS -- context dir vcs
_p9k_declare -a POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS -- status root_indicator background_jobs history time
_p9k_declare -b POWERLEVEL9K_DISABLE_RPROMPT 0
@@ -8112,7 +8116,7 @@ _p9k_must_init() {
[[ $sig == $_p9k__param_sig ]] && return 1
_p9k_deinit
fi
- _p9k__param_pat=$'v123\1'${(q)ZSH_VERSION}$'\1'${(q)ZSH_PATCHLEVEL}$'\1'
+ _p9k__param_pat=$'v124\1'${(q)ZSH_VERSION}$'\1'${(q)ZSH_PATCHLEVEL}$'\1'
_p9k__param_pat+=$'${#parameters[(I)POWERLEVEL9K_*]}\1${(%):-%n%#}\1$GITSTATUS_LOG_LEVEL\1'
_p9k__param_pat+=$'$GITSTATUS_ENABLE_LOGGING\1$GITSTATUS_DAEMON\1$GITSTATUS_NUM_THREADS\1'
_p9k__param_pat+=$'$GITSTATUS_CACHE_DIR\1$GITSTATUS_AUTO_INSTALL\1${ZLE_RPROMPT_INDENT:-1}\1'