Make prompt_custom not print the segment if empty

Currently you can't make a conditional custom segment. This changes the
prompt_custom function responsible for printing custom segments so that
it won't print the segment in case the content is empty.

With this it becomes possible to make conditional custom prompts simply
by making it not print anything when it's not supposed to be shown.
pull/22/head
Mateus "Doodad" Medeiros 2016-05-24 10:53:48 -03:00
parent 0b57ee3669
commit 89fdfa0148
1 changed files with 4 additions and 1 deletions

View File

@ -444,8 +444,11 @@ prompt_context() {
# the output in a segment. # the output in a segment.
prompt_custom() { prompt_custom() {
local command=POWERLEVEL9K_CUSTOM_$3:u local command=POWERLEVEL9K_CUSTOM_$3:u
local segment_content="$(eval ${(P)command})"
"$1_prompt_segment" "${0}_${3:u}" "$2" $DEFAULT_COLOR_INVERTED $DEFAULT_COLOR "$(eval ${(P)command})" if [[ -n $segment_content ]]; then
"$1_prompt_segment" "${0}_${3:u}" "$2" $DEFAULT_COLOR_INVERTED $DEFAULT_COLOR "$segment_content"
fi
} }
# Dir: current working directory # Dir: current working directory