|
|
- PS1=
- RPROMPT=
- ZSH_THEME_GIT_PROMPT_PREFIX=""
- ZSH_THEME_GIT_PROMPT_SUFFIX=""
- ZSH_THEME_GIT_PROMPT_SEPARATOR=" "
- ZSH_THEME_DEBLAN_USE_GIT=${ZSH_THEME_DEBLAN_USE_GIT:-1}
-
- function deblan_precmd() {
- local exit_code=$?
- local datetime="%T"
- local current_directory="%~"
- local final_char="%%"
- local is_privilegied=${(%):-%(\!.1.0)}
- local prompt_width=
- local prompt_content=
- local term_width=
- local rprompt_content=
-
- PS1=
- RPROMPT=
-
- prompt_content="$(deblan_last_status)"
- prompt_content="$prompt_content %{$fg_bold[cyan]%}${datetime}"
-
- if [ $is_privilegied -eq 1 ]; then
- prompt_content="$prompt_content %{$fg_bold[red]%}%n@%m"
- final_char="%{$fg_bold[red]%}#"
- else
- prompt_content="$prompt_content %{$fg_bold[white]%}%n@%m"
- fi
-
- prompt_content="$prompt_content %{$fg_bold[white]%}$current_directory"
- prompt_width="${#${(%):-$prompt_content}}"
- term_width=$(tput cols)
-
- if [[ "$prompt_width*1.3" -gt $term_width ]]; then
- prompt_content="$prompt_content
- "
- else
- prompt_content="$prompt_content "
- fi
-
- prompt_content="$prompt_content%{$fg_bold[yellow]%}$final_char"
- prompt_content="$prompt_content %{$reset_color%}"
-
- if [ $ZSH_THEME_DEBLAN_USE_GIT -eq 1 ]; then
- if (command -v git_super_status >/dev/null); then
- rprompt_content='%{$fg[$NCOLOR]%} $(git_super_status)%{$reset_color%}'
- fi
- fi
-
- PS1="$prompt_content"
- RPROMPT="$rprompt_content"
- }
-
- function deblan_last_status() {
- local value=
-
- if [ $exit_code -eq 0 ]; then
- value="%{$fg_bold[green]%}●"
- elif [ $exit_code -eq 1 ]; then
- value="%{$fg_bold[red]%}●"
- elif [ $exit_code -eq 130 ]; then
- value="%{$fg_bold[grey]%}●"
- else
- value="%{$fg_bold[yellow]%}● [$exit_code]"
- fi
-
- echo -n "$value"
- }
-
- setopt prompt_subst
- autoload -U add-zsh-hook
- add-zsh-hook precmd deblan_precmd
|