Last active
July 15, 2017 21:02
-
-
Save itotallyrock/4668e0a9ef46648adcd14000959856e6 to your computer and use it in GitHub Desktop.
My main modified .bashrc for custom ps1
This file contains 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 characters
# | |
# export __COLOR_DEFAULT="\e[39m" | |
# export __COLOR_RESET="$(tput sgr0)" | |
# export __COLOR_BLACK="\e[30m" | |
# export __COLOR_RED="\e[31m" | |
# export __COLOR_GREEN="\e[32m" | |
# export __COLOR_YELLOW="\e[33m" | |
# export __COLOR_BLUE="\e[34m" | |
# export __COLOR_MAGENTA="\e[35m" | |
# export __COLOR_CYAN="\e[36m" | |
# export __COLOR_LIGHT_GRAY="\e[37m" | |
# export __COLOR_DARK_GRAY="\e[90m" | |
# export __COLOR_LIGHT_RED="\e[91m" | |
# export __COLOR_LIGHT_GREEN="\e[92m" | |
# export __COLOR_LIGHT_YELLOW="\e[93m" | |
# export __COLOR_LIGHT_BLUE="\e[94m" | |
# export __COLOR_LIGHT_MAGENTA="\e[95m" | |
# export __COLOR_LIGHT_CYAN="\e[96m" | |
# export __COLOR_WHITE="\e[9" | |
get_256_foreground() { | |
echo "" | |
} | |
get_256_background() { | |
echo "" | |
} | |
# check if stdout is a terminal... | |
if test -t 1; then | |
# see if it supports colors... | |
ncolors=$(tput colors) | |
if test -n "$ncolors" && test $ncolors -ge 8; then | |
__color_reset="$(tput sgr0)" | |
__color_bold="$(tput bold)" | |
__color_underline="$(tput smul)" | |
__color_standout="$(tput smso)" | |
__color_normal="$(tput sgr0)" | |
__color_black="$(tput setaf 0)" | |
__color_red="$(tput setaf 1)" | |
__color_green="$(tput setaf 2)" | |
__color_yellow="$(tput setaf 3)" | |
__color_blue="$(tput setaf 4)" | |
__color_magenta="$(tput setaf 5)" | |
__color_cyan="$(tput setaf 6)" | |
__color_white="$(tput setaf 7)" | |
get_256_foreground() { | |
echo "\e[38;5;$1m" | |
} | |
get_256_background() { | |
echo "\e[48;5;$1m" | |
} | |
fi | |
fi | |
# Execute .bashrc in local directories | |
PROMPT_COMMAND+='if [[ "$bashrc" != "$PWD" && "$PWD" != "$HOME" && -e .bashrc ]]; then bashrc="$PWD"; . .bashrc; fi;' | |
parse_git_branch() { | |
## old method | |
# git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/\1/' | |
## Newer but easily brok | |
# git rev-parse --abbrev-ref HEAD | |
echo $(__git_ps1 | sed 's/[() ]//g') | |
# ' reset bad syntax highlighting | |
} | |
parse_git_hash() { | |
if [[ $(git rev-parse --short HEAD 2>/dev/null) == "" ]]; then | |
echo "-------" | |
else | |
git rev-parse --short HEAD | |
fi | |
} | |
prompt_git_dirty() { | |
git diff --exit-code --quiet &>/dev/null | |
retval=$? | |
if [ $retval -ne 0 ]; then | |
echo -en "$(get_256_foreground 1)(*)" | |
fi | |
} | |
get_machine_user() { | |
if [[ -n $SSH_CONNECTION ]]; then | |
echo -en "${__color_green}\\u${__color_reset}@${__color_cyan}\\h${__color_reset}:" | |
else | |
if [[ $(whoami) != "Jeffrey" ]]; then | |
echo -en "${__color_green}\\u${__color_reset}:" | |
fi | |
fi | |
} | |
MOD1_PS1="\e[0;32m\u\e[0m@\e[1;36m\h\e[0m:\e[0;33m\w \e[0;36m$(parse_git_branch)\e[0m\n\$ " | |
set_ps1() { | |
if ! git ls-files >& /dev/null; then | |
PS1="${__color_reset}$(get_256_background 0)\t $(get_machine_user)${__color_yellow}\w${__color_reset} \ | |
${__color_reset}\n\$ " | |
else | |
PS1="${__color_reset}$(get_machine_user)${__color_yellow}\w${__color_reset} \ | |
$(get_256_foreground 28)$(parse_git_branch)${__color_reset} \ | |
$(get_256_foreground 245)[$(get_256_foreground 221)$(parse_git_hash)$(get_256_foreground 245)]${__color_reset} \ | |
$(prompt_git_dirty)${__color_reset}\n\$ " | |
fi | |
} | |
PROMPT_COMMAND+='set_ps1;'; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment