2018-08-03 00:07:51 +00:00
|
|
|
|
# Author: Michael Bradley (https://github.com/michaelsbradleyjr)
|
2018-08-02 20:04:33 +00:00
|
|
|
|
# Based on the zork theme:
|
2018-08-01 16:31:35 +00:00
|
|
|
|
# https://github.com/Bash-it/bash-it/blob/master/themes/zork/zork.theme.bash
|
|
|
|
|
|
2018-08-01 03:30:23 +00:00
|
|
|
|
SCM_THEME_PROMPT_PREFIX=""
|
|
|
|
|
SCM_THEME_PROMPT_SUFFIX=""
|
|
|
|
|
|
|
|
|
|
SCM_THEME_PROMPT_DIRTY=" ${bold_red}✗${normal}"
|
|
|
|
|
SCM_THEME_PROMPT_CLEAN=" ${bold_green}✓${normal}"
|
|
|
|
|
SCM_GIT_CHAR="${bold_green}±${normal}"
|
|
|
|
|
SCM_SVN_CHAR="${bold_cyan}⑆${normal}"
|
|
|
|
|
SCM_HG_CHAR="${bold_red}☿${normal}"
|
|
|
|
|
|
|
|
|
|
__nodez_char_node="${bold_green}🄽 ${normal}"
|
|
|
|
|
__nodez_char_npm=📦
|
|
|
|
|
|
|
|
|
|
__nodez_ne() {
|
|
|
|
|
local env=
|
|
|
|
|
if [[ -v NVM_DIR ]]; then
|
|
|
|
|
env="nvm"
|
|
|
|
|
fi
|
|
|
|
|
if [[ -v NODE_VIRTUAL_ENV ]]; then
|
|
|
|
|
env="${NODE_VIRTUAL_ENV##*/}"
|
|
|
|
|
fi
|
2018-08-01 16:24:45 +00:00
|
|
|
|
if [[ "$env" != "" ]]; then
|
|
|
|
|
env="[${bold_yellow}$env${normal}"
|
|
|
|
|
if [[ ! -v NODE_VERSION ]]; then
|
|
|
|
|
env+="]"
|
|
|
|
|
fi
|
|
|
|
|
echo "$env"
|
2018-08-01 03:30:23 +00:00
|
|
|
|
fi
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
__nodez_nv() {
|
2018-08-01 16:24:45 +00:00
|
|
|
|
if [[ -v NODE_VERSION ]]; then
|
|
|
|
|
local nv="=${__nodez_char_node}${NODE_VERSION}"
|
2018-08-13 02:25:48 +00:00
|
|
|
|
local npm_version=$(npm --version)
|
|
|
|
|
if [[ "$npm_version" != "$NPM_VERSION" ]]; then
|
|
|
|
|
export NPM_VERSION=$npm_version
|
|
|
|
|
fi
|
2018-08-01 16:24:45 +00:00
|
|
|
|
nv+="${__nodez_char_npm}${NPM_VERSION}]"
|
|
|
|
|
echo "$nv"
|
|
|
|
|
fi
|
2018-08-01 03:30:23 +00:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
__nodez_scm_prompt() {
|
|
|
|
|
[[ $(scm_char) != $SCM_NONE_CHAR ]] \
|
|
|
|
|
&& echo "[$(scm_char)][$(scm_prompt_info)]"
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
case $TERM in
|
|
|
|
|
xterm*)
|
|
|
|
|
__nodez_title="\[\033]0;\w\007\]" ;;
|
|
|
|
|
*)
|
|
|
|
|
__nodez_title="" ;;
|
|
|
|
|
esac
|
|
|
|
|
|
|
|
|
|
__nodez_ve(){
|
|
|
|
|
[[ -n "$VIRTUAL_ENV" ]] \
|
|
|
|
|
&& echo "(${bold_purple}${VIRTUAL_ENV##*/}${normal})"
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
prompt() {
|
|
|
|
|
local host="${green}\h${normal}";
|
|
|
|
|
PS1="${__nodez_title}┌─"
|
|
|
|
|
PS1+="$(__nodez_ve)"
|
|
|
|
|
PS1+="[$host]"
|
|
|
|
|
PS1+="$(__nodez_ne)$(__nodez_nv)"
|
|
|
|
|
PS1+="$(__nodez_scm_prompt)"
|
|
|
|
|
PS1+="[${cyan}\\w${normal}]"
|
|
|
|
|
PS1+="
|
|
|
|
|
└─▪ "
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
PS2="└─▪ "
|
|
|
|
|
PS3=">> "
|
|
|
|
|
|
|
|
|
|
safe_append_prompt_command prompt
|