parent
e560e88814
commit
c323357067
|
|
@ -1,36 +1,44 @@
|
||||||
# shellcheck shell=bash
|
# shellcheck shell=bash
|
||||||
# shellcheck disable=SC2034 # Expected behavior for themes.
|
# shellcheck disable=SC2034 # Expected behavior for themes.
|
||||||
# shellcheck disable=SC2154 #TODO: fix these all.
|
|
||||||
|
|
||||||
SCM_THEME_PROMPT_DIRTY=" ${bold_red}⊘${normal}"
|
SCM_THEME_PROMPT_DIRTY=" ${bold_red?}⊘${normal?}"
|
||||||
SCM_THEME_PROMPT_CLEAN=" ${bold_green}✓${normal}"
|
SCM_THEME_PROMPT_CLEAN=" ${bold_green?}✓${normal?}"
|
||||||
SCM_THEME_PROMPT_PREFIX="${reset_color}( "
|
SCM_THEME_PROMPT_PREFIX="${reset_color?}( "
|
||||||
SCM_THEME_PROMPT_SUFFIX=" ${reset_color})"
|
SCM_THEME_PROMPT_SUFFIX=" ${reset_color?})"
|
||||||
|
|
||||||
GIT_THEME_PROMPT_DIRTY=" ${bold_red}⊘${normal}"
|
GIT_THEME_PROMPT_DIRTY=" ${bold_red?}⊘${normal?}"
|
||||||
GIT_THEME_PROMPT_CLEAN=" ${bold_green}✓${normal}"
|
GIT_THEME_PROMPT_CLEAN=" ${bold_green?}✓${normal?}"
|
||||||
GIT_THEME_PROMPT_PREFIX="${reset_color}( "
|
GIT_THEME_PROMPT_PREFIX="${reset_color?}( "
|
||||||
GIT_THEME_PROMPT_SUFFIX=" ${reset_color})"
|
GIT_THEME_PROMPT_SUFFIX=" ${reset_color?})"
|
||||||
|
|
||||||
STATUS_THEME_PROMPT_BAD="${bold_red}❯${reset_color}${normal} "
|
STATUS_THEME_PROMPT_BAD="${bold_red?}❯${reset_color?}${normal?} "
|
||||||
STATUS_THEME_PROMPT_OK="${bold_green}❯${reset_color}${normal} "
|
STATUS_THEME_PROMPT_OK="${bold_green?}❯${reset_color?}${normal?} "
|
||||||
PURITY_THEME_PROMPT_COLOR="${PURITY_THEME_PROMPT_COLOR:=$blue}"
|
: "${PURITY_THEME_PROMPT_COLOR:=$blue}"
|
||||||
|
|
||||||
venv_prompt() {
|
function venv_prompt() {
|
||||||
python_venv=""
|
python_venv=""
|
||||||
# Detect python venv
|
# Detect python venv
|
||||||
if [[ -n "${CONDA_DEFAULT_ENV}" ]]; then
|
if [[ -n "${CONDA_DEFAULT_ENV:-}" ]]; then
|
||||||
python_venv="($PYTHON_VENV_CHAR${CONDA_DEFAULT_ENV}) "
|
python_venv="(${PYTHON_VENV_CHAR}${CONDA_DEFAULT_ENV}) "
|
||||||
elif [[ -n "${VIRTUAL_ENV}" ]]; then
|
elif [[ -n "${VIRTUAL_ENV}" ]]; then
|
||||||
python_venv="($PYTHON_VENV_CHAR$(basename "${VIRTUAL_ENV}")) "
|
python_venv="(${PYTHON_VENV_CHAR}${VIRTUAL_ENV##*/}) "
|
||||||
fi
|
fi
|
||||||
[[ -n "${python_venv}" ]] && echo "${python_venv}"
|
[[ -n "${python_venv}" ]] && echo "${python_venv}"
|
||||||
}
|
}
|
||||||
|
|
||||||
function prompt_command() {
|
function prompt_command() {
|
||||||
local retval=$? ret_status
|
local retval="$?" ret_status python_venv scm_prompt_info venv_prompt
|
||||||
ret_status="$([ $retval -eq 0 ] && echo -e "$STATUS_THEME_PROMPT_OK" || echo -e "$STATUS_THEME_PROMPT_BAD")"
|
case "${retval}" in
|
||||||
PS1="\n${PURITY_THEME_PROMPT_COLOR}\w $(scm_prompt_info)\n${ret_status}$(venv_prompt)"
|
0)
|
||||||
|
ret_status="$STATUS_THEME_PROMPT_OK"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
ret_status="$STATUS_THEME_PROMPT_BAD"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
scm_prompt_info="$(scm_prompt_info)"
|
||||||
|
venv_prompt="$(venv_prompt)"
|
||||||
|
PS1="\n${PURITY_THEME_PROMPT_COLOR}\w ${scm_prompt_info}\n${ret_status}${venv_prompt}"
|
||||||
}
|
}
|
||||||
|
|
||||||
safe_append_prompt_command prompt_command
|
safe_append_prompt_command prompt_command
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue