summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--oh-my-zsh.sh25
-rw-r--r--plugins/themes/themes.plugin.zsh24
-rw-r--r--themes/random.zsh-theme10
3 files changed, 27 insertions, 32 deletions
diff --git a/oh-my-zsh.sh b/oh-my-zsh.sh
index c3fae6efb..30259372c 100644
--- a/oh-my-zsh.sh
+++ b/oh-my-zsh.sh
@@ -97,25 +97,12 @@ done
unset config_file
# Load the theme
-if [[ "$ZSH_THEME" == "random" ]]; then
- if [[ "${(t)ZSH_THEME_RANDOM_CANDIDATES}" = "array" ]] && [[ "${#ZSH_THEME_RANDOM_CANDIDATES[@]}" -gt 0 ]]; then
- themes=($ZSH/themes/${^ZSH_THEME_RANDOM_CANDIDATES}.zsh-theme)
+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
- 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..."
-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
+ source "$ZSH/themes/$ZSH_THEME.zsh-theme"
fi
fi
diff --git a/plugins/themes/themes.plugin.zsh b/plugins/themes/themes.plugin.zsh
index 2cd0ee327..ac4ccc980 100644
--- a/plugins/themes/themes.plugin.zsh
+++ b/plugins/themes/themes.plugin.zsh
@@ -1,19 +1,17 @@
function theme
{
- if [ -z "$1" ] || [ "$1" = "random" ]; then
- themes=($ZSH/themes/*zsh-theme)
- N=${#themes[@]}
- ((N=(RANDOM%N)+1))
- RANDOM_THEME=${themes[$N]}
- source "$RANDOM_THEME"
- echo "[oh-my-zsh] Random theme '$RANDOM_THEME' loaded..."
+ if [ -z "$1" ]; then
+ 1="random"
+ fi
+
+ if [ -f "$ZSH_CUSTOM/$1.zsh-theme" ]
+ then
+ source "$ZSH_CUSTOM/$1.zsh-theme"
+ elif [ -f "$ZSH_CUSTOM/themes/$1.zsh-theme" ]
+ then
+ source "$ZSH_CUSTOM/themes/$1.zsh-theme"
else
- if [ -f "$ZSH_CUSTOM/themes/$1.zsh-theme" ]
- then
- source "$ZSH_CUSTOM/themes/$1.zsh-theme"
- else
- source "$ZSH/themes/$1.zsh-theme"
- fi
+ source "$ZSH/themes/$1.zsh-theme"
fi
}
diff --git a/themes/random.zsh-theme b/themes/random.zsh-theme
new file mode 100644
index 000000000..739567662
--- /dev/null
+++ b/themes/random.zsh-theme
@@ -0,0 +1,10 @@
+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..."