1
0
Fork 0

zsh: making code more consistent

This commit is contained in:
Von Random 2022-08-21 04:17:56 +03:00
parent ccfbfe8933
commit bc8b3d519d

View file

@ -34,6 +34,10 @@ typeset -A prompt_colors=(
git_unmerged 30 git_unmerged 30
) )
precmd.prompt.init() {
typeset -g prompt_string= prev_color=
}
precmd.prompt.add() { precmd.prompt.add() {
(( $# < 2 )) && return 1 (( $# < 2 )) && return 1
typeset data=$1 color=$2 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] " 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() { precmd.prompt.user() {
typeset c=user typeset c=user
(( UID )) || c=root (( UID )) || c=root
@ -136,7 +145,7 @@ precmd.prompt.git() {
} }
precmd.prompt() { precmd.prompt() {
typeset -g prompt_string= prev_color= precmd.prompt.init
precmd.prompt.user precmd.prompt.user
precmd.prompt.ssh precmd.prompt.ssh
precmd.prompt.host precmd.prompt.host
@ -154,7 +163,6 @@ precmd.git_update() {
} }
precmd() { precmd() {
PROMPT=
if precmd.is_git_repo; then if precmd.is_git_repo; then
precmd.prompt precmd.prompt
precmd.prompt.pre_git precmd.prompt.pre_git
@ -164,11 +172,12 @@ precmd() {
precmd.prompt precmd.prompt
precmd.prompt.bang precmd.prompt.bang
fi fi
PROMPT=$prompt_string precmd.prompt.apply
} }
TRAPUSR1() { TRAPUSR1() {
PROMPT=$(<$prompt_fifo) typeset -g prompt_string=$(<$prompt_fifo)
precmd.prompt.apply
zle && zle reset-prompt zle && zle reset-prompt
} }