Added the possibility of showing all preferred themes in .zsh_favlist file

This commit is contained in:
Romeo Morcia 2023-03-26 14:14:42 +02:00
parent c08b925d28
commit 28145c2239
No known key found for this signature in database
GPG key ID: 649580699A24D2AC

24
tools/theme_chooser.sh Executable file → Normal file
View file

@ -29,6 +29,25 @@ function theme_preview() {
print -P "$PROMPT $RPROMPT" 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() { function banner() {
echo echo
echo "╺━┓┏━┓╻ ╻ ╺┳╸╻ ╻┏━╸┏┳┓┏━╸ ┏━╸╻ ╻┏━┓┏━┓┏━┓┏━╸┏━┓" echo "╺━┓┏━┓╻ ╻ ╺┳╸╻ ╻┏━╸┏┳┓┏━╸ ┏━╸╻ ╻┏━┓┏━┓┏━┓┏━╸┏━┓"
@ -43,6 +62,7 @@ function usage() {
echo "Options" echo "Options"
echo " -l List available themes" echo " -l List available themes"
echo " -s Show all themes" echo " -s Show all themes"
echo " -f Show favourite themes"
echo " -h Get this help message" echo " -h Get this help message"
exit 1 exit 1
} }
@ -77,11 +97,12 @@ function theme_chooser() {
done done
} }
while getopts ":lhs" Option while getopts ":lhsf" Option
do do
case $Option in case $Option in
l ) list_themes ;; l ) list_themes ;;
s ) theme_chooser 0 ;; s ) theme_chooser 0 ;;
f ) fav_theme_preview ;;
h ) usage ;; h ) usage ;;
* ) usage ;; # Default. * ) usage ;; # Default.
esac esac
@ -96,3 +117,4 @@ if [[ -z $Option ]]; then
theme_preview $1".zsh-theme" theme_preview $1".zsh-theme"
fi fi
fi fi