浏览代码

added theme chooser

fox 13 年之前
父节点
当前提交
fea4e54b10
共有 1 个文件被更改,包括 47 次插入0 次删除
  1. 47 0
      tools/theme_chooser.sh

+ 47 - 0
tools/theme_chooser.sh

@@ -0,0 +1,47 @@
+#!/bin/sh
+
+# Zsh Theme Chooser by fox (fox91 at anche dot no)
+# This program is free software. It comes without any warranty, to
+# the extent permitted by applicable law. You can redistribute it
+# and/or modify it under the terms of the Do What The Fuck You Want
+# To Public License, Version 2, as published by Sam Hocevar. See
+# http://sam.zoy.org/wtfpl/COPYING for more details.
+
+THEMES_DIR="$ZSH/themes"
+FAVLIST="~/.zsh_favlist"
+
+function noyes() {
+    read -p "$1 [y/N]" a
+    if [[ $a == "N" || $a == "n" || $a = "" ]]; then
+        return 0
+    fi
+    return 1
+}
+
+function theme_preview() {
+    THEME=$1
+    export ZDOTDIR="$(mktemp -d)"
+
+cat <<-EOF >"$ZDOTDIR/.zshrc"
+    source ~/.zshrc
+    source "$THEMES_DIR/$THEME"
+EOF
+    zsh
+    rm -rf "$ZDOTDIR"
+
+    echo
+    noyes "Do you want to add it to your favourite list?" && \
+          echo $THEME >> $FAVLIST
+    echo
+}
+
+echo
+echo "╺━┓┏━┓╻ ╻   ╺┳╸╻ ╻┏━╸┏┳┓┏━╸   ┏━╸╻ ╻┏━┓┏━┓┏━┓┏━╸┏━┓"
+echo "┏━┛┗━┓┣━┫    ┃ ┣━┫┣╸ ┃┃┃┣╸    ┃  ┣━┫┃ ┃┃ ┃┗━┓┣╸ ┣┳┛"
+echo "┗━╸┗━┛╹ ╹    ╹ ╹ ╹┗━╸╹ ╹┗━╸   ┗━╸╹ ╹┗━┛┗━┛┗━┛┗━╸╹┗╸"
+echo
+
+for i in $(ls $THEMES_DIR); do
+    echo "Now showing theme $i"
+    theme_preview $i
+done