2022-01-15 19:00:35 +09:00
|
|
|
#! bash oh-my-bash.module
|
2020-06-11 09:49:11 +02:00
|
|
|
#
|
|
|
|
# One line prompt showing the following configurable information
|
|
|
|
# for git:
|
|
|
|
# (virtual_env) username pwd git_char|git_branch git_dirty_status|→
|
|
|
|
#
|
|
|
|
# The → arrow shows the exit status of the last command:
|
|
|
|
# - bold green: 0 exit status
|
|
|
|
# - bold red: non-zero exit status
|
|
|
|
#
|
|
|
|
# Example outside git repo:
|
|
|
|
# 07:45:05 user@host ~ →
|
|
|
|
#
|
|
|
|
# Example inside clean git repo:
|
|
|
|
# 07:45:05 user@host ~/.oh-my-bash ±|master|→
|
|
|
|
#
|
|
|
|
# Example inside dirty git repo:
|
|
|
|
# 07:45:05 user@host ~/.oh-my-bash ±|master ✗|→
|
|
|
|
#
|
|
|
|
# Example with virtual environment:
|
|
|
|
# 07:45:05 (venv) user@host ~ →
|
|
|
|
#
|
|
|
|
|
2023-02-10 12:23:13 +09:00
|
|
|
SCM_NONE_CHAR=''
|
|
|
|
SCM_THEME_PROMPT_DIRTY=" ${_omb_prompt_brown}✗"
|
|
|
|
SCM_THEME_PROMPT_CLEAN=""
|
|
|
|
SCM_THEME_PROMPT_PREFIX="${_omb_prompt_green}|"
|
|
|
|
SCM_THEME_PROMPT_SUFFIX="${_omb_prompt_green}|"
|
|
|
|
SCM_GIT_SHOW_MINIMAL_INFO=true
|
|
|
|
|
|
|
|
OMB_PROMPT_VIRTUALENV_FORMAT='(%s) '
|
|
|
|
OMB_PROMPT_SHOW_PYTHON_VENV=${OMB_PROMPT_SHOW_PYTHON_VENV:=true}
|
2020-06-11 09:49:11 +02:00
|
|
|
|
2022-01-11 12:40:43 +09:00
|
|
|
function _omb_theme_PROMPT_COMMAND() {
|
2020-06-11 09:49:11 +02:00
|
|
|
# This needs to be first to save last command return code
|
|
|
|
local RC="$?"
|
|
|
|
|
2022-02-05 11:43:33 +09:00
|
|
|
local hostname="${_omb_prompt_bold_gray}\u"
|
2021-12-27 23:52:37 +09:00
|
|
|
local python_venv; _omb_prompt_get_python_venv
|
2022-01-19 16:52:15 +09:00
|
|
|
python_venv=$_omb_prompt_white$python_venv
|
2020-06-11 09:49:11 +02:00
|
|
|
|
|
|
|
# Set return status color
|
|
|
|
if [[ ${RC} == 0 ]]; then
|
2022-01-19 16:52:15 +09:00
|
|
|
ret_status="${_omb_prompt_bold_green}"
|
2020-06-11 09:49:11 +02:00
|
|
|
else
|
2022-01-24 14:55:36 +09:00
|
|
|
ret_status="${_omb_prompt_bold_brown}"
|
2020-06-11 09:49:11 +02:00
|
|
|
fi
|
|
|
|
|
|
|
|
# Append new history lines to history file
|
|
|
|
history -a
|
|
|
|
|
2022-01-24 14:55:36 +09:00
|
|
|
PS1="$python_venv${hostname} ${_omb_prompt_bold_teal}\w $(scm_prompt_char_info)${ret_status}→ ${_omb_prompt_normal}"
|
2020-06-11 09:49:11 +02:00
|
|
|
}
|
|
|
|
|
2022-01-11 12:40:43 +09:00
|
|
|
_omb_util_add_prompt_command _omb_theme_PROMPT_COMMAND
|