dot/bashrc: Pull in completion magic early.
[profile] / dot / bashrc
index c26fad3..1ed4aa0 100644 (file)
@@ -1,4 +1,4 @@
-### -*-sh-*-
+### -*-bash-*-
 ###
 ### Bash session things
 
@@ -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`
@@ -24,9 +28,15 @@ __mdw_bashrc=done
 if [ -t 0 ]; then
 
   ## Fancy highlighting in some terminals.
+  marker=${STY+'\[\ek\e\\\]'}
   case "$TERM" in
     linux*|screen*|xterm*|vt100*|eterm*)
-      bold="\[$(tput bold)\]" unbold="\[$(tput sgr0)\]" nl="\[\r\]" ;;
+      case "$(tput bold)" in
+       "") bold="\[$(tput md)\]" unbold="\[$(tput me)\]" ;;
+       *) bold="\[$(tput bold)\]" unbold="\[$(tput sgr0)\]" ;;
+      esac
+      nl="\[\r\]"
+      ;;
     *)
       bold='' unbold='' nl='' ;;
   esac
@@ -39,7 +49,7 @@ if [ -t 0 ]; then
     right=`echo ยป | iconv -f UTF-8 -t //translit`
   else
     case $USER in
-      mdw|mwooding) u="" left="[" right="]" ;;
+      mdw|mwooding|nemo) u="" left="[" right="]" ;;
       *) u="\\u@" left="{" right="}" ;;
     esac
     if [ "$__mdw_tty" = "`tty`" ]; then
@@ -57,7 +67,7 @@ if [ -t 0 ]; then
   fi
 
   ## Build the prompt string.
-  PS1="$nl$bold$left$sec_l$u\\h$sec_r \\w$right$unbold"
+  PS1="$nl$bold$left$sec_l$u\\h$sec_r \\w$marker$right$unbold"
   PS2="$PS1 $bold>$unbold "
 
 fi
@@ -76,7 +86,7 @@ shopt -s cmdhist
 shopt -u dotglob
 shopt -s expand_aliases
 shopt -s extglob
-shopt -s globstar
+if (( ${BASH_VERSINFO[0]} >= 4 )); then shopt -s globstar; fi
 shopt -s gnu_errfmt
 shopt -s histappend
 shopt -s histreedit
@@ -111,10 +121,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.
 
@@ -125,7 +131,7 @@ else
   unset LS_COLORS
 fi
 
-ls () {
+unalias ls 2>/dev/null || :; function ls () {
   if [ -t 1 ]; then
     command ls $LS_OPTIONS ${LS_COLORS+--color=auto} "$@"
   else
@@ -151,7 +157,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
 
 ###--------------------------------------------------------------------------