aboutsummaryrefslogtreecommitdiff
path: root/bash/colors.sh
diff options
context:
space:
mode:
Diffstat (limited to 'bash/colors.sh')
-rw-r--r--bash/colors.sh228
1 files changed, 228 insertions, 0 deletions
diff --git a/bash/colors.sh b/bash/colors.sh
new file mode 100644
index 0000000..7548803
--- /dev/null
+++ b/bash/colors.sh
@@ -0,0 +1,228 @@
+#!/usr/bin/env bash
+
+# Customize BASH PS1 prompt to show current GIT repository and branch.
+# by Mike Stewart - http://MediaDoneRight.com
+
+# SETUP CONSTANTS
+# Bunch-o-predefined colors. Makes reading code easier than escape sequences.
+# I don't remember where I found this. o_O
+
+# Reset
+Color_Off="\[\033[0m\]" # Text Reset
+
+# Regular Colors
+Black="\[\033[0;30m\]" # Black
+Red="\[\033[0;31m\]" # Red
+Green="\[\033[0;32m\]" # Green
+Yellow="\[\033[0;33m\]" # Yellow
+Blue="\[\033[0;34m\]" # Blue
+Purple="\[\033[0;35m\]" # Purple
+Cyan="\[\033[0;36m\]" # Cyan
+White="\[\033[0;37m\]" # White
+
+# Bold
+BBlack="\[\033[1;30m\]" # Black
+BRed="\[\033[1;31m\]" # Red
+BGreen="\[\033[1;32m\]" # Green
+BYellow="\[\033[1;33m\]" # Yellow
+BBlue="\[\033[1;34m\]" # Blue
+BPurple="\[\033[1;35m\]" # Purple
+BCyan="\[\033[1;36m\]" # Cyan
+BWhite="\[\033[1;37m\]" # White
+
+# Underline
+UBlack="\[\033[4;30m\]" # Black
+URed="\[\033[4;31m\]" # Red
+UGreen="\[\033[4;32m\]" # Green
+UYellow="\[\033[4;33m\]" # Yellow
+UBlue="\[\033[4;34m\]" # Blue
+UPurple="\[\033[4;35m\]" # Purple
+UCyan="\[\033[4;36m\]" # Cyan
+UWhite="\[\033[4;37m\]" # White
+
+# Background
+On_Black="\[\033[40m\]" # Black
+On_Red="\[\033[41m\]" # Red
+On_Green="\[\033[42m\]" # Green
+On_Yellow="\[\033[43m\]" # Yellow
+On_Blue="\[\033[44m\]" # Blue
+On_Purple="\[\033[45m\]" # Purple
+On_Cyan="\[\033[46m\]" # Cyan
+On_White="\[\033[47m\]" # White
+
+# High Intensty
+IBlack="\[\033[0;90m\]" # Black
+IRed="\[\033[0;91m\]" # Red
+IGreen="\[\033[0;92m\]" # Green
+IYellow="\[\033[0;93m\]" # Yellow
+IBlue="\[\033[0;94m\]" # Blue
+IPurple="\[\033[0;95m\]" # Purple
+ICyan="\[\033[0;96m\]" # Cyan
+IWhite="\[\033[0;97m\]" # White
+
+# Bold High Intensty
+BIBlack="\[\033[1;90m\]" # Black
+BIRed="\[\033[1;91m\]" # Red
+BIGreen="\[\033[1;92m\]" # Green
+BIYellow="\[\033[1;93m\]" # Yellow
+BIBlue="\[\033[1;94m\]" # Blue
+BIPurple="\[\033[1;95m\]" # Purple
+BICyan="\[\033[1;96m\]" # Cyan
+BIWhite="\[\033[1;97m\]" # White
+
+# High Intensty backgrounds
+On_IBlack="\[\033[0;100m\]" # Black
+On_IRed="\[\033[0;101m\]" # Red
+On_IGreen="\[\033[0;102m\]" # Green
+On_IYellow="\[\033[0;103m\]" # Yellow
+On_IBlue="\[\033[0;104m\]" # Blue
+On_IPurple="\[\033[10;95m\]" # Purple
+On_ICyan="\[\033[0;106m\]" # Cyan
+On_IWhite="\[\033[0;107m\]" # White
+
+# Various variables you might want for your PS1 prompt instead
+Time12h="\T"
+Time12a="\@"
+PathShort="\w"
+PathFull="\W"
+NewLine="\n"
+Jobs="\j"
+
+
+# This PS1 snippet was adopted from code for MAC/BSD I saw from: http://allancraig.net/index.php?option=com_content&view=article&id=108:ps1-export-command-for-git&catid=45:general&Itemid=96
+# I tweaked it to work on UBUNTU 11.04 & 11.10 plus made it mo' better
+
+export PS1='$(if [ $? != 0 ]; then \
+ echo "'$BIRed' (!!) '$Color_Off'"; \
+fi)'$IBlack$Time12h$Color_Off' '$BYellow$PathShort/$Color_Off'\
+$(git branch &>/dev/null;\
+if [ $? -eq 0 ]; then \
+ echo "$(echo `git status` | grep "Changes" > /dev/null 2>&1; \
+ if [ "$?" != "0" ]; then \
+ # @4 - Clean repository - nothing to commit
+ echo "'$Green'"$(__git_ps1 " (%s)")"'$Color_Off'"; \
+ else \
+ # @5 - Changes to working tree
+ echo "'$IRed'"$(__git_ps1 " {%s}")"'$Color_Off'"; \
+ fi)" - $(echo "'$IBlack'"`git sha | head -c 7`"'$Color_Off'"); \
+fi)$(if [[ $IN_NIX_SHELL == 1 ]]; then\
+ echo "\n'$IBlack'~>'$Color_Off' '$Purple'nix-shell'$Color_Off' ('$BIBlue'$name'$Color_Off')'$Color_Off'" ;\
+fi)$(echo "\n'$BIPurple'\$'$Color_Off' ";)'
+
+
+export end="\033[0m"
+export black="\033[0;30m"
+export blackb="\033[1;30m"
+export white="\033[0;37m"
+export whiteb="\033[1;37m"
+export red="\033[0;31m"
+export redb="\033[1;31m"
+export green="\033[0;32m"
+export greenb="\033[1;32m"
+export yellow="\033[0;33m"
+export yellowb="\033[1;33m"
+export blue="\033[0;34m"
+export blueb="\033[1;34m"
+export purple="\033[0;35m"
+export purpleb="\033[1;35m"
+export lightblue="\033[0;36m"
+export lightblueb="\033[1;36m"
+
+function black {
+ echo -e "${black}${1}${end}"
+}
+export -f black
+
+function blackb {
+ echo -e "${blackb}${1}${end}"
+}
+export -f blackb
+
+function white {
+ echo -e "${white}${1}${end}"
+}
+export -f white
+
+function whiteb {
+ echo -e "${whiteb}${1}${end}"
+}
+export -f whiteb
+
+function red {
+ echo -e "${red}${1}${end}"
+}
+export -f red
+
+function redb {
+ echo -e "${redb}${1}${end}"
+}
+export -f redb
+
+function green {
+ echo -e "${green}${1}${end}"
+}
+export -f green
+
+function greenb {
+ echo -e "${greenb}${1}${end}"
+}
+export -f greenb
+
+function yellow {
+ echo -e "${yellow}${1}${end}"
+}
+export -f yellow
+
+function yellowb {
+ echo -e "${yellowb}${1}${end}"
+}
+export -f yellowb
+
+function blue {
+ echo -e "${blue}${1}${end}"
+}
+export -f blue
+
+function blueb {
+ echo -e "${blueb}${1}${end}"
+}
+export -f blueb
+
+function purple {
+ echo -e "${purple}${1}${end}"
+}
+export -f purple
+
+function purpleb {
+ echo -e "${purpleb}${1}${end}"
+}
+export -f purpleb
+
+function lightblue {
+ echo -e "${lightblue}${1}${end}"
+}
+export -f lightblue
+
+function lightblueb {
+ echo -e "${lightblueb}${1}${end}"
+}
+export -f lightblueb
+
+function ,colors {
+ black "black"
+ blackb "blackb"
+ white "white"
+ whiteb "whiteb"
+ red "red"
+ redb "redb"
+ green "green"
+ greenb "greenb"
+ yellow "yellow"
+ yellowb "yellowb"
+ blue "blue"
+ blueb "blueb"
+ purple "purple"
+ purpleb "purpleb"
+ lightblue "lightblue"
+ lightblueb "lightblueb"
+}