|
23 | 23 | # | GP_COLOR_GIT_BRANCH | "38;5;8" | Branch color | |
24 | 24 | # | GP_COLOR_GIT_STATUS | "38;5;9" | Dirty state color | |
25 | 25 | # | GP_COLOR_GIT_UNPUSHED | "38;5;11" | Unpushed state color | |
| 26 | +# | GP_COLOR_GIT_USER | "38;5;38" | Current user color | |
26 | 27 | # | GP_COLOR_PWD_DARK | "1;38;5;24" | Directory color dark | |
27 | 28 | # | GP_COLOR_PWD_LIGHT | "1;38;5;39" | Directory color light | |
| 29 | +# | GP_USER | (unset) | When set displays git user.email | |
28 | 30 | # |
29 | 31 | # ------------------------------------------------------------------------------ |
30 | 32 |
|
|
47 | 49 | local COLOR_BRANCH=$(__gp_color "${GP_COLOR_GIT_BRANCH:-38;5;8}") |
48 | 50 | local COLOR_STATUS=$(__gp_color "${GP_COLOR_GIT_STATUS:-38;5;9}") |
49 | 51 | local COLOR_UNPUSHED=$(__gp_color "${GP_COLOR_GIT_UNPUSHED:-38;5;11}") |
| 52 | + local COLOR_USER=$(__gp_color "${GP_COLOR_GIT_USER:-38;5;39}") |
50 | 53 | local COLOR_RESET=$(__gp_color 0) |
51 | 54 |
|
52 | | - local dir=${1:-.} git_status branch_info branch changes state remote ahead behind unpushed |
| 55 | + local dir=${1:-.} git_status branch_info branch changes state remote ahead behind unpushed user |
53 | 56 |
|
54 | 57 | __parse() ( |
55 | 58 | echo -n "$(sed -rn "$1" <<< "$branch_info")" |
|
79 | 82 | unpushed=$( |
80 | 83 | [ -n "$ahead" ] && echo -n "↑$ahead"; |
81 | 84 | [ -n "$behind" ] && echo -n "↓$behind"; |
| 85 | + [ -z "$remote" ] && echo -n "*" |
82 | 86 | ) |
83 | 87 |
|
84 | | - printf "%s⎇ %s%s%s%s" "${COLOR_BRANCH}" "${branch}$([ -n "$remote" ] && echo -n " → $remote")" "${COLOR_STATUS}${state}" "${COLOR_UNPUSHED}${unpushed}$([ -z "$remote" ] && echo -n "*")" "${COLOR_RESET}" |
| 88 | + # parse user.name |
| 89 | + if [ -n "$GP_USER" ]; then |
| 90 | + user=$(git config user.email) |
| 91 | + fi |
| 92 | + |
| 93 | + branch_display="${COLOR_BRANCH}⎇ ${branch}$(if [ -n "$remote" ]; then echo -n " → $remote"; fi)" |
| 94 | + state_display="${COLOR_STATUS}${state}" |
| 95 | + user_display="${COLOR_USER}$(if [ -n "$GP_USER" ]; then echo -n " $user"; fi)" |
| 96 | + unpushed_display="${COLOR_UNPUSHED}${unpushed}" |
| 97 | + printf "%s%s%s%s%s" "$branch_display" "$state_display" "$unpushed_display" "$user_display" "${COLOR_RESET}" |
85 | 98 | } |
86 | 99 |
|
87 | 100 | __gp_pwd() { |
|
0 commit comments