a94e263426bdf6e05cdfa9fae5e80cec5ee8d9ae

Author
Marc Cornellà <hello@mcornella.com>
Committer
Marc Cornellà <hello@mcornella.com>
Date

Message

refactor(adben): simplify used variables and %-quote prompt functions

Closes #10474

Co-authored-by: Tom Payne <twpayne@gmail.com>

Diff

This diff is truncated to protect this page.

  1diff --git a/.github/actions/spelling/expect.txt b/.github/actions/spelling/expect.txt
  2index 533ae49c09b189fcf786122f106d9dbfa6fe5a64..65215c6c3a31547d487b4cfa23218658c6e3bfb8 100644
  3--- a/.github/actions/spelling/expect.txt
  4+++ b/.github/actions/spelling/expect.txt
  5@@ -3688,7 +3688,6 @@ Subsubcommands
  6 Subsubsubcommands
  7 sudo
  8 sudoedit
  9-SUFIX
 10 suitenames
 11 sunaku
 12 sunion
 13diff --git a/themes/adben.zsh-theme b/themes/adben.zsh-theme
 14index ebdec7c8275db4246fed2d192fbbe11f6c207e99..ddb34236b92bc884427592b6bbbe2fae024d3bce 100644
 15--- a/themes/adben.zsh-theme
 16+++ b/themes/adben.zsh-theme
 17@@ -32,42 +32,44 @@
 18 
 19 ########## COLOR ###########
 20 for COLOR in CYAN WHITE YELLOW MAGENTA BLACK BLUE RED DEFAULT GREEN GREY; do
 21-  eval PR_$COLOR='%{$fg[${(L)COLOR}]%}'
 22-  eval PR_BRIGHT_$COLOR='%{$fg_bold[${(L)COLOR}]%}'
 23+  print -v "PR_$COLOR" "%b%{$fg[${(L)COLOR}]%}"
 24+  print -v "PR_BRIGHT_$COLOR" "%B%{$fg[${(L)COLOR}]%}"
 25 done
 26-
 27 PR_RESET="%{$reset_color%}"
 28-RED_START="${PR_RESET}${PR_GREY}<${PR_RESET}${PR_RED}<${PR_BRIGHT_RED}<${PR_RESET} "
 29-RED_END="${PR_RESET}${PR_BRIGHT_RED}>${PR_RESET}${PR_RED}>${PR_GREY}>${PR_RESET} "
 30-GREEN_END="${PR_RESET}${PR_BRIGHT_GREEN}>${PR_RESET}${PR_GREEN}>${PR_GREY}>${PR_RESET} "
 31-GREEN_BASE_START="${PR_RESET}${PR_GREY}>${PR_RESET}${PR_GREEN}>${PR_BRIGHT_GREEN}>${PR_RESET}"
 32-GREEN_START_P1="${PR_RESET}${GREEN_BASE_START}${PR_RESET} "
 33-DIVISION="${PR_RESET}${PR_RED} < ${PR_RESET}"
 34-VCS_DIRTY_COLOR="${PR_RESET}${PR_YELLOW}"
 35-VCS_CLEAN_COLOR="${PR_RESET}${PR_GREEN}"
 36-VCS_SUFIX_COLOR="${PR_RESET}${PR_RED}› ${PR_RESET}"
 37+
 38+RED_START="${PR_GREY}<${PR_RED}<${PR_BRIGHT_RED}<${PR_RESET} "
 39+RED_END="${PR_BRIGHT_RED}>${PR_RED}>${PR_GREY}>${PR_RESET} "
 40+GREEN_START="${PR_GREY}>${PR_GREEN}>${PR_BRIGHT_GREEN}>${PR_RESET}"
 41+GREEN_END="${PR_BRIGHT_GREEN}>${PR_GREEN}>${PR_GREY}>${PR_RESET} "
 42+
 43+########## VCS ###########
 44+VCS_DIRTY_COLOR="${PR_YELLOW}"
 45+VCS_CLEAN_COLOR="${PR_GREEN}"
 46+VCS_SUFFIX_COLOR="${PR_RED}› ${PR_RESET}"
 47 
 48 ########## SVN ###########
 49-ZSH_THEME_SVN_PROMPT_PREFIX="${PR_RESET}${PR_RED}‹svn:"
 50-ZSH_THEME_SVN_PROMPT_SUFFIX=""
 51-ZSH_THEME_SVN_PROMPT_DIRTY="${VCS_DIRTY_COLOR} ✘${VCS_SUFIX_COLOR}"
 52-ZSH_THEME_SVN_PROMPT_CLEAN="${VCS_CLEAN_COLOR} ✔${VCS_SUFIX_COLOR}"
 53+ZSH_THEME_SVN_PROMPT_PREFIX="${PR_RED}‹svn:"
 54+ZSH_THEME_SVN_PROMPT_SUFFIX="${VCS_SUFFIX_COLOR}"
 55+ZSH_THEME_SVN_PROMPT_DIRTY="${VCS_DIRTY_COLOR} ✘"
 56+ZSH_THEME_SVN_PROMPT_CLEAN="${VCS_CLEAN_COLOR} ✔"
 57 
 58 ########## GIT ###########
 59-ZSH_THEME_GIT_PROMPT_PREFIX="${PR_RESET}${PR_RED}‹git:"
 60-ZSH_THEME_GIT_PROMPT_SUFFIX=""
 61-ZSH_THEME_GIT_PROMPT_DIRTY="${VCS_DIRTY_COLOR} ✘${VCS_SUFIX_COLOR}"
 62-ZSH_THEME_GIT_PROMPT_CLEAN="${VCS_CLEAN_COLOR} ✔${VCS_SUFIX_COLOR}"
 63-ZSH_THEME_GIT_PROMPT_ADDED="${PR_RESET}${PR_YELLOW} ✚${PR_RESET}"
 64-ZSH_THEME_GIT_PROMPT_MODIFIED="${PR_RESET}${PR_YELLOW} ✹${PR_RESET}"
 65-ZSH_THEME_GIT_PROMPT_DELETED="${PR_RESET}${PR_YELLOW} ✖${PR_RESET}"
 66-ZSH_THEME_GIT_PROMPT_RENAMED="${PR_RESET}${PR_YELLOW} ➜${PR_RESET}"
 67-ZSH_THEME_GIT_PROMPT_UNMERGED="${PR_RESET}${PR_YELLOW} ═${PR_RESET}"
 68-ZSH_THEME_GIT_PROMPT_UNTRACKED="${PR_RESET}${PR_YELLOW} ✭${PR_RESET}"
 69+ZSH_THEME_GIT_PROMPT_PREFIX="${PR_RED}‹git:"
 70+ZSH_THEME_GIT_PROMPT_SUFFIX="${VCS_SUFFIX_COLOR}"
 71+ZSH_THEME_GIT_PROMPT_DIRTY="${VCS_DIRTY_COLOR} ✘"
 72+ZSH_THEME_GIT_PROMPT_CLEAN="${VCS_CLEAN_COLOR} ✔"
 73+ZSH_THEME_GIT_PROMPT_ADDED="${PR_YELLOW} ✚"
 74+ZSH_THEME_GIT_PROMPT_MODIFIED="${PR_YELLOW} ✹"
 75+ZSH_THEME_GIT_PROMPT_DELETED="${PR_YELLOW} ✖"
 76+ZSH_THEME_GIT_PROMPT_RENAMED="${PR_YELLOW} ➜"
 77+ZSH_THEME_GIT_PROMPT_UNMERGED="${PR_YELLOW} ═"
 78+ZSH_THEME_GIT_PROMPT_UNTRACKED="${PR_YELLOW} ✭"
 79 
 80 # Get a fortune quote
 81 ps1_fortune() {
 82-  (( ${+commands[fortune]} )) && fortune
 83+  if (( ${+commands[fortune]} )); then
 84+    fortune
 85+  fi
 86 }
 87 
 88 # Obtain a command tip
 89@@ -77,33 +79,27 @@ ps1_command_tip() {
 90       command wget -qO- https://www.commandlinefu.com/commands/random/plaintext
 91     elif (( ${+commands[curl]} )); then
 92       command curl -fsL https://www.commandlinefu.com/commands/random/plaintext
 93-    fi
 94-  } | sed 1d | sed '/^$/d'
 95+    fi 
 96+  } | sed '1d;/^$/d'
 97 }
 98 
 99-function precmd_adben {
100-  prompt_header() {
101-    if [[ "$ENABLE_COMMAND_TIP" = true ]]; then
102-      ps1_command_tip
103-    else
104-      ps1_fortune
105-    fi
106-  }
107+# Show prompt header (fortune / command tip)
108+prompt_header() {
109+  local header=$(
110+    case "${ENABLE_COMMAND_TIP:-}" in
111+    true) ps1_command_tip ;;
112+    *) ps1_fortune ;;
113+    esac
114+  )
115 
116-  PROMPT_HEAD="${RED_START}${PR_YELLOW}$(prompt_header)${PR_RESET}"