From b114cabe1e3a5617c961c67445a0f1678311faa1 Mon Sep 17 00:00:00 2001 From: Koichi Murase Date: Tue, 30 Aug 2022 10:49:05 +0900 Subject: [PATCH] themes/pzq: Apply recent updates --- themes/pzq/pzq.theme.sh | 134 ++++++++++++++++++---------------------- 1 file changed, 60 insertions(+), 74 deletions(-) diff --git a/themes/pzq/pzq.theme.sh b/themes/pzq/pzq.theme.sh index 8bcbc73..2d45ef5 100644 --- a/themes/pzq/pzq.theme.sh +++ b/themes/pzq/pzq.theme.sh @@ -10,23 +10,23 @@ OMB_PROMPT_CONDAENV_FORMAT='(%s)' OMB_PROMPT_VIRTUALENV_FORMAT='(%s)' # ----------------------------------------------------------------- COLOR CONF -D_DEFAULT_COLOR="${white}" -D_INTERMEDIATE_COLOR="${bold_white}" -D_NUMBER_COLOR="${bold_blue}" -D_USER_COLOR="${cyan}" -D_SUPERUSER_COLOR="${red}" -D_MACHINE_COLOR="${green}" -D_DIR_COLOR="${bold_yellow}" -D_GIT_DEFAULT_COLOR="${echo_white}" -D_GIT_BRANCH_COLOR="${echo_cyan}" -D_GIT_PROMPT_COLOR="${echo_red}" -D_SCM_COLOR="${bold_yellow}" -D_BRANCH_COLOR="${cyan}" -D_CHANGES_COLOR="${white}" -D_TIME_COLOR="${white}" -D_DOLLOR_COLOR="${bold_red}" -D_CMDFAIL_COLOR="${red}" -D_VIMSHELL_COLOR="${cyan}" +D_DEFAULT_COLOR="$_omb_prompt_white" +D_INTERMEDIATE_COLOR="$_omb_prompt_bold_white" +D_NUMBER_COLOR="$_omb_prompt_bold_navy" +D_USER_COLOR="$_omb_prompt_teal" +D_SUPERUSER_COLOR="$_omb_prompt_brown" +D_MACHINE_COLOR="$_omb_prompt_green" +D_DIR_COLOR="$_omb_prompt_bold_olive" +D_GIT_DEFAULT_COLOR="$_omb_prompt_white" +D_GIT_BRANCH_COLOR="$_omb_prompt_teal" +D_GIT_PROMPT_COLOR="$_omb_prompt_brown" +D_SCM_COLOR="$_omb_prompt_bold_olive" +D_BRANCH_COLOR="$_omb_prompt_teal" +D_CHANGES_COLOR="$_omb_prompt_white" +D_TIME_COLOR="$_omb_prompt_white" +D_DOLLOR_COLOR="$_omb_prompt_bold_brown" +D_CMDFAIL_COLOR="$_omb_prompt_brown" +D_VIMSHELL_COLOR="$_omb_prompt_teal" # ------------------------------------------------------------------ FUNCTIONS case $TERM in @@ -39,56 +39,50 @@ case $TERM in esac is_vim_shell() { - if [ ! -z "$VIMRUNTIME" ]; - then - echo "${D_INTERMEDIATE_COLOR}on ${D_VIMSHELL_COLOR}\ -vim shell${D_DEFAULT_COLOR} " + if [[ ${VIMRUNTIME-} ]]; then + echo "${D_INTERMEDIATE_COLOR}on ${D_VIMSHELL_COLOR}vim shell${D_DEFAULT_COLOR} " fi } mitsuhikos_lastcommandfailed() { - local code=$? - if [ $code != 0 ]; - then - echo " ${D_DEFAULT_COLOR}C:${D_CMDFAIL_COLOR}\ -$code ${D_DEFAULT_COLOR}" + local status=$? + if ((status != 0)); then + echo " ${D_DEFAULT_COLOR}C:${D_CMDFAIL_COLOR}$code ${D_DEFAULT_COLOR}" fi } # vcprompt for scm instead of oh-my-bash default demula_vcprompt() { - if [ ! -z "$VCPROMPT_EXECUTABLE" ]; - then - local D_VCPROMPT_FORMAT="on ${D_SCM_COLOR}%s${D_INTERMEDIATE_COLOR}:\ -${D_BRANCH_COLOR}%b %r ${D_CHANGES_COLOR}%m%u ${D_DEFAULT_COLOR}" + if [[ ${VCPROMPT_EXECUTABLE-} ]]; then + local D_VCPROMPT_FORMAT="on ${D_SCM_COLOR}%s${D_INTERMEDIATE_COLOR}:${D_BRANCH_COLOR}%b %r ${D_CHANGES_COLOR}%m%u ${D_DEFAULT_COLOR}" $VCPROMPT_EXECUTABLE -f "$D_VCPROMPT_FORMAT" fi } # checks if the plugin is installed before calling battery_charge safe_battery_charge() { - if [ -e "${OSH}/plugins/battery/battery.plugin.sh" ]; - then + if _omb_util_function_exists battery_charge; then battery_charge fi } prompt_git() { - local branchName=''; + local branchName='' - # Check if the current directory is in a Git repository. - if [ $(git rev-parse --is-inside-work-tree &>/dev/null; echo "${?}") == '0' ]; then - # Get the short symbolic ref. - # If HEAD isn’t a symbolic ref, get the short SHA for the latest commit - # Otherwise, just give up. - branchName="$(git symbolic-ref --quiet --short HEAD 2> /dev/null || \ - git rev-parse --short HEAD 2> /dev/null || \ - echo '(unknown)')"; + # Check if the current directory is in a Git repository. + if [ $(git rev-parse --is-inside-work-tree &>/dev/null; echo "${?}") == '0' ]; then + # Get the short symbolic ref. + # If HEAD isn’t a symbolic ref, get the short SHA for the latest commit + # Otherwise, just give up. + branchName=$( + git symbolic-ref --quiet --short HEAD 2> /dev/null || + git rev-parse --short HEAD 2> /dev/null || + echo '(unknown)'); - echo -e "${D_GIT_DEFAULT_COLOR}on ${D_GIT_BRANCH_COLOR}${branchName} "; - else - return; - fi; + echo "${D_GIT_DEFAULT_COLOR}on ${D_GIT_BRANCH_COLOR}${branchName} " + else + return + fi } limited_pwd() { @@ -111,12 +105,12 @@ limited_pwd() { } # -------------------------------------------------------------- PROMPT OUTPUT -prompt() { +_omb_theme_PROMPT_COMMAND() { local LAST_COMMAND_FAILED=$(mitsuhikos_lastcommandfailed) local SAVE_CURSOR='\[\e7' local RESTORE_CURSOR='\e8\]' - local MOVE_CURSOR_RIGHTMOST='\033['${COLUMNS:-9999}'C' - local MOVE_CURSOR_5_LEFT='\033[5D' + local MOVE_CURSOR_RIGHTMOST='\e['${COLUMNS:-9999}'C' + local MOVE_CURSOR_5_LEFT='\e[5D' local THEME_CLOCK_FORMAT="%H:%M:%S %y-%m-%d" # Replace $HOME with ~ if possible local RELATIVE_PWD=${PWD/#$HOME/\~} @@ -124,36 +118,28 @@ prompt() { local python_venv _omb_prompt_get_python_venv - if [ "$OSTYPE" = "linux-gnu" ]; - then - PS1="${TITLEBAR}$python_venv -${SAVE_CURSOR}${MOVE_CURSOR_RIGHTMOST}${MOVE_CURSOR_5_LEFT}\ -$(safe_battery_charge)${RESTORE_CURSOR}\ -${D_NUMBER_COLOR}# ${D_USER_COLOR}\u ${D_DEFAULT_COLOR}\ -@ ${D_MACHINE_COLOR}\h ${D_DEFAULT_COLOR}\ -in ${D_DIR_COLOR}${RELATIVE_PWD} ${D_INTERMEDIATE_COLOR}\ -$(prompt_git)\ -${D_TIME_COLOR}[$(clock_prompt)]\ -${LAST_COMMAND_FAILED}\ -$(demula_vcprompt)\ -$(is_vim_shell) -${D_DOLLOR_COLOR}$ ${D_DEFAULT_COLOR}" + PS1=${TITLEBAR}$python_venv$'\n' + if [[ $OSTYPE == linux-gnu ]]; then + PS1+="${SAVE_CURSOR}${MOVE_CURSOR_RIGHTMOST}${MOVE_CURSOR_5_LEFT}" + PS1+="$(safe_battery_charge)${RESTORE_CURSOR}" + PS1+="${D_NUMBER_COLOR}# ${D_USER_COLOR}\u ${D_DEFAULT_COLOR}" else - PS1="${TITLEBAR}$python_venv -${D_NUMBER_COLOR}# ${D_USER_COLOR}\u ${D_DEFAULT_COLOR}\ -@ ${D_MACHINE_COLOR}\h ${D_DEFAULT_COLOR}\ -in ${D_DIR_COLOR}${RELATIVE_PWD} ${D_INTERMEDIATE_COLOR}\ -$(prompt_git)\ -${D_TIME_COLOR}[$(clock_prompt)]\ -${LAST_COMMAND_FAILED}\ -$(demula_vcprompt)\ -$(is_vim_shell)\ -$(safe_battery_charge) -${D_DOLLOR_COLOR}$ ${D_DEFAULT_COLOR}" + PS1+="${D_NUMBER_COLOR}# ${D_USER_COLOR}\u ${D_DEFAULT_COLOR}" fi + PS1+="@ ${D_MACHINE_COLOR}\h ${D_DEFAULT_COLOR}" + PS1+="in ${D_DIR_COLOR}${RELATIVE_PWD} ${D_INTERMEDIATE_COLOR}" + PS1+=$(prompt_git) + PS1+=${D_TIME_COLOR}[$(clock_prompt)] + PS1+=${LAST_COMMAND_FAILED} + PS1+=$(demula_vcprompt) + PS1+=$(is_vim_shell) + if [[ $OSTYPE != linux-gnu ]]; then + PS1+=$(safe_battery_charge) + fi + PS1+=$'\n'"${D_DOLLOR_COLOR}$ ${D_DEFAULT_COLOR}" PS2="${D_INTERMEDIATE_COLOR}$ ${D_DEFAULT_COLOR}" } # Runs prompt (this bypasses oh-my-bash $PROMPT setting) -safe_append_prompt_command prompt +_omb_util_add_prompt_command _omb_theme_PROMPT_COMMAND