From 33371ead181efe80d5cdfd3c2251d12dc2e62993 Mon Sep 17 00:00:00 2001 From: Hugues Hiegel Date: Thu, 26 Mar 2015 11:34:46 +0100 Subject: [Prompts] Cleanup project : Use %v wildcards in PS1 - Step #1 Moved out ps1_taskbar / ps1_extrainfo in external functions for use with %v Next step : get rid of full prompt elements computation... --- 12_Prompts.zsh | 38 +++++++++++++++++++++++--------------- 1 file changed, 23 insertions(+), 15 deletions(-) diff --git a/12_Prompts.zsh b/12_Prompts.zsh index 3b4ef52..82fab25 100644 --- a/12_Prompts.zsh +++ b/12_Prompts.zsh @@ -284,32 +284,40 @@ __display_vi_mode() } PS1_TASKBAR+=(__display_vi_mode) -__two_lines_prompt () +__ps1_taskbar () { - ## Le prompt le plus magnifique du monde, et c'est le mien ! - # Affiche l'user, l'host, le tty et le pwd. Rien que ça... - # - PS1_=$(print -Pn '\r')$HBAR_COLOR$HBAR$(print -Pn '\r') - __debug "-----------------> taskbar..." for trigger in $PS1_TASKBAR do __debug " ---> $trigger..." result=$($trigger) - [ -n "$result" ] && PS1_+=$_cuf1_${result}$C_$_prompt_colors[bar]$_C + [ -n "$result" ] && echo -n $_cuf1_${result}$C_$_prompt_colors[bar]$_C done +} +__ps1_extrainfo () +{ + for trigger in $PS1_EXTRA_INFO + do + __debug " ---> $trigger..." + result=$($trigger) + [ -n "$result" ] && echo -n " "${result} + done +} +__two_lines_prompt () +{ + ## Le prompt le plus magnifique du monde, et c'est le mien ! + # Affiche l'user, l'host, le tty et le pwd. Rien que ça... + # + PS1_=$(print -Pn '\r\n')$HBAR_COLOR$HBAR$(print -Pn '\r') + __debug "-----------------> taskbar..." + PS1_+=$(__ps1_taskbar) __debug "-----------------> date..." PS1_+=$(__show_date) - __debug "-----------------> extra..." PS1_+=" -"$C_$_prompt_colors[user]$_C"${USER:-%n}"$C_$_prompt_colors[arob]$_C"@"$C_$_prompt_colors[host]$_C"%M "$CURDIR${VCSBRANCH:+ $VCSBRANCH} - for trigger in $PS1_EXTRA_INFO - do - __debug " ---> $trigger..." - result=$($trigger) - [ -n "$result" ] && PS1_+=" "${result} - done +"$C_$_prompt_colors[user]$_C"${USER:-%n}"$C_$_prompt_colors[arob]$_C"@"$C_$_prompt_colors[host]$_C"%M${SSH_CLIENT:+ ← $(host ${SSH_CLIENT/ */} | awk '{ gsub(/\.$/, "", $NF); print $NF }')} "$CURDIR${VCSBRANCH:+ $VCSBRANCH} + __debug "-----------------> extra..." + PS1_+=$(__ps1_extrainfo) __debug "-----------------> PS1..." PS1=$PS1_" "$C_$_prompt_colors[dies]$_C"%#"$C_$_prompt_colors[cmd]$_C" " -- cgit v1.2.3