diff --git a/themes/random.zsh-theme b/themes/random.zsh-theme index 92d2a6847..43f6cbb60 100644 --- a/themes/random.zsh-theme +++ b/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