diff options
author | Tuowen Zhao <ztuowen@gmail.com> | 2020-02-27 14:43:29 -0800 |
---|---|---|
committer | Tuowen Zhao <ztuowen@gmail.com> | 2020-02-27 14:43:29 -0800 |
commit | 0b67340fd2fe9330d8487491e1983ad1a111fb2b (patch) | |
tree | fe9cdff80e98deced5c63e79110593d430802adb /themes/random.zsh-theme | |
parent | 93a2003db7738e2255a4589ef2073df1be34fe02 (diff) | |
parent | 2b499e1a9e8788d607768ecef67851e8234b72b3 (diff) | |
download | zsh-0b67340fd2fe9330d8487491e1983ad1a111fb2b.tar.gz zsh-0b67340fd2fe9330d8487491e1983ad1a111fb2b.tar.bz2 zsh-0b67340fd2fe9330d8487491e1983ad1a111fb2b.zip |
Merge branch 'master' of https://github.com/ohmyzsh/ohmyzsh
Diffstat (limited to 'themes/random.zsh-theme')
-rw-r--r-- | themes/random.zsh-theme | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/themes/random.zsh-theme b/themes/random.zsh-theme new file mode 100644 index 000000000..43f6cbb60 --- /dev/null +++ b/themes/random.zsh-theme @@ -0,0 +1,38 @@ +# Make themes a unique array +typeset -Ua themes + +if [[ "${(t)ZSH_THEME_RANDOM_CANDIDATES}" = array && ${#ZSH_THEME_RANDOM_CANDIDATES[@]} -gt 0 ]]; then + # 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 + 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 theme + +# Source theme +if [[ -f "$ZSH_CUSTOM/$RANDOM_THEME.zsh-theme" ]]; then + source "$ZSH_CUSTOM/$RANDOM_THEME.zsh-theme" +elif [[ -f "$ZSH_CUSTOM/themes/$RANDOM_THEME.zsh-theme" ]]; then + source "$ZSH_CUSTOM/themes/$RANDOM_THEME.zsh-theme" +elif [[ -f "$ZSH/themes/$RANDOM_THEME.zsh-theme" ]]; then + source "$ZSH/themes/$RANDOM_THEME.zsh-theme" +else + echo "[oh-my-zsh] Random theme '${RANDOM_THEME}' not found" + return 1 +fi + +echo "[oh-my-zsh] Random theme '${RANDOM_THEME}' loaded" |