Merge pull request #3 from mikesten/master

Add branch dirty state to the prompt
This commit is contained in:
2012-08-16 08:10:30 -07:00
3 changed files with 23 additions and 11 deletions

View File

@@ -17,14 +17,17 @@ If you `cd` to a Git working directory, you will see the current Git branch name
## Installation
Clone the project to a `.bash` folder in your home directory:
git clone git://github.com/jimeh/git-aware-prompt.git ~/.bash
mkdir ~/.bash
cd ~/.bash
git clone git://github.com/mikesten/git-aware-prompt.git
Edit your `~/.profile` or `~/.bash_profile` and add the following to the top:
export DOTBASH=~/.bash
source $DOTBASH/main.sh
export PS1="\u@\h \w\[$txtcyn\]\$git_branch\[$txtrst\]\$ "
export GITAWAREPROMPT=~/.bash/git-aware-prompt
source $GITAWAREPROMPT/main.sh
export PS1="\u@\h \w\[$txtcyn\]\$git_branch\[$txtylw\]\$git_dirty\[$txtrst\]\$ "
Optionally, if you want a nice pretty prompt when using `sudo -s`, also add this line:

View File

@@ -1,2 +1,2 @@
source $DOTBASH/colors.sh
source $DOTBASH/prompt.sh
source $GITAWAREPROMPT/colors.sh
source $GITAWAREPROMPT/prompt.sh

View File

@@ -16,11 +16,20 @@ function find_git_branch {
done
git_branch=''
}
function find_git_dirty {
st=$(git status 2>/dev/null | tail -n 1)
if [[ $st == "" ]]; then
git_dirty=''
elif [[ $st == "nothing to commit (working directory clean)" ]]; then
git_dirty=''
else
git_dirty='*'
fi
}
PROMPT_COMMAND="find_git_branch; find_git_dirty; $PROMPT_COMMAND"
PROMPT_COMMAND="find_git_branch; $PROMPT_COMMAND"
# Default Git enabled prompt
# export PS1="\u@\h \w\[$txtcyn\]\$git_branch\[$txtrst\]\$ "
# Default Git enabled prompt with dirty state
# export PS1="\u@\h \w\[$txtcyn\]\$git_branch\[$txtylw\]\$git_dirty\[$txtrst\]\$ "
# Default Git enabled root prompt (for use with "sudo -s")
# export SUDO_PS1="\[$bakred\]\u@\h\[$txtrst\] \w\$ "