Add theme
This commit is contained in:
parent
cdab5a44d1
commit
32067e6f39
74
zsh/themes/deblan/deblan.zsh-theme
Normal file
74
zsh/themes/deblan/deblan.zsh-theme
Normal file
|
@ -0,0 +1,74 @@
|
|||
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="${#${(%):-$PS1}}"
|
||||
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
|
Loading…
Reference in a new issue