summaryrefslogtreecommitdiffstats
path: root/dotfiles/bashrc
blob: 1d4f72a03209282e7446f14d17d356ace81acf09 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
# .bashrc

# Source global definitions
if [ -f /etc/bashrc ]; then
	. /etc/bashrc
fi

# User specific aliases and functions

if [ -f /etc/bash_completion ]; then
  . /etc/bash_completion
fi

shopt -s histappend

EDITOR="emacsclient"
export EDITOR

_format_wd ()
{
  pwd=$(pwd)
  base=$(basename $pwd)
  parent=$(basename $(dirname $pwd)) 
  pparent=$(basename $(dirname $parent)) 
  if test $pparent != "/"; then
    echo -n "$parent/";
    tput bold; echo -n $base; tput sgr0
  else 
    if test $parent != "/"; then
      echo -n "/$parent/"
      tput bold; echo -n $base; tput sgr0
    else
      echo -n "/";
      tput bold; echo -n $base; tput sgr0
    fi
  fi
}

_format_inroot_dir ()
{
  if test -z "$INROOT_DIR" && test -n "$CERTIFIED_GNOMIE"; then
    # sort of a hack...
    INROOT_DIR="$MONO_GAC_PREFIX"
  fi
  if test -n "$INROOT_DIR"; then
    echo " [root=$INROOT_DIR]"
  fi
}

_format_uid ()
{
  if test $(id -u) = '0'; then
    echo -n " <"; tput rev; echo -n "uid=0"; tput sgr0; echo -n ">"; 
  fi
}

PS1_PREFIX='$(_format_wd)$(_format_uid)$(_format_inroot_dir)'
if test -n "$BASH_COMPLETION" && test -f /etc/bash_completion.d/git; then
  PS1_PREFIX="$PS1_PREFIX"'$(__git_ps1 " [git %s]")'
fi

PS1="$PS1_PREFIX"' \$ '
export PS1