]> arthur.barton.de Git - ax-zsh.git/blobdiff - core/50_prompt/50_prompt.zshrc
12_locale: Automatically set LANGUAGE when possible & useful
[ax-zsh.git] / core / 50_prompt / 50_prompt.zshrc
index 1d327046f09c167034dce2f6e1ceb6f48d3555b3..bda0216e7aea890bc399d3fede694d721b5e5860 100644 (file)
@@ -4,10 +4,13 @@
 # Logname ("user name")
 
 ZSH_THEME_LOGNAME_PROMPT_PREFIX_SPACING=""
-(( $UID == 0 )) \
-       && ZSH_THEME_LOGNAME_PROMPT_PREFIX="%{$fg_no_bold[red]%}" \
-       || ZSH_THEME_LOGNAME_PROMPT_PREFIX=""
-ZSH_THEME_LOGNAME_PROMPT_SUFFIX="%{$reset_color%}"
+if (( $UID == 0 )); then
+       ZSH_THEME_LOGNAME_PROMPT_PREFIX="%{$fg_no_bold[red]%}" \
+       ZSH_THEME_LOGNAME_PROMPT_SUFFIX="%{$reset_color%}"
+else
+       ZSH_THEME_LOGNAME_PROMPT_PREFIX=""
+       ZSH_THEME_LOGNAME_PROMPT_SUFFIX=""
+fi
 ZSH_THEME_LOGNAME_PROMPT_SUFFIX_SPACING="@"
 
 function ax_logname_prompt_root() {
@@ -24,14 +27,14 @@ function ax_logname_prompt_yn() {
        done
 }
 
-ax_logname_prompt_functions=()
+ax_logname_prompt_functions=(ax_logname_prompt_root)
 
 # Hostname
 
 ZSH_THEME_HOSTNAME_PROMPT_PREFIX_SPACING=""
 ZSH_THEME_HOSTNAME_PROMPT_PREFIX=""
-ZSH_THEME_HOSTNAME_PROMPT_SUFFIX="%{$reset_color%}:"
-ZSH_THEME_HOSTNAME_PROMPT_SUFFIX_SPACING=""
+ZSH_THEME_HOSTNAME_PROMPT_SUFFIX=""
+ZSH_THEME_HOSTNAME_PROMPT_SUFFIX_SPACING=":"
 
 function ax_hostname_prompt_root() {
        (( $UID == 0 )) || return 1
@@ -51,15 +54,27 @@ ax_hostname_prompt_functions=()
 
 # VCS
 
+if axzsh_is_utf_terminal; then
+       ZSH_THEME_BULLET_VCS_CLEAN="✔"
+       ZSH_THEME_BULLET_VCS_DIRTY="✘"
+       ZSH_THEME_BULLET_VCS_AHEAD="→"
+       ZSH_THEME_BULLET_VCS_BEHIND="←"
+else
+       ZSH_THEME_BULLET_VCS_CLEAN="+"
+       ZSH_THEME_BULLET_VCS_DIRTY="X"
+       ZSH_THEME_BULLET_VCS_AHEAD=">"
+       ZSH_THEME_BULLET_VCS_BEHIND="<"
+fi
+
 ZSH_THEME_VCS_PROMPT_PREFIX_SPACING="("
 ZSH_THEME_VCS_PROMPT_PREFIX="%{$fg_no_bold[yellow]%}"
 ZSH_THEME_VCS_PROMPT_SUFFIX="%{$reset_color%}"
 ZSH_THEME_VCS_PROMPT_SUFFIX_SPACING=")"
 
-ZSH_THEME_VCS_PROMPT_CLEAN="%{$fg_no_bold[green]%}✔"
-ZSH_THEME_VCS_PROMPT_DIRTY="%{$fg_no_bold[red]%}✘"
-ZSH_THEME_VCS_PROMPT_AHEAD="%{$fg_no_bold[cyan]%}"
-ZSH_THEME_VCS_PROMPT_BEHIND="%{$fg_no_bold[blue]%}"
+ZSH_THEME_VCS_PROMPT_CLEAN=" %{$fg_no_bold[green]%}${ZSH_THEME_BULLET_VCS_CLEAN}"
+ZSH_THEME_VCS_PROMPT_DIRTY=" %{$fg_no_bold[red]%}${ZSH_THEME_BULLET_VCS_DIRTY}"
+ZSH_THEME_VCS_PROMPT_AHEAD="%{$fg_no_bold[cyan]%}${ZSH_THEME_BULLET_VCS_AHEAD}"
+ZSH_THEME_VCS_PROMPT_BEHIND="%{$fg_no_bold[blue]%}${ZSH_THEME_BULLET_VCS_BEHIND}"
 
 function ax_vcs_prompt() {
        local func
@@ -73,9 +88,25 @@ function ax_vcs_prompt() {
 
 ax_vcs_prompt_functions=()
 
+# Prompt
+
+ZSH_THEME_PROMPT="$"
+ZSH_THEME_PROMPT_ROOT="#"
+
+ZSH_THEME_PROMPT_PREFIX_SPACING=""
+ZSH_THEME_PROMPT_PREFIX=""
+ZSH_THEME_PROMPT_ROOT_PREFIX=""
+ZSH_THEME_PROMPT_SUFFIX=""
+ZSH_THEME_PROMPT_SUFFIX_SPACING=""
+
+function ax_prompt() {
+       local p
+       (( $UID == 0 )) \
+               && p="${ZSH_THEME_PROMPT_ROOT_PREFIX}${ZSH_THEME_PROMPT_ROOT}" \
+               || p="${ZSH_THEME_PROMPT_PREFIX}${ZSH_THEME_PROMPT}"
+       echo "${ZSH_THEME_PROMPT_PREFIX_SPACING}${p}${ZSH_THEME_PROMPT_SUFFIX}${ZSH_THEME_PROMPT_SUFFIX_SPACING}"
+}
+
 # Options and defaults
 
 setopt PROMPT_SUBST
-
-export PS1 PS2 PS3 PS4
-export RPS1 RPS2