diff options
Diffstat (limited to 'git-aware-prompt/prompt.sh')
-rw-r--r-- | git-aware-prompt/prompt.sh | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/git-aware-prompt/prompt.sh b/git-aware-prompt/prompt.sh new file mode 100644 index 0000000..6a737b8 --- /dev/null +++ b/git-aware-prompt/prompt.sh @@ -0,0 +1,32 @@ +find_git_branch() { + # Based on: http://stackoverflow.com/a/13003854/170413 + local branch + if branch=$(git rev-parse --abbrev-ref HEAD 2> /dev/null); then + if [[ "$branch" == "HEAD" ]]; then + branch='detached*' + fi + git_branch="($branch)" + else + git_branch="" + fi +} + +find_git_dirty() { + local status=$(git status --porcelain 2> /dev/null) + if [[ "$status" != "" ]]; then + git_dirty='*' + else + git_dirty='' + fi +} + +PROMPT_COMMAND="find_git_branch; find_git_dirty; $PROMPT_COMMAND" + +# Default Git enabled prompt with dirty state +# export PS1="\u@\h \w \[$txtcyn\]\$git_branch\[$txtred\]\$git_dirty\[$txtrst\]\$ " + +# Another variant: +# export PS1="\[$bldgrn\]\u@\h\[$txtrst\] \w \[$bldylw\]\$git_branch\[$txtcyn\]\$git_dirty\[$txtrst\]\$ " + +# Default Git enabled root prompt (for use with "sudo -s") +# export SUDO_PS1="\[$bakred\]\u@\h\[$txtrst\] \w\$ " |