From bc8b3d519d0611e48dc11ca330ad4314a1c3daaf Mon Sep 17 00:00:00 2001 From: Von Random Date: Sun, 21 Aug 2022 04:17:56 +0300 Subject: [PATCH] zsh: making code more consistent --- zsh/prompt-powerline.zsh | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/zsh/prompt-powerline.zsh b/zsh/prompt-powerline.zsh index b32691f..db651d7 100644 --- a/zsh/prompt-powerline.zsh +++ b/zsh/prompt-powerline.zsh @@ -34,6 +34,10 @@ typeset -A prompt_colors=( git_unmerged 30 ) +precmd.prompt.init() { + typeset -g prompt_string= prev_color= +} + precmd.prompt.add() { (( $# < 2 )) && return 1 typeset data=$1 color=$2 @@ -53,6 +57,11 @@ precmd.prompt.bang() { prompt_string+="%F{$prev_color}%k$prompt_symbols[sep_a]%f$prompt_symbols[bang] " } +precmd.prompt.apply() { + PROMPT=$prompt_string + unset prompt_string +} + precmd.prompt.user() { typeset c=user (( UID )) || c=root @@ -136,7 +145,7 @@ precmd.prompt.git() { } precmd.prompt() { - typeset -g prompt_string= prev_color= + precmd.prompt.init precmd.prompt.user precmd.prompt.ssh precmd.prompt.host @@ -154,7 +163,6 @@ precmd.git_update() { } precmd() { - PROMPT= if precmd.is_git_repo; then precmd.prompt precmd.prompt.pre_git @@ -164,11 +172,12 @@ precmd() { precmd.prompt precmd.prompt.bang fi - PROMPT=$prompt_string + precmd.prompt.apply } TRAPUSR1() { - PROMPT=$(<$prompt_fifo) + typeset -g prompt_string=$(<$prompt_fifo) + precmd.prompt.apply zle && zle reset-prompt }