refactor(themes/powerline-icon): allow specifying icons through variables

This commit is contained in:
Koichi Murase 2024-09-01 08:30:35 +09:00
parent c2f572f14c
commit a0d6af5541
4 changed files with 20 additions and 48 deletions

View File

@ -2,6 +2,11 @@
source "$OSH/themes/powerline/powerline.base.sh"
: "${OMB_THEME_POWERLINE_ICON_USER=🐧}"
: "${OMB_THEME_POWERLINE_ICON_HOME=🏠}"
: "${OMB_THEME_POWERLINE_ICON_EXIT_FAILURE=❌}"
: "${OMB_THEME_POWERLINE_ICON_EXIT_SUCCESS=✅}"
function __powerline_user_info_prompt {
local user_info=""
local color=${USER_INFO_THEME_PROMPT_COLOR}
@ -27,17 +32,17 @@ function __powerline_user_info_prompt {
fi
;;
esac
[[ -n "${user_info}" ]] && echo "🐧 ${user_info} `date +%X\ %D`|${color}|${secondary_color}"
[[ -n "${user_info}" ]] && echo "$OMB_THEME_POWERLINE_ICON_USER ${user_info} `date +%X\ %D`|${color}|${secondary_color}"
}
function __powerline_cwd_prompt {
echo "$(pwd | sed "s|^${HOME}|🏠|")|${CWD_THEME_PROMPT_COLOR}"
echo "$(pwd | sed "s|^${HOME}|$OMB_THEME_POWERLINE_ICON_HOME|")|${CWD_THEME_PROMPT_COLOR}"
}
function __powerline_last_status_prompt {
if [[ "$1" -ne 0 ]]; then
echo "${1}|${LAST_STATUS_THEME_PROMPT_COLOR}"
echo "$OMB_THEME_POWERLINE_ICON_EXIT_FAILURE${1}|${LAST_STATUS_THEME_PROMPT_COLOR}"
else
echo "|${LAST_STATUS_THEME_PROMPT_COLOR_SUCCESS}"
echo "$OMB_THEME_POWERLINE_ICON_EXIT_SUCCESS|${LAST_STATUS_THEME_PROMPT_COLOR_SUCCESS}"
fi
}

View File

@ -50,5 +50,10 @@ IN_VIM_THEME_PROMPT_TEXT="vim"
POWERLINE_PROMPT=${POWERLINE_PROMPT:="user_info scm python_venv ruby cwd"}
OMB_THEME_POWERLINE_ICON_USER='🐧'
OMB_THEME_POWERLINE_ICON_HOME='🏠'
OMB_THEME_POWERLINE_ICON_EXIT_FAILURE='❌'
OMB_THEME_POWERLINE_ICON_EXIT_SUCCESS='✅'
function _omb_theme_PROMPT_COMMAND { __powerline_prompt_command "$@"; }
_omb_util_add_prompt_command _omb_theme_PROMPT_COMMAND

View File

@ -1,43 +0,0 @@
#! bash oh-my-bash.module
source "$OSH/themes/powerline/powerline.base.sh"
function __powerline_user_info_prompt {
local user_info=""
local color=${USER_INFO_THEME_PROMPT_COLOR}
local secondary_color="${USER_INFO_THEME_PROMPT_SECONDARY_COLOR}"
if [[ "${THEME_CHECK_SUDO}" = true ]]; then
# check whether sudo is active for no-password executions
if sudo -n cat <<< c3bcc5c 2>&1 | grep -q c3bcc5c; then
color=${USER_INFO_THEME_PROMPT_COLOR_SUDO}
fi
fi
case "${POWERLINE_PROMPT_USER_INFO_MODE}" in
"sudo")
if [[ "${color}" == "${USER_INFO_THEME_PROMPT_COLOR_SUDO}" ]]; then
user_info="!"
fi
;;
*)
if [[ -n "${SSH_CLIENT}" ]]; then
user_info="${USER_INFO_SSH_CHAR}${USER}@${HOSTNAME}"
else
user_info="${USER}"
fi
;;
esac
[[ -n "${user_info}" ]] && echo "🧙 ${user_info} `date +%X\ %D`|${color}|${secondary_color}"
}
function __powerline_cwd_prompt {
echo "$(pwd | sed "s|^${HOME}|🔮|")|${CWD_THEME_PROMPT_COLOR}"
}
function __powerline_last_status_prompt {
if [[ "$1" -ne 0 ]]; then
echo "🔥${1}|${LAST_STATUS_THEME_PROMPT_COLOR}"
else
echo "🌀|${LAST_STATUS_THEME_PROMPT_COLOR_SUCCESS}"
fi
}

View File

@ -1,6 +1,6 @@
#! bash oh-my-bash.module
source "$OSH/themes/powerline-wizard/powerline-wizard.base.sh"
source "$OSH/themes/powerline-icon/powerline-icon.base.sh"
PROMPT_CHAR=${POWERLINE_PROMPT_CHAR:=""}
POWERLINE_LEFT_SEPARATOR=${POWERLINE_LEFT_SEPARATOR:=""}
@ -50,5 +50,10 @@ IN_VIM_THEME_PROMPT_TEXT="vim"
POWERLINE_PROMPT=${POWERLINE_PROMPT:="user_info scm python_venv ruby cwd"}
OMB_THEME_POWERLINE_ICON_USER='🧙'
OMB_THEME_POWERLINE_ICON_HOME='🔮'
OMB_THEME_POWERLINE_ICON_EXIT_FAILURE='🔥'
OMB_THEME_POWERLINE_ICON_EXIT_SUCCESS='🌀'
function _omb_theme_PROMPT_COMMAND { __powerline_prompt_command "$@"; }
_omb_util_add_prompt_command _omb_theme_PROMPT_COMMAND