2022-01-15 19:00:35 +09:00
|
|
|
#! bash oh-my-bash.module
|
2017-10-10 18:07:01 +07:00
|
|
|
# ------------------------------------------------------------------#
|
|
|
|
# FILE: mbriggs.zsh-theme #
|
|
|
|
# BY: Matt Briggs (matt@mattbriggs.net) #
|
|
|
|
# BASED ON: smt by Stephen Tudor (stephen@tudorstudio.com) #
|
|
|
|
# ------------------------------------------------------------------#
|
|
|
|
|
2022-01-24 14:55:36 +09:00
|
|
|
SCM_THEME_PROMPT_DIRTY="${_omb_prompt_brown}⚡${_omb_prompt_reset_color}"
|
|
|
|
SCM_THEME_PROMPT_AHEAD="${_omb_prompt_brown}!${_omb_prompt_reset_color}"
|
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_reset_color}"
|
2017-10-10 18:07:01 +07:00
|
|
|
SCM_THEME_PROMPT_PREFIX=" "
|
|
|
|
SCM_THEME_PROMPT_SUFFIX=""
|
2022-01-24 14:55:36 +09:00
|
|
|
GIT_SHA_PREFIX=" ${_omb_prompt_olive}"
|
2022-01-19 16:52:15 +09:00
|
|
|
GIT_SHA_SUFFIX="${_omb_prompt_reset_color}"
|
2017-10-10 18:07:01 +07:00
|
|
|
|
|
|
|
function git_short_sha() {
|
|
|
|
SHA=$(git rev-parse --short HEAD 2> /dev/null) && echo "$GIT_SHA_PREFIX$SHA$GIT_SHA_SUFFIX"
|
|
|
|
}
|
|
|
|
|
2022-01-11 12:40:43 +09:00
|
|
|
function _omb_theme_PROMPT_COMMAND() {
|
2017-10-10 18:07:01 +07:00
|
|
|
local return_status=""
|
2022-01-24 14:55:36 +09:00
|
|
|
local ruby="${_omb_prompt_brown}$(_omb_prompt_print_ruby_env)${_omb_prompt_reset_color}"
|
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
|
|
|
local user_host="${_omb_prompt_green}\h${_omb_prompt_reset_color}"
|
2017-10-10 18:07:01 +07:00
|
|
|
local current_path="\w"
|
|
|
|
local n_commands="\!"
|
|
|
|
local git_branch="$(git_short_sha)$(scm_prompt_info)"
|
|
|
|
local prompt_symbol='λ'
|
|
|
|
local open='('
|
|
|
|
local close=')'
|
|
|
|
local prompt_char=' \$ '
|
|
|
|
|
|
|
|
PS1="\n${n_commands} ${user_host} ${prompt_symbol} ${ruby} ${open}${current_path}${git_branch}${close}${return_status}\n${prompt_char}"
|
|
|
|
}
|
|
|
|
|
2022-01-11 12:40:43 +09:00
|
|
|
_omb_util_add_prompt_command _omb_theme_PROMPT_COMMAND
|