d19e01b14086319abae80e7624a8192025e88572

Author
Robby Russell <robby@planetargon.com>
Committer
Robby Russell <robby@planetargon.com>
Date

Message

Merge pull request #1191 from r-darwish/themes-plugin

Themes plugin

Diff

 1diff --git a/plugins/themes/_theme b/plugins/themes/_theme
 2new file mode 100644
 3index 0000000000000000000000000000000000000000..8214ddb0dd14f3e996da7f678140a1c913e45430
 4--- /dev/null
 5+++ b/plugins/themes/_theme
 6@@ -0,0 +1,3 @@
 7+#compdef theme
 8+
 9+_arguments "1: :($(lstheme | tr "\n" " "))"
10diff --git a/plugins/themes/themes.plugin.zsh b/plugins/themes/themes.plugin.zsh
11new file mode 100644
12index 0000000000000000000000000000000000000000..8bab257eaaf91c5bc741fffe9aeffb53e702d874
13--- /dev/null
14+++ b/plugins/themes/themes.plugin.zsh
15@@ -0,0 +1,24 @@
16+function theme
17+{
18+    if [ "$1" = "random" ]; then
19+	themes=($ZSH/themes/*zsh-theme)
20+	N=${#themes[@]}
21+	((N=(RANDOM%N)+1))
22+	RANDOM_THEME=${themes[$N]}
23+	source "$RANDOM_THEME"
24+	echo "[oh-my-zsh] Random theme '$RANDOM_THEME' loaded..."
25+    else
26+	if [ -f "$ZSH_CUSTOM/$1.zsh-theme" ]
27+	then
28+	    source "$ZSH_CUSTOM/$1.zsh-theme"
29+	else
30+	    source "$ZSH/themes/$1.zsh-theme"
31+	fi
32+    fi
33+}
34+
35+function lstheme
36+{
37+    cd $ZSH/themes
38+    ls *zsh-theme | sed 's,\.zsh-theme$,,'
39+}