modify Plugin:themes, better support for custom themes

This commit is contained in:
Sen Zhang 2015-12-05 16:57:05 +08:00
commit b4bca682db

View file

@ -1,24 +1,35 @@
function theme function theme
{ {
if [ -z "$1" ] || [ "$1" = "random" ]; then if [ -z "$1" ] || [ "$1" = "random" ]; then
themes=($ZSH/themes/*zsh-theme) themes=($ZSH/themes/*zsh-theme)
N=${#themes[@]} N=${#themes[@]}
((N=(RANDOM%N)+1)) ((N=(RANDOM%N)+1))
RANDOM_THEME=${themes[$N]} RANDOM_THEME=${themes[$N]}
source "$RANDOM_THEME" source "$RANDOM_THEME"
echo "[oh-my-zsh] Random theme '$RANDOM_THEME' loaded..." echo "[oh-my-zsh] Random theme '$RANDOM_THEME' loaded..."
else else
if [ -f "$ZSH_CUSTOM/$1.zsh-theme" ] if [ -f "$ZSH_CUSTOM/themes/$1.zsh-theme" ]
then then
source "$ZSH_CUSTOM/$1.zsh-theme" source "$ZSH_CUSTOM/themes/$1.zsh-theme"
else elif [ -f "$ZSH_CUSTOM/$1.zsh-theme" ]
source "$ZSH/themes/$1.zsh-theme" then
fi source "$ZSH_CUSTOM/$1.zsh-theme"
else
source "$ZSH/themes/$1.zsh-theme"
fi
fi fi
} }
function lstheme function lstheme
{ {
cd $ZSH/themes # default themes
ls *zsh-theme | sed 's,\.zsh-theme$,,' 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
} }