2022-01-15 19:00:35 +09:00
|
|
|
#! bash oh-my-bash.module
|
2017-10-10 18:07:01 +07:00
|
|
|
# scm theming
|
|
|
|
SCM_THEME_PROMPT_PREFIX="|"
|
|
|
|
SCM_THEME_PROMPT_SUFFIX=""
|
|
|
|
|
2022-01-24 14:55:36 +09:00
|
|
|
SCM_THEME_PROMPT_DIRTY=" ${_omb_prompt_bold_brown}✗${_omb_prompt_normal}"
|
lib, themes: Resolve conflicting variables
"lib" has used the variables "red", "green", "yellow", "blue", and
"purple" for outputting logs to stdout/stderr. On the other hand,
"themes" has used the same variables for including escape sequences in
PS1. These two sets of variables have different values, i.e., the
latter is enclosed by '\[' and '\]' and contains escaped '\e', which
means that there have been variable conflicts. In this commit, more
specific variables are used in these places to resolve the conflicts.
2022-01-19 17:23:35 +09:00
|
|
|
SCM_THEME_PROMPT_CLEAN=" ${_omb_prompt_green}✓${_omb_prompt_normal}"
|
|
|
|
SCM_GIT_CHAR="${_omb_prompt_green}±${_omb_prompt_normal}"
|
2022-01-24 14:55:36 +09:00
|
|
|
SCM_SVN_CHAR="${_omb_prompt_bold_teal}⑆${_omb_prompt_normal}"
|
|
|
|
SCM_HG_CHAR="${_omb_prompt_bold_brown}☿${_omb_prompt_normal}"
|
2017-10-10 18:07:01 +07:00
|
|
|
|
|
|
|
### TODO: openSUSE has already colors enabled, check if those differs from stock
|
|
|
|
# LS colors, made with http://geoff.greer.fm/lscolors/
|
|
|
|
# export LSCOLORS="Gxfxcxdxbxegedabagacad"
|
|
|
|
# export LS_COLORS='no=00:fi=00:di=01;34:ln=00;36:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=41;33;01:ex=00;32:*.cmd=00;32:*.exe=01;32:*.com=01;32:*.bat=01;32:*.btm=01;32:*.dll=01;32:*.tar=00;31:*.tbz=00;31:*.tgz=00;31:*.rpm=00;31:*.deb=00;31:*.arj=00;31:*.taz=00;31:*.lzh=00;31:*.lzma=00;31:*.zip=00;31:*.zoo=00;31:*.z=00;31:*.Z=00;31:*.gz=00;31:*.bz2=00;31:*.tb2=00;31:*.tz2=00;31:*.tbz2=00;31:*.avi=01;35:*.bmp=01;35:*.fli=01;35:*.gif=01;35:*.jpg=01;35:*.jpeg=01;35:*.mng=01;35:*.mov=01;35:*.mpg=01;35:*.pcx=01;35:*.pbm=01;35:*.pgm=01;35:*.png=01;35:*.ppm=01;35:*.tga=01;35:*.tif=01;35:*.xbm=01;35:*.xpm=01;35:*.dl=01;35:*.gl=01;35:*.wmv=01;35:*.aiff=00;32:*.au=00;32:*.mid=00;32:*.mp3=00;32:*.ogg=00;32:*.voc=00;32:*.wav=00;32:'
|
|
|
|
|
|
|
|
scm_prompt() {
|
|
|
|
CHAR=$(scm_char)
|
|
|
|
if [ $CHAR = $SCM_NONE_CHAR ]
|
|
|
|
then
|
|
|
|
return
|
|
|
|
else
|
|
|
|
echo "[$(scm_char)$(scm_prompt_info)]"
|
|
|
|
fi
|
|
|
|
}
|
|
|
|
|
2022-01-11 12:40:43 +09:00
|
|
|
_omb_theme_PROMPT_COMMAND() {
|
2022-01-24 14:55:36 +09:00
|
|
|
ps_host="${_omb_prompt_bold_navy}\h${_omb_prompt_normal}";
|
lib, themes: Resolve conflicting variables
"lib" has used the variables "red", "green", "yellow", "blue", and
"purple" for outputting logs to stdout/stderr. On the other hand,
"themes" has used the same variables for including escape sequences in
PS1. These two sets of variables have different values, i.e., the
latter is enclosed by '\[' and '\]' and contains escaped '\e', which
means that there have been variable conflicts. In this commit, more
specific variables are used in these places to resolve the conflicts.
2022-01-19 17:23:35 +09:00
|
|
|
ps_user="${_omb_prompt_green}\u${_omb_prompt_normal}";
|
|
|
|
ps_user_mark="${_omb_prompt_green} $ ${_omb_prompt_normal}";
|
2022-01-24 14:55:36 +09:00
|
|
|
ps_root="${_omb_prompt_brown}\u${_omb_prompt_brown}";
|
|
|
|
ps_root_mark="${_omb_prompt_brown} # ${_omb_prompt_normal}"
|
|
|
|
ps_path="${_omb_prompt_olive}\w${_omb_prompt_normal}";
|
2017-10-10 18:07:01 +07:00
|
|
|
|
|
|
|
# make it work
|
|
|
|
case $(id -u) in
|
|
|
|
0) PS1="$ps_root@$ps_host$(scm_prompt):$ps_path$ps_root_mark"
|
|
|
|
;;
|
|
|
|
*) PS1="$ps_user@$ps_host$(scm_prompt):$ps_path$ps_user_mark"
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
}
|
|
|
|
|
2022-01-11 12:40:43 +09:00
|
|
|
_omb_util_add_prompt_command _omb_theme_PROMPT_COMMAND
|