浏览代码

Add blacklist variable for random theme

Co-authored-by: Fran Garcia <fran.miranda@gmail.com>
Marc Cornellà 4 年之前
父节点
当前提交
3d4890dcc0
共有 1 个文件被更改,包括 6 次插入2 次删除
  1. 6 2
      themes/random.zsh-theme

+ 6 - 2
themes/random.zsh-theme

@@ -5,19 +5,23 @@ if [[ "${(t)ZSH_THEME_RANDOM_CANDIDATES}" = array && ${#ZSH_THEME_RANDOM_CANDIDA
   # Use ZSH_THEME_RANDOM_CANDIDATES if properly defined
   themes=($ZSH_THEME_RANDOM_CANDIDATES)
 else
-  # Look for themes in $ZSH_CUSTOM and $ZSH and add only the theme name (:t)
+  # Look for themes in $ZSH_CUSTOM and $ZSH and add only the theme name
   themes=(
     "$ZSH_CUSTOM"/*.zsh-theme(N:t:r)
     "$ZSH_CUSTOM"/themes/*.zsh-theme(N:t:r)
     "$ZSH"/themes/*.zsh-theme(N:t:r)
   )
+  # Remove blacklisted themes from the list
+  for theme in ${ZSH_THEME_RANDOM_BLACKLIST[@]}; do
+    themes=("${(@)themes:#$theme}")
+  done
 fi
 
 # Choose a theme out of the pool of candidates
 N=${#themes[@]}
 (( N = (RANDOM%N) + 1 ))
 RANDOM_THEME="${themes[$N]}"
-unset N themes
+unset N themes theme
 
 # Source theme
 if [[ -f "$ZSH_CUSTOM/$RANDOM_THEME.zsh-theme" ]]; then