diff --git a/tools/theme_chooser.sh b/tools/theme_chooser.sh old mode 100755 new mode 100644 index 3883f1d37..7d58c5b4c --- a/tools/theme_chooser.sh +++ b/tools/theme_chooser.sh @@ -29,6 +29,25 @@ function theme_preview() { print -P "$PROMPT $RPROMPT" } +function fav_theme_preview() { + if [[ -s $FAVLIST ]]; then + for THEME_NAME in $(cat $FAVLIST); do + THEME="$THEME_NAME.zsh-theme" + print "$fg[blue]${(l.((${COLUMNS}-${#THEME_NAME}-5))..─.)}$reset_color $THEME_NAME $fg[blue]───$reset_color" + source "$THEMES_DIR/$THEME" + cols=$(tput cols) + (exit 1) + print -P "$PROMPT $RPROMPT" + done + else + if ! noyes "No ($FAVLIST) in the system. Do you want to preview all the available themes?"; then + theme_chooser 0 + else + echo "Okay, exiting." + fi + fi +} + function banner() { echo echo "╺━┓┏━┓╻ ╻ ╺┳╸╻ ╻┏━╸┏┳┓┏━╸ ┏━╸╻ ╻┏━┓┏━┓┏━┓┏━╸┏━┓" @@ -43,6 +62,7 @@ function usage() { echo "Options" echo " -l List available themes" echo " -s Show all themes" + echo " -f Show favourite themes" echo " -h Get this help message" exit 1 } @@ -77,11 +97,12 @@ function theme_chooser() { done } -while getopts ":lhs" Option +while getopts ":lhsf" Option do case $Option in l ) list_themes ;; s ) theme_chooser 0 ;; + f ) fav_theme_preview ;; h ) usage ;; * ) usage ;; # Default. esac @@ -96,3 +117,4 @@ if [[ -z $Option ]]; then theme_preview $1".zsh-theme" fi fi +