mirror of
https://github.com/ohmybash/oh-my-bash.git
synced 2024-09-21 10:27:09 +00:00
86 lines
2.0 KiB
Bash
86 lines
2.0 KiB
Bash
#! bash oh-my-bash.module
|
|
|
|
# Harrison's Theme (ht)
|
|
|
|
# Description:
|
|
# Simple prompt that shows basic working directory and exit code info
|
|
# Works with 8 color terminals
|
|
|
|
# Example prompt:
|
|
# ● [harrison@ubN2] in src ± |dev ✗|
|
|
|
|
# OMB SCM Prompt overrides
|
|
SCM_GIT_SHOW_MINIMAL_INFO="true"
|
|
SCM_THEME_PROMPT_DIRTY=" ${_omb_prompt_red}✗${_omb_prompt_normal}"
|
|
SCM_THEME_PROMPT_CLEAN=" ${_omb_prompt_green}✓${_omb_prompt_normal}"
|
|
SCM_NONE_CHAR=""
|
|
|
|
function _omb_theme_ht_exit_color {
|
|
case $1 in
|
|
0)
|
|
_omb_util_print "$_omb_prompt_green"
|
|
;;
|
|
1)
|
|
_omb_util_print "$_omb_prompt_red"
|
|
;;
|
|
2)
|
|
_omb_util_print "$_omb_prompt_gray"
|
|
;;
|
|
126)
|
|
_omb_util_print "$_omb_prompt_cyan"
|
|
;;
|
|
127)
|
|
_omb_util_print "$_omb_prompt_magenta"
|
|
;;
|
|
130)
|
|
_omb_util_print "$_omb_prompt_black"
|
|
;;
|
|
148)
|
|
_omb_util_print "$_omb_prompt_yellow"
|
|
;;
|
|
*)
|
|
_omb_util_print "$_omb_prompt_blue"
|
|
;;
|
|
esac
|
|
}
|
|
|
|
# Displays the current prompt
|
|
function _omb_theme_PROMPT_COMMAND {
|
|
# Capture exit code
|
|
# NOTE: DO NOT MOVE
|
|
local EXIT_CODE=$?
|
|
|
|
# Start prompt blank
|
|
PS1=""
|
|
|
|
# Exit code indicator
|
|
PS1+="$(_omb_theme_ht_exit_color "$EXIT_CODE")●$_omb_prompt_reset_color"
|
|
|
|
# Environment info
|
|
local rbenv virtualenv
|
|
_omb_prompt_get_rbenv &&
|
|
PS1+=$_omb_prompt_red$rbenv$_omb_prompt_reset_color
|
|
_omb_prompt_get_virtualenv &&
|
|
PS1+=$_omb_prompt_green$virtualenv$_omb_prompt_reset_color
|
|
|
|
# User and host
|
|
local user_host_prefix=" $_omb_prompt_reset_color["
|
|
local user_host_suffix="$_omb_prompt_reset_color]"
|
|
local user="$_omb_prompt_blue\u"
|
|
local host="$_omb_prompt_cyan\H"
|
|
local at="$_omb_prompt_reset_color@"
|
|
PS1+="$user_host_prefix$user$at$host$user_host_suffix"
|
|
|
|
# Working directory
|
|
PS1+=" in $_omb_prompt_magenta\W$_omb_prompt_reset_color"
|
|
|
|
# SCM
|
|
PS1+=" $(scm_prompt_char_info)"
|
|
|
|
# End prompt
|
|
PS1+="\n${_omb_prompt_green}➜ $_omb_prompt_normal"
|
|
}
|
|
|
|
# Runs prompt (this bypasses oh-my-bash $PROMPT setting)
|
|
_omb_util_add_prompt_command _omb_theme_PROMPT_COMMAND
|