diff --git a/bash/colorize.sh b/bash/colorize.sh index 7997a2b..33706e4 100644 --- a/bash/colorize.sh +++ b/bash/colorize.sh @@ -1,26 +1,8 @@ -function colorize() { - local TEXT=$2 - local NO_COLOR="\033[0m" - case "$1" in - red) - local COLOR="\033[31m" - ;; - green) - local COLOR="\033[32m" - ;; - yellow) - local COLOR="\033[33m" - ;; - blue) - local COLOR="\033[34m" - ;; - magenta) - local COLOR="\033[35m" - ;; - cyan) - local COLOR="\033[36m" - ;; - esac - - echo -e "${COLOR}${TEXT}${NO_COLOR}" -} +# This file just contains some nice variable names for color codes. +C_NO='\[\033[0m\]' +C_RED='\[\033[1;31m\]' +C_GREEN='\[\033[1;32m\]' +C_YELLOW='\[\033[1;33m\]' +C_BLUE='\[\033[1;34m\]' +C_MAGENTA='\[\033[1;35m\]' +C_CYAN='\[\033[1;36m\]' diff --git a/bash/super_prompt.sh b/bash/super_prompt.sh index f9a664a..65fec2b 100644 --- a/bash/super_prompt.sh +++ b/bash/super_prompt.sh @@ -5,38 +5,26 @@ src_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" source $src_dir/colorize.sh -function sp_git_info { +function sp_git { # Get the current branch name local git_branch=$(git branch 2>/dev/null | grep "*" | cut -d ' ' -f 2) || "" - # If we're in a git repo, add the repo (i.e. top-level directory) name, parens, and a newline + # If we're in a git repo, add the repo (i.e. top-level directory) name, and parens if [ "$git_branch" != "" ]; then local git_repo=$(git rev-parse --show-toplevel) - git_branch=\($(colorize magenta ${git_repo//*\/})"|"$(colorize magenta ${git_branch})\) - printf "%s\n" "$git_branch" - else - printf "" + git_repo=${git_repo//*\/} + echo "(${git_repo}|${git_branch})" fi } function sp_path { local git_dir=$(git rev-parse --show-toplevel 2>/dev/null) if [ "$git_dir" != "" ]; then - local path=$(colorize green ${PWD//$git_dir/\!}) + local path=${PWD//$git_dir/\!} else - local path=$(colorize green ${PWD//$HOME/\~}) + local path=${PWD//$HOME/\~} fi - - printf $path + echo $path } -function super_prompt { - local user=$(colorize yellow $(whoami)) - local host=$(colorize blue ${HOSTNAME}) - local prompt_char=$(colorize red '$') - - sp_git_info - printf "[%s@%s:%s]\n%s " "$user" "$host" "$(sp_path)" "$prompt_char" -} - -export PS1="\$(super_prompt)" +export PS1="[${C_YELLOW}\u${C_NO}@${C_BLUE}${HOSTNAME}${C_NO}:${C_GREEN}\$(sp_path)${C_NO}] ${C_MAGENTA}\$(sp_git)${C_NO}\n${C_RED}\$ ${C_NO}"