Themes: Fold themes plugin in to core oh-my-zsh

Rewrite theme() and lstheme() to remove side effects, add debugging,
and fix `local` inside theme definitions.
Add `theme next` for stepping through theme list, and "blacklist" support.
Modify tools/theme_chooser to use new theme functions.
This commit is contained in:
Andrew Janke 2015-02-14 21:28:50 -05:00 committed by Andrew Janke
commit d24e84255b
8 changed files with 452 additions and 95 deletions

View file

@ -1,3 +0,0 @@
#compdef theme
_arguments "1: :($(lstheme | tr "\n" " "))"

View file

@ -1,24 +0,0 @@
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..."
else
if [ -f "$ZSH_CUSTOM/$1.zsh-theme" ]
then
source "$ZSH_CUSTOM/$1.zsh-theme"
else
source "$ZSH/themes/$1.zsh-theme"
fi
fi
}
function lstheme
{
cd $ZSH/themes
ls *zsh-theme | sed 's,\.zsh-theme$,,'
}