diff options
Diffstat (limited to 'plugins/themes')
| -rw-r--r-- | plugins/themes/_theme | 3 | ||||
| -rw-r--r-- | plugins/themes/themes.plugin.zsh | 24 | 
2 files changed, 27 insertions, 0 deletions
| diff --git a/plugins/themes/_theme b/plugins/themes/_theme new file mode 100644 index 000000000..8214ddb0d --- /dev/null +++ b/plugins/themes/_theme @@ -0,0 +1,3 @@ +#compdef theme + +_arguments "1: :($(lstheme | tr "\n" " "))" diff --git a/plugins/themes/themes.plugin.zsh b/plugins/themes/themes.plugin.zsh new file mode 100644 index 000000000..7519b0253 --- /dev/null +++ b/plugins/themes/themes.plugin.zsh @@ -0,0 +1,24 @@ +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$,,' +} | 
