mirror of
https://github.com/ohmybash/oh-my-bash.git
synced 2024-05-11 05:55:37 +00:00
themes/base: Refactor prompt info for ruby envs
This commit is contained in:
@@ -13,7 +13,7 @@ RVM_THEME_PROMPT_PREFIX="|"
|
||||
RVM_THEME_PROMPT_SUFFIX="|"
|
||||
|
||||
function prompt_command() {
|
||||
#PS1="${bold_cyan}$(scm_char)${green}$(scm_prompt_info)${purple}$(ruby_version_prompt) ${yellow}\h ${reset_color}in ${green}\w ${reset_color}\n${green}→${reset_color} "
|
||||
#PS1="${bold_cyan}$(scm_char)${green}$(scm_prompt_info)${purple}$(_omb_prompt_print_ruby_env) ${yellow}\h ${reset_color}in ${green}\w ${reset_color}\n${green}→${reset_color} "
|
||||
#PS1="\n${purple}\h: ${reset_color} ${green}\w\n${bold_cyan}$(scm_char)${green}$(scm_prompt_info) ${green}→${reset_color} "
|
||||
#PS1="\n${cyan}\h: ${reset_color} ${yellow}\w\n${red}$(scm_char)${red}$(scm_prompt_info) ${green}→${reset_color} "
|
||||
PS1="\n${cyan}\h: ${reset_color} ${yellow}\w ${green}$(scm_prompt_info)\n${reset_color}→ "
|
||||
|
@@ -49,13 +49,31 @@ SCM_SVN_CHAR='⑆'
|
||||
SCM_NONE='NONE'
|
||||
SCM_NONE_CHAR='○'
|
||||
|
||||
RVM_THEME_PROMPT_PREFIX=' |'
|
||||
RVM_THEME_PROMPT_SUFFIX='|'
|
||||
|
||||
THEME_SHOW_USER_HOST=${THEME_SHOW_USER_HOST:=false}
|
||||
USER_HOST_THEME_PROMPT_PREFIX=''
|
||||
USER_HOST_THEME_PROMPT_SUFFIX=''
|
||||
|
||||
# #new
|
||||
# OMB_PROMPT_RBFU_FORMAT=' |%s|'
|
||||
# OMB_PROMPT_RBENV_FORMAT=' |%s|'
|
||||
# OMB_PROMPT_RVM_FORMAT=' |%s|'
|
||||
# OMB_PROMPT_CHRUBY_FORMAT=' |%s|'
|
||||
|
||||
# deprecate
|
||||
RBFU_THEME_PROMPT_PREFIX=' |'
|
||||
RBFU_THEME_PROMPT_SUFFIX='|'
|
||||
RBENV_THEME_PROMPT_PREFIX=' |'
|
||||
RBENV_THEME_PROMPT_SUFFIX='|'
|
||||
RVM_THEME_PROMPT_PREFIX=' |'
|
||||
RVM_THEME_PROMPT_SUFFIX='|'
|
||||
CHRUBY_THEME_PROMPT_PREFIX=' |'
|
||||
CHRUBY_THEME_PROMPT_SUFFIX='|'
|
||||
|
||||
# # new
|
||||
# OMB_PROMPT_VIRTUALENV_FORMAT=' |%s|'
|
||||
# OMB_PROMPT_CONDAENV_FORMAT=' |%s|'
|
||||
# OMB_PROMPT_PYTHON_VERSION_FORMAT=' |%s|'
|
||||
|
||||
# deprecate
|
||||
VIRTUALENV_THEME_PROMPT_PREFIX=' |'
|
||||
VIRTUALENV_THEME_PROMPT_SUFFIX='|'
|
||||
@@ -64,16 +82,21 @@ CONDAENV_THEME_PROMPT_SUFFIX='|'
|
||||
PYTHON_THEME_PROMPT_PREFIX=' |'
|
||||
PYTHON_THEME_PROMPT_SUFFIX='|'
|
||||
|
||||
# # new
|
||||
# OMB_THEME_PROMPT_VIRTUALENV_FORMAT=' |%s|'
|
||||
# OMB_THEME_PROMPT_CONDAENV_FORMAT=' |%s|'
|
||||
# OMB_THEME_PROMPT_PYTHON_VERSION_FORMAT=' |%s|'
|
||||
|
||||
RBENV_THEME_PROMPT_PREFIX=' |'
|
||||
RBENV_THEME_PROMPT_SUFFIX='|'
|
||||
|
||||
RBFU_THEME_PROMPT_PREFIX=' |'
|
||||
RBFU_THEME_PROMPT_SUFFIX='|'
|
||||
## @fn __omb_prompt_construct_format var value fmt_prefix[:deprecated]
|
||||
## @param[in] var
|
||||
## @param[in] value
|
||||
## @param[in] fmt_prefix
|
||||
## @param[in,opt] deprecated
|
||||
## @var[out] $var
|
||||
function _omb_prompt_format {
|
||||
local __format=${3%%:*}_FORMAT; __format=${!__format-}
|
||||
if [[ ! $__format ]]; then
|
||||
local __prefix=${3#*:}_PREFIX; __prefix=${!__prefix-} # deprecate name
|
||||
local __suffix=${3#*:}_SUFFIX; __suffix=${!__suffix-} # deprecate name
|
||||
__format=${__prefix//'%'/'%%'}%s${__suffix//'%'/'%%'}
|
||||
fi
|
||||
printf -v "$1" "$__format" "$2"
|
||||
}
|
||||
|
||||
function scm {
|
||||
if [[ "$SCM_CHECK" = false ]]; then SCM=$SCM_NONE
|
||||
@@ -351,75 +374,92 @@ function hg_prompt_vars {
|
||||
fi
|
||||
}
|
||||
|
||||
function rvm_version_prompt {
|
||||
if which rvm &> /dev/null; then
|
||||
rvm=$(rvm-prompt) || return
|
||||
if [ -n "$rvm" ]; then
|
||||
echo -e "$RVM_THEME_PROMPT_PREFIX$rvm$RVM_THEME_PROMPT_SUFFIX"
|
||||
fi
|
||||
function _omb_prompt_get_rbfu {
|
||||
rbfu=$RBFU_RUBY_VERSION
|
||||
[[ $rbfu ]] || return 1
|
||||
_omb_prompt_format rbfu "$rbfu" OMB_PROMPT_RBFU:RBFU_THEME_PROMPT
|
||||
}
|
||||
|
||||
function _omb_prompt_get_rbenv {
|
||||
rbenv=
|
||||
_omb_util_command_exists rbenv || return 1
|
||||
|
||||
rbenv=$(rbenv version-name)
|
||||
rbenv commands | command grep -q gemset &&
|
||||
gemset=$(rbenv gemset active 2> /dev/null) &&
|
||||
rbenv="$rbenv@${gemset%% *}"
|
||||
|
||||
[[ $rbenv != system ]] || return 1
|
||||
_omb_prompt_format rbenv "$rbenv" OMB_PROMPT_RBENV:RBENV_THEME_PROMPT
|
||||
}
|
||||
|
||||
function _omb_prompt_get_rvm {
|
||||
rvm=
|
||||
if _omb_util_command_exists rvm-prompt; then
|
||||
rvm=$(rvm-prompt)
|
||||
elif _omb_util_command_exists rvm; then
|
||||
local rvm_current=$(rvm tools identifier)
|
||||
local rvm_default=$(rvm strings default)
|
||||
[[ $rvm_current && $rvm_default && $rvm_current != "$rvm_default" ]] || return 1
|
||||
rvm=$rvm_current
|
||||
fi
|
||||
|
||||
[[ $rvm ]] || return 1
|
||||
_omb_prompt_format rvm "$rvm" OMB_PROMPT_RVM:RVM_THEME_PROMPT
|
||||
}
|
||||
|
||||
function rbenv_version_prompt {
|
||||
if which rbenv &> /dev/null; then
|
||||
rbenv=$(rbenv version-name) || return
|
||||
$(rbenv commands | grep -q gemset) && gemset=$(rbenv gemset active 2> /dev/null) && rbenv="$rbenv@${gemset%% *}"
|
||||
if [ $rbenv != "system" ]; then
|
||||
echo -e "$RBENV_THEME_PROMPT_PREFIX$rbenv$RBENV_THEME_PROMPT_SUFFIX"
|
||||
fi
|
||||
fi
|
||||
function _omb_prompt_get_chruby {
|
||||
chruby=
|
||||
_omb_util_function_exists chruby || return 1
|
||||
|
||||
_omb_util_function_exists chruby_auto && chruby=$(chruby_auto)
|
||||
|
||||
local ruby_version
|
||||
ruby_version=$(ruby --version | command awk '{print $1, $2;}') || return
|
||||
chruby | command grep -q '\*' || ruby_version="${ruby_version} (system)"
|
||||
_omb_prompt_format ruby_version "$ruby_version" OMB_PROMPT_CHRUBY:CHRUBY_THEME_PROMPT
|
||||
|
||||
chruby+=$ruby_version
|
||||
}
|
||||
|
||||
function rbfu_version_prompt {
|
||||
if [[ $RBFU_RUBY_VERSION ]]; then
|
||||
echo -e "${RBFU_THEME_PROMPT_PREFIX}${RBFU_RUBY_VERSION}${RBFU_THEME_PROMPT_SUFFIX}"
|
||||
fi
|
||||
function _omb_prompt_get_ruby_env {
|
||||
local rbfu rbenv rvm chruby
|
||||
_omb_prompt_get_rbfu
|
||||
_omb_prompt_get_rbenv
|
||||
_omb_prompt_get_rvm
|
||||
_omb_prompt_get_chruby
|
||||
ruby_env=$rbfu$rbenv$rvm$chruby
|
||||
[[ $ruby_env ]]
|
||||
}
|
||||
|
||||
function chruby_version_prompt {
|
||||
if declare -f -F chruby &> /dev/null; then
|
||||
if declare -f -F chruby_auto &> /dev/null; then
|
||||
chruby_auto
|
||||
fi
|
||||
_omb_util_defun_print _omb_prompt_{print,get}_rbfu rbfu
|
||||
_omb_util_defun_print _omb_prompt_{print,get}_rbenv rbenv
|
||||
_omb_util_defun_print _omb_prompt_{print,get}_rvm rvm
|
||||
_omb_util_defun_print _omb_prompt_{print,get}_chruby chruby
|
||||
_omb_util_defun_print _omb_prompt_{print,get}_ruby_env ruby_env
|
||||
|
||||
ruby_version=$(ruby --version | awk '{print $1, $2;}') || return
|
||||
|
||||
if [[ ! $(chruby | grep '*') ]]; then
|
||||
ruby_version="${ruby_version} (system)"
|
||||
fi
|
||||
echo -e "${CHRUBY_THEME_PROMPT_PREFIX}${ruby_version}${CHRUBY_THEME_PROMPT_SUFFIX}"
|
||||
fi
|
||||
}
|
||||
|
||||
function ruby_version_prompt {
|
||||
echo -e "$(rbfu_version_prompt)$(rbenv_version_prompt)$(rvm_version_prompt)$(chruby_version_prompt)"
|
||||
}
|
||||
_omb_util_defun_deprecate 20000 rbfu_version_prompt _omb_prompt_print_rbfu
|
||||
_omb_util_defun_deprecate 20000 rbenv_version_prompt _omb_prompt_print_rbenv
|
||||
_omb_util_defun_deprecate 20000 rvm_version_prompt _omb_prompt_print_rvm
|
||||
_omb_util_defun_deprecate 20000 chruby_version_prompt _omb_prompt_print_chruby
|
||||
_omb_util_defun_deprecate 20000 ruby_version_prompt _omb_prompt_print_ruby_env
|
||||
|
||||
function _omb_prompt_get_virtualenv {
|
||||
virtualenv=
|
||||
[[ ${VIRTUAL_ENV-} ]] || return 1
|
||||
local prefix=${VIRTUALENV_THEME_PROMPT_PREFIX-}
|
||||
local suffix=${VIRTUALENV_THEME_PROMPT_SUFFIX-}
|
||||
local format=${OMB_THEME_PROMPT_VIRTUALENV_FORMAT-${prefix//'%'/'%%'}%s${suffix//'%'/'%%'}}
|
||||
printf -v virtualenv "$format" "$(basename "$VIRTUAL_ENV")"
|
||||
_omb_prompt_format virtualenv "$(basename "$VIRTUAL_ENV")" OMB_PROMPT_VIRTUALENV:VIRTUALENV_THEME_PROMPT
|
||||
}
|
||||
|
||||
function _omb_prompt_get_condaenv {
|
||||
condaenv=
|
||||
[[ ${CONDA_DEFAULT_ENV-} ]] || return 1
|
||||
local prefix=${CONDAENV_THEME_PROMPT_PREFIX-}
|
||||
local suffix=${CONDAENV_THEME_PROMPT_SUFFIX-}
|
||||
local format=${OMB_THEME_PROMPT_CONDAENV_FORMAT-${prefix//'%'/'%%'}%s${suffix//'%'/'%%'}}
|
||||
printf -v condaenv "$format" "$CONDA_DEFAULT_ENV"
|
||||
_omb_prompt_format condaenv "$CONDA_DEFAULT_ENV" OMB_PROMPT_CONDAENV:CONDAENV_THEME_PROMPT
|
||||
}
|
||||
|
||||
function _omb_prompt_get_python_version {
|
||||
python_version=$(python --version 2>&1 | command awk '{print "py-"$2;}')
|
||||
[[ $python_version ]] || return 1
|
||||
local prefix=${PYTHON_THEME_PROMPT_PREFIX-}
|
||||
local suffix=${PYTHON_THEME_PROMPT_SUFFIX-}
|
||||
local format=${OMB_THEME_PROMPT_PYTHON_VERSION_FORMAT-${prefix//'%'/'%%'}%s${suffix//'%'/'%%'}}
|
||||
printf -v python_version "$format" "$python_version"
|
||||
_omb_prompt_format python_version "$python_version" OMB_PROMPT_PYTHON_VERSION:PYTHON_THEME_PROMPT
|
||||
}
|
||||
|
||||
function _omb_prompt_get_python_venv {
|
||||
@@ -543,9 +583,7 @@ function aws_profile {
|
||||
|
||||
|
||||
# Returns true if $1 is a shell function.
|
||||
fn_exists() {
|
||||
type $1 | grep -q 'shell function'
|
||||
}
|
||||
_omb_util_defun_deprecate 20000 fn_exists _omb_util_function_exists
|
||||
|
||||
function safe_append_prompt_command {
|
||||
local prompt_re
|
||||
@@ -560,8 +598,8 @@ function safe_append_prompt_command {
|
||||
fi
|
||||
|
||||
# See if we need to use the overriden version
|
||||
if [[ $(fn_exists function append_prompt_command_override) ]]; then
|
||||
append_prompt_command_override $1
|
||||
if _omb_util_function_exists append_prompt_command_override; then
|
||||
append_prompt_command_override "$1"
|
||||
return
|
||||
fi
|
||||
|
||||
|
@@ -12,7 +12,7 @@ GIT_THEME_PROMPT_SUFFIX="${green}|"
|
||||
CONDAENV_THEME_PROMPT_SUFFIX="|"
|
||||
|
||||
function prompt_command() {
|
||||
#PS1="${bold_cyan}$(scm_char)${green}$(scm_prompt_info)${purple}$(ruby_version_prompt) ${yellow}\h ${reset_color}in ${green}\w ${reset_color}\n${green}→${reset_color} "
|
||||
#PS1="${bold_cyan}$(scm_char)${green}$(scm_prompt_info)${purple}$(_omb_prompt_print_ruby_env) ${yellow}\h ${reset_color}in ${green}\w ${reset_color}\n${green}→${reset_color} "
|
||||
PS1="\n${yellow}$(python_version_prompt) ${purple}\h ${reset_color}in ${green}\w\n${bold_cyan}$(scm_char)${green}$(scm_prompt_info) ${green}→${reset_color} "
|
||||
}
|
||||
|
||||
|
@@ -22,8 +22,8 @@ __bobby_clock() {
|
||||
}
|
||||
|
||||
function prompt_command() {
|
||||
#PS1="${bold_cyan}$(scm_char)${green}$(scm_prompt_info)${purple}$(ruby_version_prompt) ${yellow}\h ${reset_color}in ${green}\w ${reset_color}\n${green}→${reset_color} "
|
||||
PS1="\n$(battery_char) $(__bobby_clock)${yellow}$(ruby_version_prompt) ${purple}\h ${reset_color}in ${green}\w\n${bold_cyan}$(scm_prompt_char_info) ${green}→${reset_color} "
|
||||
#PS1="${bold_cyan}$(scm_char)${green}$(scm_prompt_info)${purple}$(_omb_prompt_print_ruby_env) ${yellow}\h ${reset_color}in ${green}\w ${reset_color}\n${green}→${reset_color} "
|
||||
PS1="\n$(battery_char) $(__bobby_clock)${yellow}$(_omb_prompt_print_ruby_env) ${purple}\h ${reset_color}in ${green}\w\n${bold_cyan}$(scm_prompt_char_info) ${green}→${reset_color} "
|
||||
}
|
||||
|
||||
THEME_SHOW_CLOCK_CHAR=${THEME_SHOW_CLOCK_CHAR:-"true"}
|
||||
|
@@ -130,7 +130,7 @@ ___brainy_prompt_ruby() {
|
||||
[ "${THEME_SHOW_RUBY}" != "true" ] && return
|
||||
color=$bold_white
|
||||
box="[|]"
|
||||
info="rb-$(ruby_version_prompt)"
|
||||
info="rb-$(_omb_prompt_print_ruby_env)"
|
||||
printf "%s|%s|%s|%s" "${color}" "${info}" "${bold_red}" "${box}"
|
||||
}
|
||||
|
||||
|
@@ -12,22 +12,13 @@ SCM_THEME_PROMPT_SUFFIX=""
|
||||
GIT_SHA_PREFIX="${blue}"
|
||||
GIT_SHA_SUFFIX="${reset_color}"
|
||||
|
||||
function rvm_version_prompt {
|
||||
if which rvm &> /dev/null; then
|
||||
rvm=$(rvm-prompt) || return
|
||||
if [ -n "$rvm" ]; then
|
||||
echo -e "$rvm"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
function git_short_sha() {
|
||||
SHA=$(git rev-parse --short HEAD 2> /dev/null) && echo "$GIT_SHA_PREFIX$SHA$GIT_SHA_SUFFIX"
|
||||
}
|
||||
|
||||
function prompt() {
|
||||
local return_status=""
|
||||
local ruby="${red}$(ruby_version_prompt)${reset_color}"
|
||||
local ruby="${red}$(_omb_prompt_print_ruby_env)${reset_color}"
|
||||
local user_host="${green}\h @ \w${reset_color}"
|
||||
local git_branch="$(git_short_sha)${cyan}$(scm_prompt_info)${reset_color}"
|
||||
local prompt_symbol=' '
|
||||
|
@@ -45,7 +45,7 @@ function prompt_setter() {
|
||||
history -c
|
||||
history -r
|
||||
PS1="
|
||||
$(clock_prompt) $(scm_char) [${THEME_PROMPT_HOST_COLOR}\u@${THEME_PROMPT_HOST}$reset_color] $(_omb_prompt_print_python_venv)$(ruby_version_prompt)\w
|
||||
$(clock_prompt) $(scm_char) [${THEME_PROMPT_HOST_COLOR}\u@${THEME_PROMPT_HOST}$reset_color] $(_omb_prompt_print_python_venv)$(_omb_prompt_print_ruby_env)\w
|
||||
$(doubletime_scm_prompt)$reset_color $ "
|
||||
PS2='> '
|
||||
PS4='+ '
|
||||
|
@@ -8,7 +8,7 @@ function prompt_setter() {
|
||||
history -c
|
||||
history -r
|
||||
PS1="
|
||||
$(clock_prompt) $(scm_char) [$THEME_PROMPT_HOST_COLOR\u@${THEME_PROMPT_HOST}$reset_color] $(_omb_prompt_print_python_venv)$(ruby_version_prompt)
|
||||
$(clock_prompt) $(scm_char) [$THEME_PROMPT_HOST_COLOR\u@${THEME_PROMPT_HOST}$reset_color] $(_omb_prompt_print_python_venv)$(_omb_prompt_print_ruby_env)
|
||||
\w
|
||||
$(doubletime_scm_prompt)$reset_color $ "
|
||||
PS2='> '
|
||||
|
@@ -10,7 +10,7 @@ GIT_THEME_PROMPT_PREFIX=" ${green}|"
|
||||
GIT_THEME_PROMPT_SUFFIX="${green}|"
|
||||
|
||||
function prompt_command() {
|
||||
PS1="\n${yellow}$(ruby_version_prompt) ${purple}\h ${reset_color}in ${green}\w\n${bold_cyan}$(scm_char)${green}$(scm_prompt_info) ${green}→${reset_color} "
|
||||
PS1="\n${yellow}$(_omb_prompt_print_ruby_env) ${purple}\h ${reset_color}in ${green}\w\n${bold_cyan}$(scm_char)${green}$(scm_prompt_info) ${green}→${reset_color} "
|
||||
}
|
||||
|
||||
safe_append_prompt_command prompt_command
|
||||
|
@@ -84,7 +84,7 @@ IP_SEPARATOR=', '
|
||||
# FUNCS =======================================================================
|
||||
|
||||
function get_ip_info {
|
||||
myip=$(curl -s checkip.dyndns.org | grep -Eo '[0-9\.]+')
|
||||
local myip=$(curl -s checkip.dyndns.org | grep -Eo '[0-9\.]+')
|
||||
echo -e "$(ips | sed -e :a -e '$!N;s/\n/${IP_SEPARATOR}/;ta' | sed -e 's/127\.0\.0\.1\${IP_SEPARATOR}//g'), ${myip}"
|
||||
}
|
||||
|
||||
@@ -98,22 +98,20 @@ function ip_prompt_info() {
|
||||
# Displays virtual info prompt (virtualenv/rvm)
|
||||
function virtual_prompt_info() {
|
||||
local python_venv; _omb_prompt_get_python_venv
|
||||
local rvm_info=$(ruby_version_prompt)
|
||||
local ruby_env; _omb_prompt_get_ruby_env
|
||||
local virtual_prompt=""
|
||||
|
||||
local prefix=${VIRTUAL_THEME_PROMPT_PREFIX}
|
||||
local suffix=${VIRTUAL_THEME_PROMPT_SUFFIX}
|
||||
|
||||
# If no virtual info, just return
|
||||
[[ -z "$python_venv" && -z "$rvm_info" ]] && return
|
||||
[[ $python_venv$ruby_env ]] || return
|
||||
|
||||
# If virtual_env info present, append to prompt
|
||||
[[ -n "$python_venv" ]] && virtual_prompt="virtualenv: ${VE_COLOR}$python_venv${DEFAULT_COLOR}"
|
||||
[[ $python_venv ]] && virtual_prompt="virtualenv: ${VE_COLOR}$python_venv${DEFAULT_COLOR}"
|
||||
|
||||
if [[ -n "$rvm_info" ]]
|
||||
then
|
||||
[[ -n "$python_venv" ]] && virtual_prompt="$virtual_prompt, "
|
||||
virtual_prompt="${virtual_prompt}rvm: ${RVM_COLOR}$rvm_info${DEFAULT_COLOR}"
|
||||
if [[ $ruby_env ]]; then
|
||||
virtual_prompt="${virtual_prompt:+$virtual_prompt, }rvm: ${RVM_COLOR}$ruby_env${DEFAULT_COLOR}"
|
||||
fi
|
||||
echo -e "$prefix$virtual_prompt$suffix"
|
||||
}
|
||||
@@ -121,14 +119,14 @@ function virtual_prompt_info() {
|
||||
# Parse git info
|
||||
function git_prompt_info() {
|
||||
if [[ -n $(git status -s 2> /dev/null |grep -v ^# |grep -v "working directory clean") ]]; then
|
||||
state=${GIT_THEME_PROMPT_DIRTY:-$SCM_THEME_PROMPT_DIRTY}
|
||||
local state=${GIT_THEME_PROMPT_DIRTY:-$SCM_THEME_PROMPT_DIRTY}
|
||||
else
|
||||
state=${GIT_THEME_PROMPT_CLEAN:-$SCM_THEME_PROMPT_CLEAN}
|
||||
local state=${GIT_THEME_PROMPT_CLEAN:-$SCM_THEME_PROMPT_CLEAN}
|
||||
fi
|
||||
prefix=${GIT_THEME_PROMPT_PREFIX:-$SCM_THEME_PROMPT_PREFIX}
|
||||
suffix=${GIT_THEME_PROMPT_SUFFIX:-$SCM_THEME_PROMPT_SUFFIX}
|
||||
ref=$(git symbolic-ref HEAD 2> /dev/null) || return
|
||||
commit_id=$(git rev-parse HEAD 2>/dev/null) || return
|
||||
local prefix=${GIT_THEME_PROMPT_PREFIX:-$SCM_THEME_PROMPT_PREFIX}
|
||||
local suffix=${GIT_THEME_PROMPT_SUFFIX:-$SCM_THEME_PROMPT_SUFFIX}
|
||||
local ref=$(git symbolic-ref HEAD 2> /dev/null) || return
|
||||
local commit_id=$(git rev-parse HEAD 2>/dev/null) || return
|
||||
|
||||
echo -e "$prefix${REF_COLOR}${ref#refs/heads/}${DEFAULT_COLOR}:${commit_id:0:$MAX_GIT_HEX_LENGTH}$state$suffix"
|
||||
}
|
||||
@@ -136,14 +134,14 @@ function git_prompt_info() {
|
||||
# Parse hg info
|
||||
function hg_prompt_info() {
|
||||
if [[ -n $(hg status 2> /dev/null) ]]; then
|
||||
state=${HG_THEME_PROMPT_DIRTY:-$SCM_THEME_PROMPT_DIRTY}
|
||||
local state=${HG_THEME_PROMPT_DIRTY:-$SCM_THEME_PROMPT_DIRTY}
|
||||
else
|
||||
state=${HG_THEME_PROMPT_CLEAN:-$SCM_THEME_PROMPT_CLEAN}
|
||||
local state=${HG_THEME_PROMPT_CLEAN:-$SCM_THEME_PROMPT_CLEAN}
|
||||
fi
|
||||
prefix=${HG_THEME_PROMPT_PREFIX:-$SCM_THEME_PROMPT_PREFIX}
|
||||
suffix=${HG_THEME_PROMPT_SUFFIX:-$SCM_THEME_PROMPT_SUFFIX}
|
||||
branch=$(hg summary 2> /dev/null | grep branch | awk '{print $2}')
|
||||
changeset=$(hg summary 2> /dev/null | grep parent | awk '{print $2}')
|
||||
local prefix=${HG_THEME_PROMPT_PREFIX:-$SCM_THEME_PROMPT_PREFIX}
|
||||
local suffix=${HG_THEME_PROMPT_SUFFIX:-$SCM_THEME_PROMPT_SUFFIX}
|
||||
local branch=$(hg summary 2> /dev/null | grep branch | awk '{print $2}')
|
||||
local changeset=$(hg summary 2> /dev/null | grep parent | awk '{print $2}')
|
||||
|
||||
echo -e "$prefix${REF_COLOR}${branch}${DEFAULT_COLOR}:${changeset#*:}$state$suffix"
|
||||
}
|
||||
@@ -151,16 +149,16 @@ function hg_prompt_info() {
|
||||
# Parse svn info
|
||||
function svn_prompt_info() {
|
||||
if [[ -n $(svn status --ignore-externals -q 2> /dev/null) ]]; then
|
||||
state=${SVN_THEME_PROMPT_DIRTY:-$SCM_THEME_PROMPT_DIRTY}
|
||||
local state=${SVN_THEME_PROMPT_DIRTY:-$SCM_THEME_PROMPT_DIRTY}
|
||||
else
|
||||
state=${SVN_THEME_PROMPT_CLEAN:-$SCM_THEME_PROMPT_CLEAN}
|
||||
local state=${SVN_THEME_PROMPT_CLEAN:-$SCM_THEME_PROMPT_CLEAN}
|
||||
fi
|
||||
prefix=${SVN_THEME_PROMPT_PREFIX:-$SCM_THEME_PROMPT_PREFIX}
|
||||
suffix=${SVN_THEME_PROMPT_SUFFIX:-$SCM_THEME_PROMPT_SUFFIX}
|
||||
ref=$(svn info 2> /dev/null | awk -F/ '/^URL:/ { for (i=0; i<=NF; i++) { if ($i == "branches" || $i == "tags" ) { print $(i+1); break }; if ($i == "trunk") { print $i; break } } }') || return
|
||||
local prefix=${SVN_THEME_PROMPT_PREFIX:-$SCM_THEME_PROMPT_PREFIX}
|
||||
local suffix=${SVN_THEME_PROMPT_SUFFIX:-$SCM_THEME_PROMPT_SUFFIX}
|
||||
local ref=$(svn info 2> /dev/null | awk -F/ '/^URL:/ { for (i=0; i<=NF; i++) { if ($i == "branches" || $i == "tags" ) { print $(i+1); break }; if ($i == "trunk") { print $i; break } } }') || return
|
||||
[[ -z $ref ]] && return
|
||||
|
||||
revision=$(svn info 2> /dev/null | sed -ne 's#^Revision: ##p' )
|
||||
local revision=$(svn info 2> /dev/null | sed -ne 's#^Revision: ##p' )
|
||||
|
||||
echo -e "$prefix${REF_COLOR}$ref${DEFAULT_COLOR}:$revision$state$suffix"
|
||||
}
|
||||
@@ -169,14 +167,13 @@ function svn_prompt_info() {
|
||||
function limited_pwd() {
|
||||
|
||||
# Replace $HOME with ~ if possible
|
||||
RELATIVE_PWD=${PWD/#$HOME/\~}
|
||||
local RELATIVE_PWD=${PWD/#$HOME/\~}
|
||||
|
||||
local offset=$((${#RELATIVE_PWD}-$MAX_PWD_LENGTH))
|
||||
|
||||
if [ $offset -gt "0" ]
|
||||
then
|
||||
if ((offset > 0)); then
|
||||
local truncated_symbol="..."
|
||||
TRUNCATED_PWD=${RELATIVE_PWD:$offset:$MAX_PWD_LENGTH}
|
||||
local TRUNCATED_PWD=${RELATIVE_PWD:$offset:$MAX_PWD_LENGTH}
|
||||
echo -e "${truncated_symbol}/${TRUNCATED_PWD#*/}"
|
||||
else
|
||||
echo -e "${RELATIVE_PWD}"
|
||||
@@ -186,7 +183,7 @@ function limited_pwd() {
|
||||
# Displays the current prompt
|
||||
function prompt() {
|
||||
local UC=$USER_COLOR
|
||||
[ $UID -eq "0" ] && UC=$SUPERUSER_COLOR
|
||||
((UID == 0)) && UC=$SUPERUSER_COLOR
|
||||
|
||||
if [[ $VIRTUAL_PROMPT_ENABLED == 1 ]]; then
|
||||
PS1="$(scm_char) ${UC}\u ${DEFAULT_COLOR}at ${MACHINE_COLOR}\h$(ip_prompt_info) ${DEFAULT_COLOR}in ${DIRECTORY_COLOR}$(limited_pwd)${DEFAULT_COLOR}$(virtual_prompt_info)$(scm_prompt_info)${reset_color} \$ "
|
||||
|
@@ -27,14 +27,6 @@ RBENV_THEME_PROMPT_SUFFIX="| "
|
||||
RBFU_THEME_PROMPT_PREFIX="|"
|
||||
RBFU_THEME_PROMPT_SUFFIX="| "
|
||||
|
||||
function rvm_version_prompt {
|
||||
if which rvm &> /dev/null; then
|
||||
rvm_current=$(rvm tools identifier) || return
|
||||
rvm_default=$(rvm strings default) || return
|
||||
[ "$rvm_current" != "$rvm_default" ] && ( echo -e "$RVM_THEME_PROMPT_PREFIX$rvm_current$RVM_THEME_PROMPT_SUFFIX" )
|
||||
fi
|
||||
}
|
||||
|
||||
function git_prompt_info {
|
||||
git_prompt_vars
|
||||
echo -e "$SCM_PREFIX$SCM_BRANCH$SCM_STATE$SCM_GIT_AHEAD$SCM_GIT_BEHIND$SCM_GIT_STASH$SCM_SUFFIX"
|
||||
@@ -42,7 +34,7 @@ function git_prompt_info {
|
||||
|
||||
LAST_PROMPT=""
|
||||
function prompt_command() {
|
||||
local new_PS1="${bold_cyan}$(scm_char)${yellow}$(ruby_version_prompt)${green}\w $(scm_prompt_info)"
|
||||
local new_PS1="${bold_cyan}$(scm_char)${yellow}$(_omb_prompt_print_ruby_env)${green}\w $(scm_prompt_info)"
|
||||
local new_prompt=$(PS1="$new_PS1" "$BASH" --norc -i </dev/null 2>&1 | sed -n '${s/^\(.*\)exit$/\1/p;}')
|
||||
|
||||
if [ "$LAST_PROMPT" = "$new_prompt" ]; then
|
||||
|
@@ -17,7 +17,7 @@ function prompt_command() {
|
||||
dtime="$(clock_prompt)"
|
||||
user_host="${green}\u@${cyan}\h${normal}"
|
||||
current_dir="${bold_blue}\w${normal}"
|
||||
rvm_ruby="${bold_red}$(ruby_version_prompt)${normal}"
|
||||
rvm_ruby="${bold_red}$(_omb_prompt_print_ruby_env)${normal}"
|
||||
git_branch="$(scm_prompt_info)${normal}"
|
||||
prompt="${bold_green}\$${normal} "
|
||||
arrow="${bold_white}▶${normal} "
|
||||
|
@@ -18,7 +18,7 @@ function git_short_sha() {
|
||||
|
||||
function prompt() {
|
||||
local return_status=""
|
||||
local ruby="${red}$(ruby_version_prompt)${reset_color}"
|
||||
local ruby="${red}$(_omb_prompt_print_ruby_env)${reset_color}"
|
||||
local user_host="${green}\h${reset_color}"
|
||||
local current_path="\w"
|
||||
local n_commands="\!"
|
||||
|
@@ -5,7 +5,7 @@ prompt_setter() {
|
||||
history -a
|
||||
history -c
|
||||
history -r
|
||||
PS1="($(clock_prompt)) $(scm_char) [$blue\u$reset_color@$green\H$reset_color] $yellow\w${reset_color}$(scm_prompt_info)$(ruby_version_prompt) $reset_color "
|
||||
PS1="($(clock_prompt)) $(scm_char) [$blue\u$reset_color@$green\H$reset_color] $yellow\w${reset_color}$(scm_prompt_info)$(_omb_prompt_print_ruby_env) $reset_color "
|
||||
PS2='> '
|
||||
PS4='+ '
|
||||
}
|
||||
|
@@ -11,9 +11,9 @@ prompt_setter() {
|
||||
history -c
|
||||
history -r
|
||||
# displays user@server in purple
|
||||
# PS1="$red$(scm_char) $purple\u@\h$reset_color:$blue\w$yellow$(scm_prompt_info)$(ruby_version_prompt) $black\$$reset_color "
|
||||
# PS1="$red$(scm_char) $purple\u@\h$reset_color:$blue\w$yellow$(scm_prompt_info)$(_omb_prompt_print_ruby_env) $black\$$reset_color "
|
||||
# no user@server
|
||||
PS1="$red$(scm_char) $blue\w$yellow$(scm_prompt_info)$(ruby_version_prompt) $black\$$reset_color "
|
||||
PS1="$red$(scm_char) $blue\w$yellow$(scm_prompt_info)$(_omb_prompt_print_ruby_env) $black\$$reset_color "
|
||||
PS2='> '
|
||||
PS4='+ '
|
||||
}
|
||||
|
@@ -1,22 +1,20 @@
|
||||
# For unstaged(*) and staged(+) values next to branch name in __git_ps1
|
||||
GIT_PS1_SHOWDIRTYSTATE="enabled"
|
||||
|
||||
function rvm_version_prompt {
|
||||
local gemset=$(echo $GEM_HOME | awk -F'@' '{print $2}')
|
||||
function _omb_theme_sirup_rubygem {
|
||||
local gemset=$(command awk -F'@' '{print $2}' <<< "$GEM_HOME")
|
||||
[[ $gemset ]] && gemset="@$gemset"
|
||||
|
||||
[ "$gemset" != "" ] && gemset="@$gemset"
|
||||
local version=$(echo $MY_RUBY_HOME | awk -F'-' '{print $2}')
|
||||
local version=$(command awk -F'-' '{print $2}' <<< "$MY_RUBY_HOME")
|
||||
[[ $version == 1.9.2 ]] && version=
|
||||
|
||||
[ "$version" == "1.9.2" ] && version=""
|
||||
|
||||
local full="$version$gemset"
|
||||
|
||||
[ "$full" != "" ] && echo "$full"
|
||||
local full=$version$gemset
|
||||
[[ $full ]] && echo "$full"
|
||||
}
|
||||
|
||||
function prompt_command() {
|
||||
# Check http://github.com/Sirupsen/dotfiles for screenshot
|
||||
PS1="$blue\W/$bold_blue$(rvm_version_prompt)$bold_green$(__git_ps1 " (%s)") ${normal}$ "
|
||||
function prompt_command {
|
||||
# Check http://github.com/Sirupsen/dotfiles for screenshot
|
||||
PS1="$blue\W/$bold_blue$(_omb_theme_sirup_rubygem)$bold_green$(__git_ps1 " (%s)") ${normal}$ "
|
||||
}
|
||||
|
||||
safe_append_prompt_command prompt_command
|
||||
|
@@ -14,7 +14,7 @@ VIRTUALENV_THEME_PROMPT_PREFIX='|'
|
||||
VIRTUALENV_THEME_PROMPT_SUFFIX='|'
|
||||
|
||||
function prompt_command() {
|
||||
PS1="\n${green}$(_omb_prompt_print_python_venv)${red}$(ruby_version_prompt) ${reset_color}\h ${orange}in ${reset_color}\w\n${yellow}$(scm_char)$(scm_prompt_info) ${yellow}→${white} "
|
||||
PS1="\n${green}$(_omb_prompt_print_python_venv)${red}$(_omb_prompt_print_ruby_env) ${reset_color}\h ${orange}in ${reset_color}\w\n${yellow}$(scm_char)$(scm_prompt_info) ${yellow}→${white} "
|
||||
}
|
||||
|
||||
safe_append_prompt_command prompt_command
|
||||
|
@@ -18,7 +18,7 @@ function prompt_command() {
|
||||
else
|
||||
status=💔
|
||||
fi
|
||||
PS1="\n${yellow}$(ruby_version_prompt) ${purple}\h ${reset_color}in ${green}\w $status \n${bold_cyan} ${blue}|$(clock_prompt)|${green}$(scm_prompt_info) ${green}→${reset_color} "
|
||||
PS1="\n${yellow}$(_omb_prompt_print_ruby_env) ${purple}\h ${reset_color}in ${green}\w $status \n${bold_cyan} ${blue}|$(clock_prompt)|${green}$(scm_prompt_info) ${green}→${reset_color} "
|
||||
}
|
||||
|
||||
THEME_CLOCK_COLOR=${THEME_CLOCK_COLOR:-"$blue"}
|
||||
|
Reference in New Issue
Block a user