diff --git a/themes/THEMES.md b/themes/THEMES.md index 207a3a279..e1e7c19c4 100644 --- a/themes/THEMES.md +++ b/themes/THEMES.md @@ -111,6 +111,10 @@ [![](hawaii50/hawaii50-dark.png)](hawaii50/hawaii50-dark.png) +## `ht` + +[![](ht/ht-dark.png)](ht/ht-dark.png) + ## `iterate` [![](iterate/iterate-dark.png)](iterate/iterate-dark.png) diff --git a/themes/ht/ht-dark.png b/themes/ht/ht-dark.png new file mode 100644 index 000000000..89b655675 Binary files /dev/null and b/themes/ht/ht-dark.png differ diff --git a/themes/ht/ht.theme.sh b/themes/ht/ht.theme.sh new file mode 100644 index 000000000..869c4eb1d --- /dev/null +++ b/themes/ht/ht.theme.sh @@ -0,0 +1,82 @@ +#! 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) + echo "$_omb_prompt_green" + ;; + 1) + echo "$_omb_prompt_red" + ;; + 2) + echo "$_omb_prompt_gray" + ;; + 126) + echo "$_omb_prompt_cyan" + ;; + 127) + echo "$_omb_prompt_magenta" + ;; + 130) + echo "$_omb_prompt_black" + ;; + 148) + echo "$_omb_prompt_yellow" + ;; + *) + echo "$_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 + PS1+="$_omb_prompt_red$(_omb_prompt_get_ruby_env)$_omb_prompt_reset_color" + PS1+="$_omb_prompt_green$(_omb_prompt_get_python_env)$_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