echo " enable-default-plugins"
echo " Enable all default plugins."
echo
+ echo " set-theme <name>|-"
+ echo " Set active theme to <name>, or to the default."
+ echo
echo " upgrade"
echo " Upgrade AX-ZSH installation (requires Git)."
echo
return $?
}
+function SetTheme {
+ local link_name="$AXZSH/active_theme"
+
+ if [ $# -ne 1 ]; then
+ echo "Usage: axzsh_set_theme <name|->"
+ return 1
+ fi
+
+ rm -f "$link_name" || return 1
+
+ if [ "$1" = "-" ]; then
+ echo "Theme settings have been reset."
+ return 0
+ fi
+
+ if [ -r "$1" ]; then
+ theme="$1"
+ elif [ -r "$AXZSH/custom_themes/$1.axzshtheme" ]; then
+ theme="$AXZSH/custom_themes/$1.axzshtheme"
+ elif [ -r "$AXZSH/themes/$1.axzshtheme" ]; then
+ theme="$AXZSH/themes/$1.axzshtheme"
+ else
+ echo "Theme \"$1\" not found!"
+ return 1
+ fi
+ ln -sv "$theme" "$link_name" || return 1
+ return $?
+}
+
function UpgradeAXZSH {
if [[ $+commands[git] -eq 0 ]]; then
ax_msg 2 "The git(1) command is not available!"
[[ $# -eq 0 ]] || Usage
EnableDefaultPlugins
;;
+ "set-theme")
+ [[ $# -eq 1 ]] || Usage
+ SetTheme "$1"
+ ;;
"upgrade")
[[ $# -eq 0 ]] || Usage
UpgradeAXZSH
# AX-ZSH: Alex' Modular ZSH Configuration
# prompt.zlogin: Setup default prompts
-# Default prompt
-PS1="$(ax_logname_prompt_yn)$(ax_hostname_prompt_yn)%B%2~%b "'$(ax_vcs_prompt)'"%{$fg_no_bold[green]%}%B\$%b%{$reset_color%} "
-
-# Prompt on right side
-RPS1="%(?..%{$fg_no_bold[red]%}%? ↵%{$reset_color%})"
+[[ -r "$AXZSH/active_theme" ]] \
+ && source "$AXZSH/active_theme" \
+ || source "$AXZSH/themes/ax.axzshtheme"
fi
mkdir -p "$AXZSH/custom_plugins" || abort
+mkdir -p "$AXZSH/custom_themes" || abort
ax_msg - "Linking ZSH startup files ..."
--- /dev/null
+# AX-ZSH: Alex' Modular ZSH Configuration
+# ax.axzshtheme: Default AX-ZSH Theme
+
+ax_logname_prompt_functions=($ax_logname_prompt_functions ax_logname_prompt_root)
+ax_hostname_prompt_functions=($ax_hostname_prompt_functions ax_hostname_prompt_root)
+
+# Default prompt
+PS1="$(ax_logname_prompt_yn)$(ax_hostname_prompt_yn)%B%2~%b "'$(ax_vcs_prompt)'"%{$fg_no_bold[green]%}%B\$%b%{$reset_color%} "
+
+# Prompt on right side
+RPS1="%(?..%{$fg_no_bold[red]%}%? ↵%{$reset_color%})"