summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xgit-base.sh26
-rwxr-xr-xprompt.sh2
2 files changed, 27 insertions, 1 deletions
diff --git a/git-base.sh b/git-base.sh
index aca271b..afd4f7e 100755
--- a/git-base.sh
+++ b/git-base.sh
@@ -370,6 +370,32 @@ zsh_color_changes_status() {
echo $changes
}
+bash_color_local_commits() {
+ local green_ahead_arrow="\033[1;32m↑\033[0m"
+ local red_behind_arrow="\033[1;31m↓\033[0m"
+ local yellow_diverged_arrow="\033[1;33m⇵\033[0m"
+
+ local local_commits=""
+ if is_repo; then
+
+ if remote_branch="$(remote_branch_name)"; then
+ local_ahead="$(commits_ahead_of_remote "$remote_branch")"
+ local_behind="$(commits_behind_of_remote "$remote_branch")"
+ remote_ahead="$(remote_ahead_of_master "$remote_branch")"
+ remote_behind="$(remote_behind_of_master "$remote_branch")"
+
+ if [[ "$local_behind" -gt "0" && "$local_ahead" -gt "0" ]]; then
+ local_commits=" $local_behind$yellow_diverged_arrow$local_ahead"
+ elif [[ "$local_behind" -gt "0" ]]; then
+ local_commits=" $local_behind$red_behind_arrow"
+ elif [[ "$local_ahead" -gt "0" ]]; then
+ local_commits=" $local_ahead$green_ahead_arrow"
+ fi
+ fi
+ fi
+ echo $local_commits
+}
+
zsh_color_local_commits() {
local ahead_arrow="%{$fg_bold[green]%}↑%{$reset_color%}"
local behind_arrow="%{$fg_bold[red]%}↓%{$reset_color%}"
diff --git a/prompt.sh b/prompt.sh
index 5fd8b27..056a74f 100755
--- a/prompt.sh
+++ b/prompt.sh
@@ -18,6 +18,6 @@ else
local_behind=""
fi
-prompt="$(branch_name) $(zsh_color_local_commits) $(bash_color_changes_status)"
+prompt="$(branch_name) $(bash_color_local_commits) $(bash_color_changes_status)"
echo $prompt