From: W. Trevor King Date: Thu, 1 Dec 2011 12:07:48 +0000 (-0500) Subject: Add prompt and dircolors setup .bashrc.d/15prompt_dircolors from Gentoo's /etc/bash... X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=79e9447957a01a516a2710f0d0c883dd21d5695e;p=dotfiles-public.git Add prompt and dircolors setup .bashrc.d/15prompt_dircolors from Gentoo's /etc/bash/bashrc. --- diff --git a/src/.bashrc.d/15prompt_dircolors b/src/.bashrc.d/15prompt_dircolors new file mode 100644 index 0000000..dbb5b8f --- /dev/null +++ b/src/.bashrc.d/15prompt_dircolors @@ -0,0 +1,47 @@ +if [ "${OS}" != 'Gentoo' ] && [ "${OS}" != 'Gentoo Prefix' ]; then + use_color=false + + # Set colorful PS1 only on colorful terminals. + # dircolors --print-database uses its own built-in database + # instead of using /etc/DIR_COLORS. Try to use the external file + # first to take advantage of user additions. Use internal bash + # globbing instead of external grep binary. + safe_term=${TERM//[^[:alnum:]]/?} # sanitize TERM + match_lhs="" + [[ -f ~/.dir_colors ]] && match_lhs="${match_lhs}$(<~/.dir_colors)" + [[ -f /etc/DIR_COLORS ]] && match_lhs="${match_lhs}$(/dev/null \ + && match_lhs=$(dircolors --print-database) + [[ $'\n'${match_lhs} == *$'\n'"TERM "${safe_term}* ]] && use_color=true + + if ${use_color} ; then + # Enable colors for ls, etc. Prefer ~/.dir_colors #64489 + if type -P dircolors >/dev/null ; then + if [[ -f ~/.dir_colors ]] ; then + eval $(dircolors -b ~/.dir_colors) + elif [[ -f /etc/DIR_COLORS ]] ; then + eval $(dircolors -b /etc/DIR_COLORS) + fi + fi + + if [[ ${EUID} == 0 ]] ; then + PS1='\[\033[01;31m\]\h\[\033[01;34m\] \W \$\[\033[00m\] ' + else + PS1='\[\033[01;32m\]\u@\h\[\033[01;34m\] \w \$\[\033[00m\] ' + fi + + alias ls='ls --color=auto' + alias grep='grep --colour=auto' + else + if [[ ${EUID} == 0 ]] ; then + # show root@ when we don't have colors + PS1='\u@\h \W \$ ' + else + PS1='\u@\h \w \$ ' + fi + fi + + # Try to keep environment pollution down, EPA loves us. + unset use_color safe_term match_lhs +fi