63 lines
2.3 KiB
Bash
63 lines
2.3 KiB
Bash
# uncomment for a colored prompt, if the terminal has the capability; turned
|
|
# off by default to not distract the user: the focus in a terminal window
|
|
# should be on the output of commands, not on the prompt
|
|
force_color_prompt=yes
|
|
|
|
if [ -n "$force_color_prompt" ]; then
|
|
if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then
|
|
# We have color support; assume it's compliant with Ecma-48
|
|
# (ISO/IEC-6429). (Lack of such support is extremely rare, and such
|
|
# a case would tend to support setf rather than setaf.)
|
|
color_prompt=yes
|
|
else
|
|
color_prompt=
|
|
fi
|
|
fi
|
|
|
|
if [ "$color_prompt" = yes ]; then
|
|
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;31m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
|
|
else
|
|
PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
|
|
fi
|
|
unset color_prompt force_color_prompt
|
|
|
|
# enable color support of ls and also add handy aliases
|
|
if [ -x /usr/bin/dircolors ]; then
|
|
test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
|
|
alias ls='ls --color=auto'
|
|
#alias dir='dir --color=auto'
|
|
#alias vdir='vdir --color=auto'
|
|
|
|
alias grep='grep --color=auto'
|
|
alias fgrep='fgrep --color=auto'
|
|
alias egrep='egrep --color=auto'
|
|
fi
|
|
|
|
# some more ls aliases
|
|
alias ll='ls -alF'
|
|
alias la='ls -A'
|
|
alias l='ls -CF'
|
|
alias cd..='cd ..'
|
|
|
|
test -f ~/.git_completion/.git-completion.bash && . $_
|
|
|
|
# http://henrik.nyh.se/2008/12/git-dirty-prompt
|
|
# http://www.simplisticcomplexity.com/2008/03/13/show-your-git-branch-name-in-your-prompt/
|
|
# username@Machine ~/dev/dir[master]$ # clean working directory
|
|
# username@Machine ~/dev/dir[master*]$ # dirty working directory
|
|
|
|
function parse_git_dirty {
|
|
[[ $(git status 2> /dev/null | tail -n1) != "nothing to commit (working directory clean)" ]] && echo "*"
|
|
}
|
|
function parse_git_branch {
|
|
# git branch --no-color 2> /dev/null | sed -e '/^[^*]/d' -e "s/* \(.*\)/[\1$(parse_git_dirty)]/"
|
|
git branch --no-color 2> /dev/null | sed -e '/^[^*]/d' -e "s/* \(.*\)/[\1$(parse_git_dirty)]/"
|
|
}
|
|
#export PS1='\u@\h \[\033[1;33m\]\w \[\033[0m\]$(parse_git_branch)$ '
|
|
export PS1='\[\033[1;31m\]\u@\h \[\033[1;34m\]\w \[\033[1;32m\]$(parse_git_branch)\[\033[0m\]$ '
|
|
|
|
# Local customized path and environment settings, etc.
|
|
if [ -f ~/.bashrc.local ]; then
|
|
. ~/.bashrc.local
|
|
fi
|