"vscode:/vscode.git/clone" did not exist on "b297bf92964e04e24f960f4e38acdb9b740d2d9f"
Commit 6adad5c3 authored by Willy Weiskopf's avatar Willy Weiskopf Committed by Marc Cornellà
Browse files

Move random theme functionality into "random" theme

The statements for selecting a random theme in oh-my-zsh.sh and the themes
plugin are duplicate. Most people eventually settle on a theme, making those
lines in oh-my-zsh.sh superfluous. To address those, it may makes sense to put
the random theme functionality into a theme of its own (since themes are just
zsh scripts.
parent d76258ff
...@@ -97,25 +97,12 @@ done ...@@ -97,25 +97,12 @@ done
unset config_file unset config_file
# Load the theme # Load the theme
if [[ "$ZSH_THEME" == "random" ]]; then if [ ! "$ZSH_THEME" = "" ]; then
if [[ "${(t)ZSH_THEME_RANDOM_CANDIDATES}" = "array" ]] && [[ "${#ZSH_THEME_RANDOM_CANDIDATES[@]}" -gt 0 ]]; then if [ -f "$ZSH_CUSTOM/$ZSH_THEME.zsh-theme" ]; then
themes=($ZSH/themes/${^ZSH_THEME_RANDOM_CANDIDATES}.zsh-theme) source "$ZSH_CUSTOM/$ZSH_THEME.zsh-theme"
elif [ -f "$ZSH_CUSTOM/themes/$ZSH_THEME.zsh-theme" ]; then
source "$ZSH_CUSTOM/themes/$ZSH_THEME.zsh-theme"
else else
themes=($ZSH/themes/*zsh-theme) source "$ZSH/themes/$ZSH_THEME.zsh-theme"
fi
N=${#themes[@]}
((N=(RANDOM%N)+1))
RANDOM_THEME=${themes[$N]}
source "$RANDOM_THEME"
echo "[oh-my-zsh] Random theme '$RANDOM_THEME' loaded..."
else
if [ ! "$ZSH_THEME" = "" ]; then
if [ -f "$ZSH_CUSTOM/$ZSH_THEME.zsh-theme" ]; then
source "$ZSH_CUSTOM/$ZSH_THEME.zsh-theme"
elif [ -f "$ZSH_CUSTOM/themes/$ZSH_THEME.zsh-theme" ]; then
source "$ZSH_CUSTOM/themes/$ZSH_THEME.zsh-theme"
else
source "$ZSH/themes/$ZSH_THEME.zsh-theme"
fi
fi fi
fi fi
function theme function theme
{ {
if [ -z "$1" ] || [ "$1" = "random" ]; then if [ -z "$1" ]; then
themes=($ZSH/themes/*zsh-theme) 1="random"
N=${#themes[@]} fi
((N=(RANDOM%N)+1))
RANDOM_THEME=${themes[$N]} if [ -f "$ZSH_CUSTOM/$1.zsh-theme" ]
source "$RANDOM_THEME" then
echo "[oh-my-zsh] Random theme '$RANDOM_THEME' loaded..." source "$ZSH_CUSTOM/$1.zsh-theme"
elif [ -f "$ZSH_CUSTOM/themes/$1.zsh-theme" ]
then
source "$ZSH_CUSTOM/themes/$1.zsh-theme"
else else
if [ -f "$ZSH_CUSTOM/themes/$1.zsh-theme" ] source "$ZSH/themes/$1.zsh-theme"
then
source "$ZSH_CUSTOM/themes/$1.zsh-theme"
else
source "$ZSH/themes/$1.zsh-theme"
fi
fi fi
} }
......
if [[ "${(t)ZSH_THEME_RANDOM_CANDIDATES}" = "array" ]] && [[ "${#ZSH_THEME_RANDOM_CANDIDATES[@]}" -gt 0 ]]; then
themes=($ZSH/themes/${^ZSH_THEME_RANDOM_CANDIDATES}.zsh-theme)
else
themes=($ZSH/themes/*zsh-theme)
fi
N=${#themes[@]}
((N=(RANDOM%N)+1))
RANDOM_THEME=${themes[$N]}
source "$RANDOM_THEME"
echo "[oh-my-zsh] Random theme '$RANDOM_THEME' loaded..."
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment