summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xradar-base.sh26
-rwxr-xr-xtest-colors.sh44
2 files changed, 51 insertions, 19 deletions
diff --git a/radar-base.sh b/radar-base.sh
index f707587..5672e07 100755
--- a/radar-base.sh
+++ b/radar-base.sh
@@ -24,9 +24,13 @@ prepare_bash_colors() {
COLOR_CHANGES_CONFLICTED="\x01${GIT_RADAR_COLOR_CHANGES_CONFLICTED:-"\\033[1;33m"}\x02"
COLOR_CHANGES_UNTRACKED="\x01${GIT_RADAR_COLOR_CHANGES_UNTRACKED:-"\\033[1;37m"}\x02"
+ COLOR_BRANCH="\x01${GIT_RADAR_COLOR_BRANCH:-"\\033[0m"}\x02"
+ MASTER_SYMBOL="${GIT_RADAR_MASTER_SYMBOL:-"\\x01\\033[0m\\x02\\xF0\\x9D\\x98\\xAE\\x01\\033[0m\\x02"}"
+
RESET_COLOR_LOCAL="\x01${GIT_RADAR_COLOR_LOCAL_RESET:-"\\033[0m"}\x02"
RESET_COLOR_REMOTE="\x01${GIT_RADAR_COLOR_REMOTE_RESET:-"\\033[0m"}\x02"
RESET_COLOR_CHANGES="\x01${GIT_RADAR_COLOR_CHANGES_RESET:-"\\033[0m"}\x02"
+ RESET_COLOR_BRANCH="\x01${GIT_RADAR_COLOR_BRANCH_RESET:-"\\033[0m"}\x02"
}
prepare_zsh_colors() {
@@ -48,9 +52,15 @@ prepare_zsh_colors() {
COLOR_CHANGES_CONFLICTED="%{${GIT_RADAR_COLOR_CHANGES_CONFLICTED:-$fg_bold[yellow]}%}"
COLOR_CHANGES_UNTRACKED="%{${GIT_RADAR_COLOR_CHANGES_UNTRACKED:-$fg_bold[white]}%}"
+ local italic_m="$(printf '\xF0\x9D\x98\xAE')"
+
+ COLOR_BRANCH="%{${GIT_RADAR_COLOR_BRANCH:-$reset_color}%}"
+ MASTER_SYMBOL="${GIT_RADAR_MASTER_SYMBOL:-"%{$reset_color%}$italic_m%{$reset_color%}"}"
+
RESET_COLOR_LOCAL="%{${GIT_RADAR_COLOR_LOCAL_RESET:-$reset_color}%}"
RESET_COLOR_REMOTE="%{${GIT_RADAR_COLOR_REMOTE_RESET:-$reset_color}%}"
RESET_COLOR_CHANGES="%{${GIT_RADAR_COLOR_CHANGES_RESET:-$reset_color}%}"
+ RESET_COLOR_BRANCH="%{${GIT_RADAR_COLOR_BRANCH_RESET:-$reset_color}%}"
}
in_current_dir() {
@@ -168,7 +178,7 @@ branch_ref() {
readable_branch_name() {
if is_repo; then
- printf '%s' "$(branch_name || printf '%s' "detached@$(commit_short_sha)")"
+ printf '%s' "$COLOR_BRANCH$(branch_name || printf '%s' "detached@$(commit_short_sha)")$RESET_COLOR_BRANCH"
fi
}
@@ -460,7 +470,6 @@ zsh_color_local_commits() {
}
bash_color_remote_commits() {
- local remote_master="\xF0\x9D\x98\xAE" # an italic m to represent master
local green_ahead_arrow="${COLOR_REMOTE_AHEAD}←$RESET_COLOR_REMOTE"
local red_behind_arrow="${COLOR_REMOTE_BEHIND}→$RESET_COLOR_REMOTE"
local yellow_diverged_arrow="${COLOR_REMOTE_DIVERGED}⇄$RESET_COLOR_REMOTE"
@@ -471,11 +480,11 @@ bash_color_remote_commits() {
remote_behind="$(remote_behind_of_master "$remote_branch")"
if [[ "$remote_behind" -gt "0" && "$remote_ahead" -gt "0" ]]; then
- remote="$remote_master $remote_behind $yellow_diverged_arrow $remote_ahead "
+ remote="$MASTER_SYMBOL $remote_behind $yellow_diverged_arrow $remote_ahead "
elif [[ "$remote_ahead" -gt "0" ]]; then
- remote="$remote_master $green_ahead_arrow $remote_ahead "
+ remote="$MASTER_SYMBOL $green_ahead_arrow $remote_ahead "
elif [[ "$remote_behind" -gt "0" ]]; then
- remote="$remote_master $remote_behind $red_behind_arrow "
+ remote="$MASTER_SYMBOL $remote_behind $red_behind_arrow "
fi
else
remote="upstream $not_upstream "
@@ -485,7 +494,6 @@ bash_color_remote_commits() {
}
zsh_color_remote_commits() {
- local remote_master="$(printf '\xF0\x9D\x98\xAE')" # an italic m to represent master
local green_ahead_arrow="${COLOR_REMOTE_AHEAD}←$RESET_COLOR_REMOTE"
local red_behind_arrow="${COLOR_REMOTE_BEHIND}→$RESET_COLOR_REMOTE"
local yellow_diverged_arrow="${COLOR_REMOTE_DIVERGED}⇄$RESET_COLOR_REMOTE"
@@ -496,11 +504,11 @@ zsh_color_remote_commits() {
remote_behind="$(remote_behind_of_master "$remote_branch")"
if [[ "$remote_behind" -gt "0" && "$remote_ahead" -gt "0" ]]; then
- remote="$remote_master $remote_behind $yellow_diverged_arrow $remote_ahead "
+ remote="$MASTER_SYMBOL $remote_behind $yellow_diverged_arrow $remote_ahead "
elif [[ "$remote_ahead" -gt "0" ]]; then
- remote="$remote_master $green_ahead_arrow $remote_ahead "
+ remote="$MASTER_SYMBOL $green_ahead_arrow $remote_ahead "
elif [[ "$remote_behind" -gt "0" ]]; then
- remote="$remote_master $remote_behind $red_behind_arrow "
+ remote="$MASTER_SYMBOL $remote_behind $red_behind_arrow "
fi
else
remote="upstream $not_upstream "
diff --git a/test-colors.sh b/test-colors.sh
index 0506145..196b60b 100755
--- a/test-colors.sh
+++ b/test-colors.sh
@@ -84,9 +84,13 @@ set_env_vars() {
export GIT_RADAR_COLOR_CHANGES_CONFLICTED="changes-conflicted"
export GIT_RADAR_COLOR_CHANGES_UNTRACKED="changes-untracked"
+ export GIT_RADAR_COLOR_BRANCH="branch-color"
+ export GIT_RADAR_MASTER_SYMBOL="m"
+
export GIT_RADAR_COLOR_LOCAL_RESET="local-reset"
export GIT_RADAR_COLOR_REMOTE_RESET="remote-reset"
export GIT_RADAR_COLOR_CHANGES_RESET="change-reset"
+ export GIT_RADAR_COLOR_BRANCH_RESET="branch-reset"
}
reset_env_vars() {
@@ -104,9 +108,13 @@ reset_env_vars() {
export GIT_RADAR_COLOR_CHANGES_CONFLICTED=""
export GIT_RADAR_COLOR_CHANGES_UNTRACKED=""
+ export GIT_RADAR_COLOR_BRANCH=""
+ export GIT_RADAR_MASTER_SYMBOL=""
+
export GIT_RADAR_COLOR_LOCAL_RESET=""
export GIT_RADAR_COLOR_REMOTE_RESET=""
export GIT_RADAR_COLOR_CHANGES_RESET=""
+ export GIT_RADAR_COLOR_BRANCH_RESET=""
}
create_rc_file() {
@@ -124,9 +132,13 @@ create_rc_file() {
echo 'GIT_RADAR_COLOR_CHANGES_CONFLICTED="changes-conflicted"' >> .gitradarrc
echo 'GIT_RADAR_COLOR_CHANGES_UNTRACKED="changes-untracked"' >> .gitradarrc
+ echo 'export GIT_RADAR_COLOR_BRANCH="branch-color"' >> .gitradarrc
+ echo 'export GIT_RADAR_MASTER_SYMBOL="m"' >> .gitradarrc
+
echo 'GIT_RADAR_COLOR_LOCAL_RESET="local-reset"' >> .gitradarrc
echo 'GIT_RADAR_COLOR_REMOTE_RESET="remote-reset"' >> .gitradarrc
echo 'GIT_RADAR_COLOR_CHANGES_RESET="change-reset"' >> .gitradarrc
+ echo 'GIT_RADAR_COLOR_BRANCH_RESET="branch-reset"' >> .gitradarrc
}
test_with_rcfile_bash() {
@@ -152,9 +164,13 @@ test_with_rcfile_bash() {
assertEquals "$COLOR_CHANGES_CONFLICTED" "\x01changes-conflicted\x02"
assertEquals "$COLOR_CHANGES_UNTRACKED" "\x01changes-untracked\x02"
+ assertEquals "$COLOR_BRANCH" "\x01branch-color\x02"
+ assertEquals "$MASTER_SYMBOL" "m"
+
assertEquals "$RESET_COLOR_LOCAL" "\x01local-reset\x02"
assertEquals "$RESET_COLOR_REMOTE" "\x01remote-reset\x02"
assertEquals "$RESET_COLOR_CHANGES" "\x01change-reset\x02"
+ assertEquals "$RESET_COLOR_BRANCH" "\x01branch-reset\x02"
rm_tmp
}
@@ -183,9 +199,13 @@ test_with_rcfile_zsh() {
assertEquals "$COLOR_CHANGES_CONFLICTED" "%{changes-conflicted%}"
assertEquals "$COLOR_CHANGES_UNTRACKED" "%{changes-untracked%}"
+ assertEquals "$COLOR_BRANCH" "%{branch-color%}"
+ assertEquals "$MASTER_SYMBOL" "m"
+
assertEquals "$RESET_COLOR_LOCAL" "%{local-reset%}"
assertEquals "$RESET_COLOR_REMOTE" "%{remote-reset%}"
assertEquals "$RESET_COLOR_CHANGES" "%{change-reset%}"
+ assertEquals "$RESET_COLOR_BRANCH" "%{branch-reset%}"
rm_tmp
}
@@ -209,9 +229,13 @@ test_with_env_vars_bash() {
assertEquals "$COLOR_CHANGES_CONFLICTED" "\x01changes-conflicted\x02"
assertEquals "$COLOR_CHANGES_UNTRACKED" "\x01changes-untracked\x02"
+ assertEquals "$COLOR_BRANCH" "\x01branch-color\x02"
+ assertEquals "$MASTER_SYMBOL" "m"
+
assertEquals "$RESET_COLOR_LOCAL" "\x01local-reset\x02"
assertEquals "$RESET_COLOR_REMOTE" "\x01remote-reset\x02"
assertEquals "$RESET_COLOR_CHANGES" "\x01change-reset\x02"
+ assertEquals "$RESET_COLOR_BRANCH" "\x01branch-reset\x02"
}
test_with_env_vars_zsh() {
@@ -234,9 +258,13 @@ test_with_env_vars_zsh() {
assertEquals "$COLOR_CHANGES_CONFLICTED" "%{changes-conflicted%}"
assertEquals "$COLOR_CHANGES_UNTRACKED" "%{changes-untracked%}"
+ assertEquals "$COLOR_BRANCH" "%{branch-color%}"
+ assertEquals "$MASTER_SYMBOL" "m"
+
assertEquals "$RESET_COLOR_LOCAL" "%{local-reset%}"
assertEquals "$RESET_COLOR_REMOTE" "%{remote-reset%}"
assertEquals "$RESET_COLOR_CHANGES" "%{change-reset%}"
+ assertEquals "$RESET_COLOR_BRANCH" "%{branch-reset%}"
}
test_bash_colors_local() {
@@ -349,9 +377,7 @@ test_bash_colors_remote() {
git checkout -b mybranch --quiet
git push --quiet -u origin mybranch >/dev/null
- printf -v m '\xF0\x9D\x98\xAE'
-
- printf -v expected "$m 1 \x01remote-behind\x02→\x01remote-reset\x02 "
+ printf -v expected "m 1 \x01remote-behind\x02→\x01remote-reset\x02 "
assertEquals "$expected" "$(bash_color_remote_commits)"
echo "bar" > bar
@@ -359,13 +385,13 @@ test_bash_colors_remote() {
git commit -m "new commit" --quiet
git push --quiet >/dev/null
- printf -v expected "$m 1 \x01remote-diverged\x02⇄\x01remote-reset\x02 1 "
+ printf -v expected "m 1 \x01remote-diverged\x02⇄\x01remote-reset\x02 1 "
assertEquals "$expected" "$(bash_color_remote_commits)"
git pull origin master --quiet >/dev/null
git push --quiet >/dev/null
- printf -v expected "$m \x01remote-ahead\x02←\x01remote-reset\x02 2 "
+ printf -v expected "m \x01remote-ahead\x02←\x01remote-reset\x02 2 "
assertEquals "$expected" "$(bash_color_remote_commits)"
rm_tmp
@@ -398,21 +424,19 @@ test_zsh_colors_remote() {
git checkout -b mybranch --quiet
git push --quiet -u origin mybranch >/dev/null
- printf -v m '\xF0\x9D\x98\xAE'
-
- assertEquals "$m 1 %{remote-behind%}→%{remote-reset%} " "$(zsh_color_remote_commits)"
+ assertEquals "m 1 %{remote-behind%}→%{remote-reset%} " "$(zsh_color_remote_commits)"
echo "bar" > bar
git add .
git commit -m "new commit" --quiet
git push --quiet >/dev/null
- assertEquals "$m 1 %{remote-diverged%}⇄%{remote-reset%} 1 " "$(zsh_color_remote_commits)"
+ assertEquals "m 1 %{remote-diverged%}⇄%{remote-reset%} 1 " "$(zsh_color_remote_commits)"
git pull origin master --quiet >/dev/null
git push --quiet >/dev/null
- assertEquals "$m %{remote-ahead%}←%{remote-reset%} 2 " "$(zsh_color_remote_commits)"
+ assertEquals "m %{remote-ahead%}←%{remote-reset%} 2 " "$(zsh_color_remote_commits)"
rm_tmp
}