From e0ee99a7b5f29ed853c4fe847b2c6b7cb2fa8886 Mon Sep 17 00:00:00 2001 From: Sen Zhang Date: Sun, 6 Dec 2015 11:22:31 +0800 Subject: [PATCH] modify Plugin:themes, better support for custom themes --- plugins/themes/themes.plugin.zsh | 41 ++++++++++++++++++++------------ 1 file changed, 26 insertions(+), 15 deletions(-) diff --git a/plugins/themes/themes.plugin.zsh b/plugins/themes/themes.plugin.zsh index 7519b0253..2698d7b4b 100644 --- a/plugins/themes/themes.plugin.zsh +++ b/plugins/themes/themes.plugin.zsh @@ -1,24 +1,35 @@ 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" ] || [ "$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..." + else + 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/$1.zsh-theme" ] - then - source "$ZSH_CUSTOM/$1.zsh-theme" - else - source "$ZSH/themes/$1.zsh-theme" - fi + source "$ZSH/themes/$1.zsh-theme" fi + fi } function lstheme { - cd $ZSH/themes - ls *zsh-theme | sed 's,\.zsh-theme$,,' + # default themes + ls $ZSH/themes | grep '.zsh-theme$' | sed 's,\.zsh-theme$,,' + + # custom themes + ls $ZSH_CUSTOM | grep '.zsh-theme$' | sed 's,\.zsh-theme$,,' + + if [ -d "$ZSH_CUSTOM/themes" ] + then + ls $ZSH_CUSTOM/themes | grep '.zsh-theme$' | sed 's,\.zsh-theme$,,' + fi }