From 14eae43ec9ba2bc7ee95a78cb6232464940730f5 Mon Sep 17 00:00:00 2001 From: Michael Allen Date: Thu, 6 Aug 2015 09:14:20 +0100 Subject: Provide colors for bash as well as Zsh --- git-base.sh | 36 ++++++++++++++++++++++++++++++++++++ prompt.sh | 2 +- 2 files changed, 37 insertions(+), 1 deletion(-) diff --git a/git-base.sh b/git-base.sh index 1b5ce30..e60f9fc 100755 --- a/git-base.sh +++ b/git-base.sh @@ -298,6 +298,42 @@ untracked_status() { echo "$untracked_string" } +bash_color_changes_status() { + local porcelain="$(porcelain_status)" + local changes="" + + if [[ -n "$porcelain" ]]; then + local green_staged_prefix="\033[1;32m" + local red_unstaged_prefix="\033[1;31m" + local yellow_conflicted_prefix="\033[1;33m" + local grey_untracked_prefix="\033[1;37m" + local reset_suffix="\033[0m" + + local staged_changes="$(staged_status "$porcelain" "$green_staged_prefix" "$reset_suffix")" + local unstaged_changes="$(unstaged_status "$porcelain" "$red_unstaged_prefix" "$reset_suffix")" + local untracked_changes="$(untracked_status "$porcelain" "$grey_untracked_prefix" "$reset_suffix")" + local conflicted_changes="$(conflicted_status "$porcelain" "$yellow_conflicted_prefix" "$reset_suffix")" + if [[ -n "$staged_changes" ]]; then + staged_changes=" $staged_changes" + fi + + if [[ -n "$unstaged_changes" ]]; then + unstaged_changes=" $unstaged_changes" + fi + + if [[ -n "$conflicted_changes" ]]; then + conflicted_changes=" $conflicted_changes" + fi + + if [[ -n "$untracked_changes" ]]; then + untracked_changes=" $untracked_changes" + fi + + changes="$staged_changes$conflicted_changes$unstaged_changes$untracked_changes" + fi + echo $changes +} + zsh_color_changes_status() { local porcelain="$(porcelain_status)" local changes="" diff --git a/prompt.sh b/prompt.sh index 0828b5e..82155fb 100755 --- a/prompt.sh +++ b/prompt.sh @@ -18,6 +18,6 @@ else local_behind="" fi -prompt="$(branch_name)$local_behind$local_ahead $(zsh_color_changes_status)" +prompt="$(branch_name)$local_behind$local_ahead $(bash_color_changes_status)" echo $prompt -- cgit v1.2.3