Browse Source

style(mlh): update the official theme of Major League Hacking (#9971)

* allow for customization of RPROMPT (exit code and timestamp)

* improve code and comments
Bartek Pacia 2 years ago
parent
commit
adcb5c5e07
1 changed files with 33 additions and 22 deletions
  1. 33 22
      themes/mlh.zsh-theme

+ 33 - 22
themes/mlh.zsh-theme

@@ -1,11 +1,12 @@
-# The Official Theme of 
-##     ## ##       ##     ## 
-###   ### ##       ##     ## 
-#### #### ##       ##     ## 
-## ### ## ##       ######### 
-##     ## ##       ##     ## 
-##     ## ##       ##     ## 
-##     ## ######## ##     ## 
+# The Official Theme of Major League Hacking
+
+##     ## ##       ##     ##
+###   ### ##       ##     ##
+#### #### ##       ##     ##
+## ### ## ##       #########
+##     ## ##       ##     ##
+##     ## ##       ##     ##
+##     ## ######## ##     ##
 
 # # # # # # # # # # # # # # # # # #
 # # # Feel free to customize! # # #
@@ -13,11 +14,17 @@
 
 # To easily discover colors and their codes, type `spectrum_ls` in the terminal
 
+# enable or disable particular elements
+PRINT_EXIT_CODE=true
+PRINT_TIME=true
+
+# symbols
 AT_SYMBOL=" @ "
 IN_SYMBOL=" in "
 ON_SYMBOL=" on "
-SYMBOL="$"
+SHELL_SYMBOL="$"
 
+# colors
 USER_COLOR="%F{001}"
 DEVICE_COLOR="%F{033}"
 DIR_COLOR="%F{220}"
@@ -25,35 +32,39 @@ BRANCH_COLOR="%F{001}"
 TIME_COLOR="%F{033}"
 
 username() {
-    echo "$USER_COLOR%n%f"
+  echo "$USER_COLOR%n%f"
 }
 
-# Returns device name 
+# Prints device name
 device() {
-    echo "$DEVICE_COLOR%m%f"
+  echo "$DEVICE_COLOR%m%f"
 }
 
-# The current directory
+# Prints the current directory
 directory() {
-    echo "$DIR_COLOR%1~%f"
+  echo "$DIR_COLOR%1~%f"
 }
 
-# Current time with milliseconds
+# Prints current time
 current_time() {
-    echo "$TIME_COLOR%*%f"
+  if [ "$PRINT_TIME" = true ]; then
+    echo " $TIME_COLOR%*%f"
+  fi
 }
 
-# Return status of the last command
-return_status() {
-    echo "%(?..%F{001}out %?)%f"
+# Prints exit code of the last executed command
+exit_code() {
+  if [ "$PRINT_EXIT_CODE" = true ]; then
+    echo "%(?..%F{001}exit %?)%f"
+  fi
 }
 
-# Set the git_prompt_info text
+# Set git_prompt_info text
 ZSH_THEME_GIT_PROMPT_PREFIX="${ON_SYMBOL}${BRANCH_COLOR}"
 ZSH_THEME_GIT_PROMPT_SUFFIX="%f"
 ZSH_THEME_GIT_PROMPT_DIRTY=""
 ZSH_THEME_GIT_PROMPT_CLEAN=""
 
 # %B and %b make the text bold
-PROMPT='%b$(username)$AT_SYMBOL$(device)$IN_SYMBOL$(directory)$(git_prompt_info)%b $SYMBOL '
-RPROMPT="$(return_status) $(current_time)"
+PROMPT='%b$(username)$AT_SYMBOL$(device)$IN_SYMBOL$(directory)$(git_prompt_info)%b $SHELL_SYMBOL '
+RPROMPT="$(exit_code)$(current_time)"