X-Git-Url: https://git.distorted.org.uk/~mdw/profile/blobdiff_plain/5e662c38a0d6c72be80f68b06c4ad973b67ffd1a..bedcbef094e584d58350d52d1ff9e0a97a962aaf:/dot/bashrc diff --git a/dot/bashrc b/dot/bashrc index 1ed4aa0..4b51e7f 100644 --- a/dot/bashrc +++ b/dot/bashrc @@ -35,10 +35,13 @@ if [ -t 0 ]; then "") bold="\[$(tput md)\]" unbold="\[$(tput me)\]" ;; *) bold="\[$(tput bold)\]" unbold="\[$(tput sgr0)\]" ;; esac + gitcolour="\[$(tput setaf 6)\]" + rccolour="\[$(tput setaf 1)\]" + uncolour="\[$(tput op)\]" nl="\[ \]" ;; *) - bold='' unbold='' nl='' ;; + bold='' unbold='' nl='' gitcolour='' rccolour='' uncolour='';; esac ## Choose the right delimiters. Highlight root prompts specially; @@ -67,9 +70,17 @@ if [ -t 0 ]; then fi ## Build the prompt string. - PS1="$nl$bold$left$sec_l$u\\h$sec_r \\w$marker$right$unbold" + if type __git_ps1 >/dev/null 2>&1; then + git="$unbold$gitcolour\$(rc=\$?;__git_ps1;exit \$rc)$uncolour$bold" + else + git="" + fi + rc="$unbold$rccolour\$(rc=\$?;case \$rc in 0);;" + rc="$rc*)echo -n \" rc=\$rc\";;esac;exit \$rc)$uncolour$bold" + PS1="$nl$bold$left$sec_l$u\\h$sec_r \\w$git$rc$marker$right$unbold" PS2="$PS1 $bold>$unbold " - + unset nl bold unbold left right sec_l sec_r marker + unset gitcolour rccolour uncolour git rc fi ###-------------------------------------------------------------------------- @@ -381,3 +392,5 @@ fi fi ###----- That's all, folks -------------------------------------------------- + +: