X-Git-Url: https://git.distorted.org.uk/~mdw/profile/blobdiff_plain/21237a6865c473d89123b9649988dd610ee89074..5ffa4795873e37c6b39cf83df82470c1a7119fa0:/dot/bashrc diff --git a/dot/bashrc b/dot/bashrc index 1b6d7af..8dc678b 100644 --- a/dot/bashrc +++ b/dot/bashrc @@ -13,6 +13,10 @@ __mdw_bashrc=done [ -z "$__mdw_profile" -a -r $HOME/.bash_profile ] && . $HOME/.bash_profile [ -r /etc/bashrc ] && . /etc/bashrc +## Completion. +[ -r /etc/bash_completion ] && . /etc/bash_completion +[ -r $HOME/.bash_completion ] && . $HOME/.bash_completion + ## Set the temporary directory again. (If we've switched users, we'll want a ## different temporary directory.) [ "${TMPDIR+yes}" ] || eval `tmpdir -b` @@ -31,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; @@ -56,16 +63,29 @@ if [ -t 0 ]; then fi ## If this session is insecure then highlight that. - if [ -z "$SSH_CLIENT" ] && - [ "$__mdw_sechost" != "`hostname`" ] - then + if [ -z "$SSH_CLIENT" ] && [ -z "$SCHROOT_CHROOT_NAME" ] && + [ "$__mdw_sechost" != "`hostname`" ] + then sec_l='(' sec_r=')' fi + ## If this is an schroot environment then point this out. + hqual="" + hqual="$hqual${SCHROOT_CHROOT_NAME+/$SCHROOT_CHROOT_NAME}" + ## Build the prompt string. - PS1="$nl$bold$left$sec_l$u\\h$sec_r \\w$marker$right$unbold" + git="" rc="" + if [[ ${BASH_VERSINFO[0]} -ge 4 ]]; then + if type __git_ps1 >/dev/null 2>&1; then + git="$unbold$gitcolour\$(rc=\$?;__git_ps1;exit \$rc)$uncolour$bold" + fi + rc="$unbold$rccolour\$(rc=\$?;case \$rc in 0);;" + rc="$rc*)echo -n \" rc=\$rc\";;esac;exit \$rc)$uncolour$bold" + fi + PS1="$nl$bold$left$sec_l$u\\h$hqual$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 hqual fi ###-------------------------------------------------------------------------- @@ -117,10 +137,6 @@ alias e="$EDITOR" alias svn="svnwrap svn" alias @="ssh" -## Completion. -[ -r /etc/bash_completion ] && . /etc/bash_completion -[ -r $HOME/.bash_completion ] && . $HOME/.bash_completion - ###-------------------------------------------------------------------------- ### Colour output. @@ -157,7 +173,7 @@ alias zgrep="greplike zgrep" ## Turn off pagers inside Emacs shell buffers. case "$INSIDE_EMACS" in - 22.*,comint) export PAGER=cat ;; + 2[2-9].*,comint | [3-9][0-9].*,comint) export PAGER=cat ;; esac ###-------------------------------------------------------------------------- @@ -381,3 +397,5 @@ fi fi ###----- That's all, folks -------------------------------------------------- + +: