# AX-ZSH: Alex' Modular ZSH Configuration
# ax.axzshtheme: Default AX-ZSH Theme
-ZSH_THEME_VCS_PROMPT_SUFFIX_SPACING=") "
+ZSH_THEME_VCS_PROMPT_PREFIX_SPACING="("
+
+ZSH_THEME_PROMPT_PREFIX_SPACING=" "
+ZSH_THEME_PROMPT_PREFIX="%{$fg_bold[green]%}"
+ZSH_THEME_PROMPT_ROOT_PREFIX="%{$fg_bold[red]%}"
+ZSH_THEME_PROMPT_SUFFIX="%b%{$reset_color%}"
+ZSH_THEME_PROMPT_SUFFIX_SPACING=" "
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%} "
+# The primary prompt string, printed before a command is read.
+PS1="$(ax_logname_prompt_yn)$(ax_hostname_prompt_yn)%B%2~%b"'$(ax_vcs_prompt)'"$(ax_prompt)"
+
+# Primary prompt on the right-hand side.
+axzsh_is_widechar_terminal \
+ && RPS1="%(?..%{$fg_no_bold[red]%}%? ↵%{$reset_color%})" \
+ || RPS1="%(?..%{$fg_no_bold[red]%}<%?>%{$reset_color%})"
-# Prompt on right side
-RPS1="%(?..%{$fg_no_bold[red]%}%? ↵%{$reset_color%})"
+# Default execution trace prompt.
+PS4="$fg_no_bold[yellow]->$reset_color "
+# This prompt is compatible with sh(1) and bash(1), too, so export it!
+export PS4