-
-
Save adambullmer/a31e55788b1a400e25c8 to your computer and use it in GitHub Desktop.
Revisions
-
adambullmer revised this gist
Jul 15, 2014 . 1 changed file with 2 additions and 2 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -55,9 +55,9 @@ function set_git_branch { fi # Set arrow icon based on status against remote. remote_pattern="^(# )?Your branch is (ahead|behind)+ " if [[ ${git_status} =~ ${remote_pattern} ]]; then if [[ ${BASH_REMATCH[2]} == "ahead" ]]; then remote="↑" else remote="↓" -
adambullmer revised this gist
Jul 15, 2014 . 1 changed file with 2 additions and 2 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -71,9 +71,9 @@ function set_git_branch { fi # Get the name of the branch. branch_pattern="^(# )?On branch ([^${IFS}]*)" if [[ ${git_status} =~ ${branch_pattern} ]]; then branch=${BASH_REMATCH[2]} fi # Set the final branch string. -
adambullmer revised this gist
Jul 15, 2014 . 1 changed file with 1 addition and 0 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -1,6 +1,7 @@ #!/bin/bash # # DESCRIPTION: # Customized to look beautiful using the molokai terminal theme # # Set the bash prompt according to: # * the active virtualenv -
adambullmer revised this gist
Jul 15, 2014 . 1 changed file with 35 additions and 18 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -20,39 +20,41 @@ # Based on work by woods # # https://gist.github.com/31967 # The various escape codes that we can use to color our prompt. RED="\[\033[0;31m\]" YELLOW="\[\033[1;33m\]" ORANGE="\[\033[0;33m\]" GREEN="\[\033[0;32m\]" BLUE="\[\033[1;34m\]" CYAN="\[\033[1;36m\]" LIGHT_RED="\[\033[1;31m\]" LIGHT_GREEN="\[\033[1;32m\]" WHITE="\[\033[1;37m\]" LIGHT_GRAY="\[\033[0;37m\]" COLOR_NONE="\[\e[0m\]" # Detect whether the current directory is a git repository. function is_git_repository { git branch > /dev/null 2>&1 } # Determine the branch/state information for this git repository. function set_git_branch { # Capture the output of the "git status" command. git_status="$(git status 2> /dev/null)" # Set color based on clean/staged/dirty. if [[ ${git_status} =~ "working directory clean" ]]; then state="${GREEN}" elif [[ ${git_status} =~ "Changes to be committed" ]]; then state="${YELLOW}" else state="${RED}" fi # Set arrow icon based on status against remote. remote_pattern="# Your branch is (ahead|behind)+ " if [[ ${git_status} =~ ${remote_pattern} ]]; then if [[ ${BASH_REMATCH[1]} == "ahead" ]]; then remote="↑" @@ -66,57 +68,72 @@ function set_git_branch { if [[ ${git_status} =~ ${diverge_pattern} ]]; then remote="↕" fi # Get the name of the branch. branch_pattern="^# On branch ([^${IFS}]*)" if [[ ${git_status} =~ ${branch_pattern} ]]; then branch=${BASH_REMATCH[1]} fi # Set the final branch string. BRANCH="${state}(${branch})${remote}${COLOR_NONE} " } # Return the prompt symbol to use, colorized based on the return value of the # previous command. function set_prompt_symbol () { if test $1 -eq 0 ; then PROMPT_SYMBOL="${LIGHT_GREEN}\$${COLOR_NONE}" else PROMPT_SYMBOL="${LIGHT_RED}\$${COLOR_NONE}" fi } # Determine active Python virtualenv details. function set_virtualenv () { if test -z "$VIRTUAL_ENV" ; then PYTHON_VIRTUALENV="" else PYTHON_VIRTUALENV="${ORANGE}[`basename \"$VIRTUAL_ENV\"`]${COLOR_NONE} " fi } # Echo out all the color choices for posterity function echo_colors() { echo -e "${RED}RED${COLOR_NONE}" echo -e "${LIGHT_RED}LIGHT_RED${COLOR_NONE}" echo -e "${ORANGE}ORANGE${COLOR_NONE}" echo -e "${YELLOW}YELLOW${COLOR_NONE}" echo -e "${GREEN}GREEN${COLOR_NONE}" echo -e "${LIGHT_GREEN}LIGHT_GREEN${COLOR_NONE}" echo -e "${BLUE}BLUE${COLOR_NONE}" echo -e "${CYAN}CYAN${COLOR_NONE}" echo -e "${WHITE}WHITE${COLOR_NONE}" echo -e "${LIGHT_GRAY}LIGHT_GRAY${COLOR_NONE}" } # Set the full bash prompt. function set_bash_prompt () { # Set the PROMPT_SYMBOL variable. We do this first so we don't lose the # return value of the last command. set_prompt_symbol $? # Set the PYTHON_VIRTUALENV variable. set_virtualenv # Set the BRANCH variable. if is_git_repository ; then set_git_branch else BRANCH='' fi # Set the bash prompt variable. PS1=" ${PYTHON_VIRTUALENV}${GREEN}\u@\h ${CYAN}\w${COLOR_NONE} ${BRANCH} ${PROMPT_SYMBOL} " } # Tell bash to execute this function just before displaying its prompt. PROMPT_COMMAND=set_bash_prompt -
insin revised this gist
Dec 3, 2011 . 1 changed file with 6 additions and 6 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -23,9 +23,9 @@ # The various escape codes that we can use to color our prompt. RED="\[\033[0;31m\]" YELLOW="\[\033[1;33m\]" GREEN="\[\033[0;32m\]" BLUE="\[\033[1;34m\]" LIGHT_RED="\[\033[1;31m\]" LIGHT_GREEN="\[\033[1;32m\]" WHITE="\[\033[1;37m\]" @@ -48,7 +48,7 @@ function set_git_branch { elif [[ ${git_status} =~ "Changes to be committed" ]]; then state="${YELLOW}" else state="${LIGHT_RED}" fi # Set arrow icon based on status against remote. @@ -83,7 +83,7 @@ function set_prompt_symbol () { if test $1 -eq 0 ; then PROMPT_SYMBOL="\$" else PROMPT_SYMBOL="${LIGHT_RED}\$${COLOR_NONE}" fi } @@ -92,7 +92,7 @@ function set_virtualenv () { if test -z "$VIRTUAL_ENV" ; then PYTHON_VIRTUALENV="" else PYTHON_VIRTUALENV="${BLUE}[`basename \"$VIRTUAL_ENV\"`]${COLOR_NONE} " fi } @@ -114,7 +114,7 @@ function set_bash_prompt () { # Set the bash prompt variable. PS1=" ${PYTHON_VIRTUALENV}${GREEN}\u@\h ${YELLOW}\w${COLOR_NONE} ${BRANCH} ${PROMPT_SYMBOL} " } -
insin revised this gist
Dec 3, 2011 . 1 changed file with 1 addition and 1 deletion.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -12,7 +12,7 @@ # USAGE: # # 1. Save this file as ~/.bash_prompt # 2. Add the following line to the end of your ~/.bashrc or ~/.bash_profile: # . ~/.bash_prompt # # LINEAGE: -
insin renamed this gist
Dec 3, 2011 . 1 changed file with 29 additions and 43 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -3,25 +3,23 @@ # DESCRIPTION: # # Set the bash prompt according to: # * the active virtualenv # * the branch/status of the current git repository # * the return value of the previous command # * the fact you just came from Windows and are used to having newlines in # your prompts. # # USAGE: # # 1. Save this file as ~/.bash_prompt # 2. Add the following line to the end of your ~/.profile or ~/.bash_profile: # . ~/.bash_prompt # # LINEAGE: # # Based on work by woods # # https://gist.github.com/31967 # The various escape codes that we can use to color our prompt. RED="\[\033[0;31m\]" @@ -39,11 +37,6 @@ function is_git_repository { git branch > /dev/null 2>&1 } # Determine the branch/state information for this git repository. function set_git_branch { # Capture the output of the "git status" command. @@ -57,7 +50,7 @@ function set_git_branch { else state="${RED}" fi # Set arrow icon based on status against remote. remote_pattern="# Your branch is (.*) of" if [[ ${git_status} =~ ${remote_pattern} ]]; then @@ -73,9 +66,9 @@ function set_git_branch { if [[ ${git_status} =~ ${diverge_pattern} ]]; then remote="↕" fi # Get the name of the branch. branch_pattern="^# On branch ([^${IFS}]*)" if [[ ${git_status} =~ ${branch_pattern} ]]; then branch=${BASH_REMATCH[1]} fi @@ -84,25 +77,6 @@ function set_git_branch { BRANCH="${state}(${branch})${remote}${COLOR_NONE} " } # Return the prompt symbol to use, colorized based on the return value of the # previous command. function set_prompt_symbol () { @@ -113,23 +87,35 @@ function set_prompt_symbol () { fi } # Determine active Python virtualenv details. function set_virtualenv () { if test -z "$VIRTUAL_ENV" ; then PYTHON_VIRTUALENV="" else PYTHON_VIRTUALENV="${GREEN}(`basename \"$VIRTUAL_ENV\"`)${COLOR_NONE} " fi } # Set the full bash prompt. function set_bash_prompt () { # Set the PROMPT_SYMBOL variable. We do this first so we don't lose the # return value of the last command. set_prompt_symbol $? # Set the PYTHON_VIRTUALENV variable. set_virtualenv # Set the BRANCH variable. if is_git_repository ; then set_git_branch else BRANCH='' fi # Set the bash prompt variable. PS1=" ${PYTHON_VIRTUALENV}\u@\h \w ${BRANCH} ${PROMPT_SYMBOL} " } # Tell bash to execute this function just before displaying its prompt. -
woods revised this gist
Mar 5, 2010 . 1 changed file with 2 additions and 0 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -66,6 +66,8 @@ function set_git_branch { else remote="↓" fi else remote="" fi diverge_pattern="# Your branch and (.*) have diverged" if [[ ${git_status} =~ ${diverge_pattern} ]]; then -
woods revised this gist
Aug 15, 2009 . 1 changed file with 2 additions and 1 deletion.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -82,7 +82,8 @@ function set_git_branch { BRANCH="${state}(${branch})${remote}${COLOR_NONE} " } # Determine the branch information for this subversion repository. No support # for svn status, since that needs to hit the remote repository. function set_svn_branch { # Capture the output of the "git status" command. svn_info="$(svn info | egrep '^URL: ' 2> /dev/null)" -
woods revised this gist
Aug 15, 2009 . 1 changed file with 2 additions and 0 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -18,6 +18,8 @@ # Scott Woods <[email protected]> # West Arete Computing # # Based on work by halbtuerke and lakiolen. # # http://gist.github.com/31967 -
woods revised this gist
Aug 15, 2009 . 1 changed file with 18 additions and 7 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -1,14 +1,25 @@ #!/bin/bash # # DESCRIPTION: # # Set the bash prompt according to: # * the branch/status of the current git repository # * the branch of the current subversion repository # * the return value of the previous command # # USAGE: # # 1. Save this file as ~/.git_svn_bash_prompt # 2. Add the following line to the end of your ~/.profile or ~/.bash_profile: # . ~/.git_svn_bash_prompt # # AUTHOR: # # Scott Woods <[email protected]> # West Arete Computing # # http://gist.github.com/31967 # The various escape codes that we can use to color our prompt. RED="\[\033[0;31m\]" -
woods revised this gist
Aug 15, 2009 . 1 changed file with 1 addition and 1 deletion.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -5,7 +5,7 @@ # * the branch of the current subversion repository # * the return value of the previous command # # http://gist.github.com/31967 # # Scott Woods <[email protected]> # West Arete Computing -
woods revised this gist
Aug 15, 2009 . 1 changed file with 24 additions and 17 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -32,7 +32,7 @@ function is_svn_repository { } # Determine the branch/state information for this git repository. function set_git_branch { # Capture the output of the "git status" command. git_status="$(git status 2> /dev/null)" @@ -65,12 +65,12 @@ function parse_git_branch { branch=${BASH_REMATCH[1]} fi # Set the final branch string. BRANCH="${state}(${branch})${remote}${COLOR_NONE} " } # Determine the branch information for this subversion repository. function set_svn_branch { # Capture the output of the "git status" command. svn_info="$(svn info | egrep '^URL: ' 2> /dev/null)" @@ -83,31 +83,38 @@ function parse_svn_branch { branch='trunk' fi # Set the final branch string. BRANCH="(${branch}) " } # Return the prompt symbol to use, colorized based on the return value of the # previous command. function set_prompt_symbol () { if test $1 -eq 0 ; then PROMPT_SYMBOL="\$" else PROMPT_SYMBOL="${RED}\$${COLOR_NONE}" fi } # Set the full bash prompt. function set_bash_prompt () { # Set the PROMPT_SYMBOL variable. We do this first so we don't lose the # return value of the last command. set_prompt_symbol $? # Set the BRANCH variable. if is_git_repository ; then set_git_branch elif is_svn_repository ; then set_svn_branch else BRANCH='' fi # Set the bash prompt variable. PS1="\u@\h \w ${BRANCH}${PROMPT_SYMBOL} " } # Tell bash to execute this function just before displaying its prompt. PROMPT_COMMAND=set_bash_prompt -
woods revised this gist
Aug 15, 2009 . 1 changed file with 112 additions and 76 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -1,77 +1,113 @@ #!/bin/bash # # Set our bash prompt according to: # * the branch/status of the current git repository # * the branch of the current subversion repository # * the return value of the previous command # # Originally based on http://gist.github.com/31934 # # Scott Woods <[email protected]> # West Arete Computing # The various escape codes that we can use to color our prompt. RED="\[\033[0;31m\]" YELLOW="\[\033[0;33m\]" GREEN="\[\033[0;32m\]" BLUE="\[\033[0;34m\]" LIGHT_RED="\[\033[1;31m\]" LIGHT_GREEN="\[\033[1;32m\]" WHITE="\[\033[1;37m\]" LIGHT_GRAY="\[\033[0;37m\]" COLOR_NONE="\[\e[0m\]" # Detect whether the current directory is a git repository. function is_git_repository { git branch > /dev/null 2>&1 } # Detect whether the current directory is a subversion repository. function is_svn_repository { test -d .svn } # Determine the branch/state information for this git repository. function parse_git_branch { # Capture the output of the "git status" command. git_status="$(git status 2> /dev/null)" # Set color based on clean/staged/dirty. if [[ ${git_status} =~ "working directory clean" ]]; then state="${GREEN}" elif [[ ${git_status} =~ "Changes to be committed" ]]; then state="${YELLOW}" else state="${RED}" fi # Set arrow icon based on status against remote. remote_pattern="# Your branch is (.*) of" if [[ ${git_status} =~ ${remote_pattern} ]]; then if [[ ${BASH_REMATCH[1]} == "ahead" ]]; then remote="↑" else remote="↓" fi fi diverge_pattern="# Your branch and (.*) have diverged" if [[ ${git_status} =~ ${diverge_pattern} ]]; then remote="↕" fi # Get the name of the branch. branch_pattern="^# On branch ([^${IFS}]*)" if [[ ${git_status} =~ ${branch_pattern} ]]; then branch=${BASH_REMATCH[1]} fi # Return the prompt. echo "${state}(${branch})${remote}${COLOR_NONE} " } # Determine the branch information for this subversion repository. function parse_svn_branch { # Capture the output of the "git status" command. svn_info="$(svn info | egrep '^URL: ' 2> /dev/null)" # Get the name of the branch. branch_pattern="^URL: .*/(branches|tags)/([^/]+)" trunk_pattern="^URL: .*/trunk(/.*)?$" if [[ ${svn_info} =~ $branch_pattern ]]; then branch=${BASH_REMATCH[2]} elif [[ ${svn_info} =~ $trunk_pattern ]]; then branch='trunk' fi # Return the prompt. echo "(${branch}) " } # Return the prompt symbol to use, colorized based on the return value of the # previous command. function prompt_symbol () { if test $1 -eq 0 ; then echo "\$" else echo "${RED}\$${COLOR_NONE}" fi } # Set the full prompt. function prompt_func () { last_return_value=$? if is_git_repository ; then branch="$(parse_git_branch)" elif is_svn_repository ; then branch="$(parse_svn_branch)" else branch='' fi PS1="\u@\h \w $branch$(prompt_symbol $last_return_value) " } PROMPT_COMMAND=prompt_func -
woods renamed this gist
Aug 15, 2009 . 1 changed file with 0 additions and 0 deletions.There are no files selected for viewing
File renamed without changes. -
woods revised this gist
Dec 26, 2008 . 1 changed file with 19 additions and 9 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -3,7 +3,7 @@ # Set our bash prompt according to the branch/status of the current git # repository. # # Forked from http://gist.github.com/31934 RED="\[\033[0;31m\]" YELLOW="\[\033[0;33m\]" @@ -20,33 +20,43 @@ function is_git_repository { } function parse_git_branch { # Only display git info if we're inside a git repository. is_git_repository || return 1 # Capture the output of the "git status" command. git_status="$(git status 2> /dev/null)" # Set color based on clean/staged/dirty. if [[ ${git_status} =~ "working directory clean" ]]; then state="${GREEN}" elif [[ ${git_status} =~ "Changes to be committed" ]]; then state="${YELLOW}" else state="${RED}" fi # Set arrow icon based on status against remote. remote_pattern="# Your branch is (.*) of" if [[ ${git_status} =~ ${remote_pattern} ]]; then if [[ ${BASH_REMATCH[1]} == "ahead" ]]; then remote="↑" else remote="↓" fi fi diverge_pattern="# Your branch and (.*) have diverged" if [[ ${git_status} =~ ${diverge_pattern} ]]; then remote="↕" fi # Get the name of the branch. branch_pattern="^# On branch ([^${IFS}]*)" if [[ ${git_status} =~ ${branch_pattern} ]]; then branch=${BASH_REMATCH[1]} fi # Display the prompt. echo "${state}(${branch})${remote}${COLOR_NONE} " } function prompt_symbol () { -
woods revised this gist
Dec 5, 2008 . 1 changed file with 36 additions and 19 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -1,50 +1,67 @@ #!/bin/bash # # Set our bash prompt according to the branch/status of the current git # repository. # # Taken from http://gist.github.com/31934 RED="\[\033[0;31m\]" YELLOW="\[\033[0;33m\]" GREEN="\[\033[0;32m\]" BLUE="\[\033[0;34m\]" LIGHT_RED="\[\033[1;31m\]" LIGHT_GREEN="\[\033[1;32m\]" WHITE="\[\033[1;37m\]" LIGHT_GRAY="\[\033[0;37m\]" COLOR_NONE="\[\e[0m\]" function is_git_repository { git branch > /dev/null 2>&1 } function parse_git_branch { is_git_repository || return 1 git_status="$(git status 2> /dev/null)" branch_pattern="^# On branch ([^${IFS}]*)" remote_pattern="# Your branch is (.*) of" diverge_pattern="# Your branch and (.*) have diverged" if [[ ${git_status} =~ "working directory clean" ]]; then state="${GREEN}" elif [[ ${git_status} =~ "Untracked files" ]]; then state="${RED}" else state="${YELLOW}" fi # add an else if or two here if you want to get more specific if [[ ${git_status} =~ ${remote_pattern} ]]; then if [[ ${BASH_REMATCH[1]} == "ahead" ]]; then remote="↑" else remote="↓" fi fi if [[ ${git_status} =~ ${diverge_pattern} ]]; then remote="↕" fi if [[ ${git_status} =~ ${branch_pattern} ]]; then branch=${BASH_REMATCH[1]} echo "${state}(${branch})${remote}${COLOR_NONE} " fi } function prompt_symbol () { # Set color of dollar prompt based on return value of previous command. if test $1 -eq 0 then echo "\$" else echo "${RED}\$${COLOR_NONE}" fi } function prompt_func () { last_return_value=$? PS1="\u@\h \w $(parse_git_branch)$(prompt_symbol $last_return_value) " } PROMPT_COMMAND=prompt_func -
halbtuerke revised this gist
Dec 4, 2008 . 1 changed file with 31 additions and 6 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -1,25 +1,50 @@ RED="\[\033[0;31m\]" YELLOW="\[\033[0;33m\]" GREEN="\[\033[0;32m\]" BLUE="\[\033[0;34m\]" LIGHT_RED="\[\033[1;31m\]" LIGHT_GREEN="\[\033[1;32m\]" WHITE="\[\033[1;37m\]" LIGHT_GRAY="\[\033[0;37m\]" COLOR_NONE="\[\e[0m\]" function parse_git_branch { [ -d .git ] || return 1 git_status="$(git status 2> /dev/null)" branch_pattern="^# On branch ([^${IFS}]*)" remote_pattern="# Your branch is (.*) of" diverge_pattern="# Your branch and (.*) have diverged" if [[ ! ${git_status}} =~ "working directory clean" ]]; then state="${RED}⚡" fi # add an else if or two here if you want to get more specific if [[ ${git_status} =~ ${remote_pattern} ]]; then if [[ ${BASH_REMATCH[1]} == "ahead" ]]; then remote="${YELLOW}↑" else remote="${YELLOW}↓" fi fi if [[ ${git_status} =~ ${diverge_pattern} ]]; then remote="${YELLOW}↕" fi if [[ ${git_status} =~ ${branch_pattern} ]]; then branch=${BASH_REMATCH[1]} echo " (${branch})${remote}${state}" fi } function prompt_func() { previous_return_value=$?; # prompt="${TITLEBAR}$BLUE[$RED\w$GREEN$(__git_ps1)$YELLOW$(git_dirty_flag)$BLUE]$COLOR_NONE " prompt="${TITLEBAR}${BLUE}[${RED}\w${GREEN}$(parse_git_branch)${BLUE}]${COLOR_NONE} " if test $previous_return_value -eq 0 then PS1="${prompt}➔ " else PS1="${prompt}${RED}➔${COLOR_NONE} " fi } PROMPT_COMMAND=prompt_func -
lakiolen revised this gist
Dec 4, 2008 . 1 changed file with 17 additions and 5 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -1,13 +1,25 @@ function parse_git_branch { [ -d .git ] || return 1 git_status="$(git status 2> /dev/null)" branch_pattern="^# On branch ([^${IFS}]*)" remote_pattern="# Your branch is (.*) of" diverge_pattern="# Your branch and (.*) have diverged" if [[ ! ${git_status}} =~ "working directory clean" ]]; then state="*" fi # add an else if or two here if you want to get more specific if [[ ${git_status} =~ ${remote_pattern} ]]; then if [[ ${BASH_REMATCH[1]} == "ahead" ]]; then remote="↑" else remote="↓" fi fi if [[ ${git_status} =~ ${diverge_pattern} ]]; then remote="↕" fi if [[ ${git_status} =~ ${branch_pattern} ]]; then branch=${BASH_REMATCH[1]} echo " <${branch}${state}${remote}>" fi } -
There are no files selected for viewing
File renamed without changes. -
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,13 @@ function parse_git_branch { git_status="$(git status 2> /dev/null)" pattern="^# On branch ([^${IFS}]*)" if [[ ! ${git_status}} =~ "working directory clean" ]]; then state="*" fi # add an else if or two here if you want to get more specific if [[ ${git_status} =~ ${pattern} ]]; then branch=${BASH_REMATCH[1]} echo "[${branch}${state}]" fi }