diff --git a/README.md b/README.md index 761e1a1..91064a6 100644 --- a/README.md +++ b/README.md @@ -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: diff --git a/main.sh b/main.sh index dfbfdf7..ce85f74 100644 --- a/main.sh +++ b/main.sh @@ -1,2 +1,2 @@ -source $DOTBASH/colors.sh -source $DOTBASH/prompt.sh \ No newline at end of file +source $GITAWAREPROMPT/colors.sh +source $GITAWAREPROMPT/prompt.sh \ No newline at end of file diff --git a/prompt.sh b/prompt.sh index 6664936..5385754 100644 --- a/prompt.sh +++ b/prompt.sh @@ -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\$ " \ No newline at end of file