From 15b95c263f73e6a7db97de5b5597f272ea1bff77 Mon Sep 17 00:00:00 2001 From: Mark Wooding Date: Thu, 15 May 2008 11:41:56 +0100 Subject: [PATCH] bashrc, dircolors: Enable colouring for `dumb' terminals. Modern Emacsen understand colour codes in shell mode, so this is OK. Also use tput to find the bolding codes, and add support for Emacs's `eterm' terminal. --- bashrc | 70 +++++++++++++++++++++++++++++++-------------------------------- dircolors | 2 ++ 2 files changed, 36 insertions(+), 36 deletions(-) diff --git a/bashrc b/bashrc index 755dffa..6759da7 100644 --- a/bashrc +++ b/bashrc @@ -14,50 +14,49 @@ __mdw_bashrc=done if [ -t 0 ]; then - if [ "$TERM" = "dumb" ]; then - if (( EUID == 0 )); then PS1="# "; else PS1="\$ "; fi - PS2="> " - PS4="+ " - else + case "$TERM" in + linux*|screen*|xterm*|vt100*|eterm*) + bold="\[$(tput bold)\]" unbold="\[$(tput sgr0)\]" nl="\[ \]" ;; + *) + bold='' unbold='' nl='' ;; + esac - case "$TERM" in - linux*|screen*|xterm*|vt100*) - bold='\[\]' unbold='\[\]' nl='\[ \]' ;; + if (( EUID == 0 )); then + left=`echo « | iconv -f utf8 -t //translit` + right=`echo » | iconv -f utf8 -t //translit` + else + case $USER in + mdw|mwooding) + u="" left="[" right="]" + ;; *) - bold='' unbold='' nl='' ;; + u="\\u@" left="{" right="}" + ;; esac - - if (( EUID == 0 )); then - left=`echo « | iconv -f utf8 -t //translit` - right=`echo » | iconv -f utf8 -t //translit` + if [ "$__mdw_tty" = "`tty`" ]; then + left="<" right=">" else - case $USER in - mdw|mwooding) - u="" left="[" right="]" - ;; - *) - u="\\u@" left="{" right="}" - ;; - esac - if [ "$__mdw_tty" = "`tty`" ]; then - left="<" right=">" - else - export __mdw_tty="`tty`" - fi - fi - - if [ -z "$SSH_CLIENT" ] && - [ "$__mdw_sechost" != "`hostname`" ] - then - sec_l='(' sec_r=')' + export __mdw_tty="`tty`" fi + fi - PS1="$nl$bold$left$sec_l$u\\h$sec_r \\w$right$unbold" - PS2="$PS1 $bold>$unbold " + if [ -z "$SSH_CLIENT" ] && + [ "$__mdw_sechost" != "`hostname`" ] + then + sec_l='(' sec_r=')' fi + PS1="$nl$bold$left$sec_l$u\\h$sec_r \\w$right$unbold" + PS2="$PS1 $bold>$unbold " + fi # is stdin a tty? +# --- Pagers are less useful within Emacs --- + +case "$INSIDE_EMACS" in + 22.*,comint) export PAGER=cat ;; +esac + # --- Little preferences --- notify=1 @@ -99,8 +98,7 @@ shopt -s sourcepath # --- Some colour `ls' support --- [ "${TMPDIR+yes}" ] || eval `tmpdir -b` -if [ -x /usr/bin/dircolors -o -x /usr/local/bin/dircolors ] && - [ "$TERM" != "dumb" ]; then +if [ -x /usr/bin/dircolors -o -x /usr/local/bin/dircolors ]; then eval `dircolors -b ~/.dircolors` else unset LS_COLORS diff --git a/dircolors b/dircolors index 85915b9..37c1af1 100644 --- a/dircolors +++ b/dircolors @@ -6,6 +6,8 @@ # Below, there should be one TERM entry for each termtype that is colorizable TERM linux +TERM dumb +TERM eterm-color TERM console TERM con132x25 TERM con132x30 -- 2.11.0