oh-my-bash/themes/mbriggs/mbriggs.theme.sh
Koichi Murase 8eb9fec5ed 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-02-01 01:42:52 +09:00

36 lines
1.5 KiB
Bash

#! bash oh-my-bash.module
# ------------------------------------------------------------------#
# FILE: mbriggs.zsh-theme #
# BY: Matt Briggs (matt@mattbriggs.net) #
# BASED ON: smt by Stephen Tudor (stephen@tudorstudio.com) #
# ------------------------------------------------------------------#
SCM_THEME_PROMPT_DIRTY="${_omb_prompt_red}${_omb_prompt_reset_color}"
SCM_THEME_PROMPT_AHEAD="${_omb_prompt_red}!${_omb_prompt_reset_color}"
SCM_THEME_PROMPT_CLEAN="${_omb_prompt_green}${_omb_prompt_reset_color}"
SCM_THEME_PROMPT_PREFIX=" "
SCM_THEME_PROMPT_SUFFIX=""
GIT_SHA_PREFIX=" ${_omb_prompt_yellow}"
GIT_SHA_SUFFIX="${_omb_prompt_reset_color}"
function git_short_sha() {
SHA=$(git rev-parse --short HEAD 2> /dev/null) && echo "$GIT_SHA_PREFIX$SHA$GIT_SHA_SUFFIX"
}
function _omb_theme_PROMPT_COMMAND() {
local return_status=""
local ruby="${_omb_prompt_red}$(_omb_prompt_print_ruby_env)${_omb_prompt_reset_color}"
local user_host="${_omb_prompt_green}\h${_omb_prompt_reset_color}"
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}"
}
_omb_util_add_prompt_command _omb_theme_PROMPT_COMMAND