@@ -27,13 +27,14 @@ SCALEWAY_PROFILE_CHAR=${BARBUK_SCALEWAY_PROFILE_CHAR:=" scw "}
2727GCLOUD_CHAR=${BARBUK_GCLOUD_CHAR:= " google " }
2828
2929# Command duration
30- COMMAND_DURATION_MIN_SECONDS=${COMMAND_DURATION_MIN_SECONDS:- 1}
30+ : " ${COMMAND_DURATION_MIN_SECONDS:= 1} "
31+ : " ${COMMAND_DURATION_COLOR:= " ${normal?} " } "
3132
3233# Ssh user and hostname display
3334SSH_INFO=${BARBUK_SSH_INFO:= true}
3435HOST_INFO=${BARBUK_HOST_INFO:= long}
3536
36- # Bash-it default glyphs customization
37+ # Bash-it default glyphs overrides
3738SCM_NONE_CHAR=
3839SCM_THEME_PROMPT_DIRTY=" ${bold_red?} ✗"
3940SCM_THEME_PROMPT_CLEAN=" ${bold_green?} ✓"
@@ -49,6 +50,8 @@ GIT_THEME_PROMPT_CLEAN=" ${bold_green?}✓"
4950GIT_THEME_PROMPT_PREFIX=" ${cyan?} "
5051GIT_THEME_PROMPT_SUFFIX=" ${cyan?} "
5152SCM_THEME_BRANCH_TRACK_PREFIX=" ${normal?} ⤏ ${cyan?} "
53+ SCM_THEME_CURRENT_USER_PREFFIX=' '
54+ SCM_GIT_SHOW_CURRENT_USER=' false'
5255NVM_THEME_PROMPT_PREFIX=' '
5356NVM_THEME_PROMPT_SUFFIX=' '
5457RVM_THEME_PROMPT_PREFIX=' '
@@ -58,29 +61,44 @@ RBENV_THEME_PROMPT_SUFFIX=''
5861RBFU_THEME_PROMPT_PREFIX=' '
5962RBFU_THEME_PROMPT_SUFFIX=' '
6063
61- function __git -uptream-remote-logo_prompt () {
62- [[ " $( _git-upstream) " == " " ]] && SCM_GIT_CHAR=" $SCM_GIT_CHAR_DEFAULT "
64+ function _git -uptream-remote-logo () {
65+ [[ -z " $( _git-upstream) " ]] && SCM_GIT_CHAR=" ${ SCM_GIT_CHAR_DEFAULT:- } "
6366
6467 local remote remote_domain
65- remote=$( _git-upstream-remote)
66- remote_domain=$( git config --get remote." $remote " .url | awk -F' [@:.]' ' {print $2}' )
68+ remote=" $( _git-upstream-remote) "
69+ remote_domain=" $( git config --get remote." ${ remote} " .url | awk -F' [@:.]' ' {print $2}' ) "
6770
6871 # remove // suffix for https:// url
69- remote_domain=${remote_domain// \/ / }
72+ remote_domain=" ${remote_domain// \/ / } "
7073
71- case $ remote_domain in
72- github) SCM_GIT_CHAR=" $SCM_GIT_CHAR_GITHUB " ;;
73- gitlab) SCM_GIT_CHAR=" $SCM_GIT_CHAR_GITLAB " ;;
74- bitbucket) SCM_GIT_CHAR=" $SCM_GIT_CHAR_BITBUCKET " ;;
75- * ) SCM_GIT_CHAR=" $SCM_GIT_CHAR_DEFAULT " ;;
74+ case " ${ remote_domain} " in
75+ github) SCM_GIT_CHAR=" ${ SCM_GIT_CHAR_GITHUB:- } " ;;
76+ gitlab) SCM_GIT_CHAR=" ${ SCM_GIT_CHAR_GITLAB:- } " ;;
77+ bitbucket) SCM_GIT_CHAR=" ${ SCM_GIT_CHAR_BITBUCKET:- } " ;;
78+ * ) SCM_GIT_CHAR=" ${ SCM_GIT_CHAR_DEFAULT:- } " ;;
7679 esac
7780
7881 echo " ${purple?} $( scm_char) "
7982}
8083
8184function git_prompt_info() {
8285 git_prompt_vars
83- echo -e " on $SCM_GIT_CHAR_ICON_BRANCH $SCM_PREFIX$SCM_BRANCH$SCM_STATE$SCM_GIT_AHEAD$SCM_GIT_BEHIND$SCM_GIT_STASH$SCM_SUFFIX "
86+ echo -e " on ${SCM_GIT_CHAR_ICON_BRANCH:- } ${SCM_PREFIX:- }${SCM_BRANCH:- }${SCM_STATE:- }${SCM_GIT_AHEAD:- }${SCM_GIT_BEHIND:- }${SCM_GIT_STASH:- }${SCM_SUFFIX:- } "
87+ }
88+
89+ function _exit-code() {
90+ if [[ " ${1:- } " -ne 0 ]]; then
91+ exit_code=" ${purple?}${EXIT_CODE_ICON:- }${yellow?}${exit_code:- }${bold_orange?} "
92+ else
93+ exit_code=" ${bold_green?} "
94+ fi
95+ }
96+
97+ function _prompt() {
98+ local exit_code=" $? " wrap_char=' ' dir_color=$green ssh_info=' ' python_venv=' ' host command_duration=
99+ local scm_char scm_prompt_info
100+
101+ command_duration=" $( _command_duration) "
84102}
85103
86104function __exit_prompt() {
@@ -141,23 +159,27 @@ function __ruby_prompt() {
141159
142160function __ssh_prompt() {
143161 # Detect ssh
144- if [[ -n " ${SSH_CONNECTION} " ]] && [ " $ SSH_INFO" = true ]; then
145- if [ " $HOST_INFO " = long ]; then
162+ if [[ -n " ${SSH_CONNECTION:- } " && " ${ SSH_INFO:- } " == true ] ]; then
163+ if [[ " ${ HOST_INFO:- } " == long ] ]; then
146164 host=" \H"
147165 else
148166 host=" \h"
149167 fi
150- echo " ${bold_blue?} \u${bold_orange?} @${cyan?} $host ${bold_orange?} in "
168+ ssh_info= " ${bold_blue?} \u${bold_orange?} @${cyan?} $host ${bold_orange?} in"
151169 fi
152170}
153171
154172function __python_venv_prompt() {
155173 # Detect python venv
156- if [[ -n " ${CONDA_DEFAULT_ENV} " ]]; then
157- echo " ${bold_purple?} $ PYTHON_VENV_CHAR${normal? }${CONDA_DEFAULT_ENV} "
158- elif [[ -n " ${VIRTUAL_ENV} " ]]; then
159- echo " ${bold_purple?} $ PYTHON_VENV_CHAR${normal?} $( basename " ${ VIRTUAL_ENV} " ) "
174+ if [[ -n " ${CONDA_DEFAULT_ENV:- } " ]]; then
175+ python_venv= " ${PYTHON_VENV_CHAR:- }${CONDA_DEFAULT_ENV:- } "
176+ elif [[ -n " ${VIRTUAL_ENV:- } " ]]; then
177+ python_venv= " $ PYTHON_VENV_CHAR${VIRTUAL_ENV##*/ } "
160178 fi
179+
180+ scm_char=" $( scm_char) "
181+ scm_prompt_info=" $( scm_prompt_info) "
182+ PS1=" \\ n${ssh_info} ${purple}${scm_char}${python_venv}${dir_color} \\ w${normal}${scm_prompt_info}${command_duration}${exit_code} "
161183}
162184
163185function __path_prompt() {
0 commit comments